/** * @param string $file * @dataProvider viewConfigFileDataProvider */ public function testViewConfigFile($file) { $domConfig = new \Magento\Framework\Config\Dom(file_get_contents($file), $this->validationStateMock); $errors = []; $urnResolver = new \Magento\Framework\Config\Dom\UrnResolver(); $result = $domConfig->validate($urnResolver->getRealPath('urn:magento:framework:Config/etc/view.xsd'), $errors); $this->assertTrue($result, "Invalid XML-file: {$file}\n" . join("\n", $errors)); }
public function setUp() { if (!function_exists('libxml_set_external_entity_loader')) { $this->markTestSkipped('Skipped on HHVM. Will be fixed in MAGETWO-45033'); } $urnResolver = new \Magento\Framework\Config\Dom\UrnResolver(); $this->_xsdFile = $urnResolver->getRealPath('urn:magento:module:Magento_Cron:etc/crontab.xsd'); }
protected function setUp() { if (!function_exists('libxml_set_external_entity_loader')) { $this->markTestSkipped('Skipped on HHVM. Will be fixed in MAGETWO-45033'); } $urnResolver = new \Magento\Framework\Config\Dom\UrnResolver(); $this->_schemaFile = $urnResolver->getRealPath('urn:magento:module:Magento_Integration:etc/integration/config.xsd'); }
protected function setUp() { if (!function_exists('libxml_set_external_entity_loader')) { $this->markTestSkipped('Skipped on HHVM. Will be fixed in MAGETWO-45033'); } $urnResolver = new \Magento\Framework\Config\Dom\UrnResolver(); $this->_schemaFile = $urnResolver->getRealPath('urn:magento:framework:Api/etc/extension_attributes.xsd'); }
protected function setUp() { $urnResolver = new \Magento\Framework\Config\Dom\UrnResolver(); $urnResolverMock = $this->getMock('Magento\\Framework\\Config\\Dom\\UrnResolver', [], [], '', false); $urnResolverMock->expects($this->once())->method('getRealPath')->with('urn:magento:framework:View/PageLayout/etc/layouts.xsd')->willReturn($urnResolver->getRealPath('urn:magento:framework:View/PageLayout/etc/layouts.xsd')); $objectManagerHelper = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this); $this->config = $objectManagerHelper->getObject('Magento\\Framework\\View\\PageLayout\\Config', ['urnResolver' => $urnResolverMock, 'configFiles' => ['layouts_one.xml' => file_get_contents(__DIR__ . '/_files/layouts_one.xml'), 'layouts_two.xml' => file_get_contents(__DIR__ . '/_files/layouts_two.xml')]]); }
protected function setUp() { $this->validationStateMock = $this->getMock('\\Magento\\Framework\\Config\\ValidationStateInterface', [], [], '', false); $this->validationStateMock->method('isValidationRequired')->willReturn(true); $urnResolver = new \Magento\Framework\Config\Dom\UrnResolver(); $this->schemaFile = $urnResolver->getRealPath('urn:magento:framework:App/etc/routes.xsd'); $this->mergedSchemaFile = $urnResolver->getRealPath('urn:magento:framework:App/etc/routes_merged.xsd'); }
/** * Test that email template configuration file matches the format * * @param string $file * @dataProvider fileFormatDataProvider */ public function testFileFormat($file) { $urnResolver = new \Magento\Framework\Config\Dom\UrnResolver(); $schemaFile = $urnResolver->getRealPath('urn:magento:module:Magento_Email:etc/email_templates.xsd'); $dom = new \Magento\Framework\Config\Dom(file_get_contents($file)); $result = $dom->validate($schemaFile, $errors); $this->assertTrue($result, print_r($errors, true)); }
protected function setUp() { if (!function_exists('libxml_set_external_entity_loader')) { $this->markTestSkipped('Skipped on HHVM. Will be fixed in MAGETWO-45033'); } $urnResolver = new \Magento\Framework\Config\Dom\UrnResolver(); $this->_xsdSchema = $urnResolver->getRealPath('urn:magento:framework:App/etc/resources.xsd'); $this->_xsdValidator = new \Magento\Framework\TestFramework\Unit\Utility\XsdValidator(); }
/** * Test validation rules implemented by XSD schema for merged configs * * @param string $fixtureXml * @param array $expectedErrors * @dataProvider mergedXmlDataProvider */ public function testMergedXml($fixtureXml, array $expectedErrors) { if (!function_exists('libxml_set_external_entity_loader')) { $this->markTestSkipped('Skipped on HHVM. Will be fixed in MAGETWO-45033'); } $urnResolver = new \Magento\Framework\Config\Dom\UrnResolver(); $schemaFile = $urnResolver->getRealPath('urn:magento:module:Magento_Email:etc/email_templates.xsd'); $this->_testXmlAgainstXsd($fixtureXml, $schemaFile, $expectedErrors); }
public function testGetSchema() { $urnResolver = new \Magento\Framework\Config\Dom\UrnResolver(); /** @var \Magento\Framework\Config\Dom\UrnResolver $urnResolverMock */ $urnResolverMock = $this->getMock('Magento\\Framework\\Config\\Dom\\UrnResolver', [], [], '', false); $urnResolverMock->expects($this->once())->method('getRealPath')->with('urn:magento:framework:Acl/etc/acl.xsd')->willReturn($urnResolver->getRealPath('urn:magento:framework:Acl/etc/acl.xsd')); $schemaLocator = new \Magento\Framework\Acl\AclResource\Config\SchemaLocator($urnResolverMock); $this->assertEquals($urnResolver->getRealPath('urn:magento:framework:Acl/etc/acl.xsd'), $schemaLocator->getSchema()); }
/** * Test that email template configuration file matches the format * * @param string $file * @dataProvider fileFormatDataProvider */ public function testFileFormat($file) { $urnResolver = new \Magento\Framework\Config\Dom\UrnResolver(); $schemaFile = $urnResolver->getRealPath('urn:magento:module:Magento_Email:etc/email_templates.xsd'); $validationStateMock = $this->getMock('\\Magento\\Framework\\Config\\ValidationStateInterface', [], [], '', false); $validationStateMock->method('isValidationRequired')->willReturn(true); $dom = new \Magento\Framework\Config\Dom(file_get_contents($file), $validationStateMock); $result = $dom->validate($schemaFile, $errors); $this->assertTrue($result, print_r($errors, true)); }
/** * @param string $layoutUpdate * @param boolean $isSchemaValid * @return Validator */ protected function _createValidator($layoutUpdate, $isSchemaValid = true) { $domConfigFactory = $this->getMockBuilder('Magento\\Framework\\Config\\DomFactory')->disableOriginalConstructor()->getMock(); $urnResolver = new \Magento\Framework\Config\Dom\UrnResolver(); $params = ['xml' => '<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">' . trim($layoutUpdate) . '</layout>', 'schemaFile' => $urnResolver->getRealPath('urn:magento:framework:View/Layout/etc/page_layout.xsd')]; $exceptionMessage = 'validation exception'; $domConfigFactory->expects($this->once())->method('createDom')->with($this->equalTo($params))->will($isSchemaValid ? $this->returnSelf() : $this->throwException(new \Magento\Framework\Config\Dom\ValidationException($exceptionMessage))); $urnResolver = $this->_objectHelper->getObject('Magento\\Framework\\Config\\Dom\\UrnResolver'); $model = $this->_objectHelper->getObject('Magento\\Framework\\View\\Model\\Layout\\Update\\Validator', ['domConfigFactory' => $domConfigFactory, 'urnResolver' => $urnResolver]); return $model; }
/** * @param string $file * @dataProvider viewConfigFileDataProvider */ public function testViewConfigFile($file) { $validationStateMock = $this->getMock('\\Magento\\Framework\\Config\\ValidationStateInterface', [], [], '', false); $validationStateMock->method('isValidationRequired')->willReturn(true); $domConfig = new \Magento\Framework\Config\Dom($file, $validationStateMock); $urnResolver = new \Magento\Framework\Config\Dom\UrnResolver(); $result = $domConfig->validate($urnResolver->getRealPath('urn:magento:framework:Config/etc/view.xsd'), $errors); $message = "Invalid XML-file: {$file}\n"; foreach ($errors as $error) { $message .= "{$error->message} Line: {$error->line}\n"; } $this->assertTrue($result, $message); }
public function testSchema() { $invoker = new \Magento\Framework\App\Utility\AggregateInvoker($this); $invoker(function ($configFile) { $dom = new \DOMDocument(); $dom->loadXML(file_get_contents($configFile)); $urnResolver = new \Magento\Framework\Config\Dom\UrnResolver(); $schema = $urnResolver->getRealPath('urn:magento:module:Magento_Config:etc/system_file.xsd'); $errors = \Magento\Framework\Config\Dom::validateDomDocument($dom, $schema); if ($errors) { $this->fail('XML-file has validation errors:' . PHP_EOL . implode(PHP_EOL . PHP_EOL, $errors)); } }, \Magento\Framework\App\Utility\Files::init()->getConfigFiles('adminhtml/system.xml', [])); }
protected function setUp() { $urnResolver = new \Magento\Framework\Config\Dom\UrnResolver(); $urnResolverMock = $this->getMock('Magento\\Framework\\Config\\Dom\\UrnResolver', [], [], '', false); $urnResolverMock->expects($this->once())->method('getRealPath')->with('urn:magento:framework:View/PageLayout/etc/layouts.xsd')->willReturn($urnResolver->getRealPath('urn:magento:framework:View/PageLayout/etc/layouts.xsd')); $validationStateMock = $this->getMock('\\Magento\\Framework\\Config\\ValidationStateInterface', [], [], '', false); $validationStateMock->method('isValidationRequired')->willReturn(true); $domFactoryMock = $this->getMock('Magento\\Framework\\Config\\DomFactory', [], [], '', false); $domFactoryMock->expects($this->once())->method('createDom')->willReturnCallback(function ($arguments) use($validationStateMock) { // @codingStandardsIgnoreStart return new \Magento\Framework\Config\Dom('<?xml version="1.0" encoding="UTF-8"?>' . '<page_layouts xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"></page_layouts>', $validationStateMock, ['/page_layouts/layout' => 'id'], null, $arguments['schemaFile']); // @codingStandardsIgnoreEnd }); $objectManagerHelper = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this); $this->config = $objectManagerHelper->getObject('Magento\\Framework\\View\\PageLayout\\Config', ['urnResolver' => $urnResolverMock, 'configFiles' => ['layouts_one.xml' => file_get_contents(__DIR__ . '/_files/layouts_one.xml'), 'layouts_two.xml' => file_get_contents(__DIR__ . '/_files/layouts_two.xml')], 'domFactory' => $domFactoryMock]); }
protected function setUp() { $urnResolver = new \Magento\Framework\Config\Dom\UrnResolver(); $this->_schemaFile = $urnResolver->getRealPath('urn:magento:module:Magento_Catalog:etc/catalog_attributes.xsd'); }
protected function setUp() { $urnResolver = new \Magento\Framework\Config\Dom\UrnResolver(); $this->_xsdSchema = $urnResolver->getRealPath('urn:magento:module:Magento_Catalog:etc/product_types_merged.xsd'); $this->_xsdValidator = new \Magento\Framework\TestFramework\Unit\Utility\XsdValidator(); }
protected function setUp() { $urnResolver = new \Magento\Framework\Config\Dom\UrnResolver(); $schemaFile = $urnResolver->getRealPath('urn:magento:module:Magento_Backend:etc/menu.xsd'); $this->_model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create('Magento\\Backend\\Model\\Menu\\Config\\Reader', ['perFileSchema' => $schemaFile, 'isValidated' => true]); }
protected function setUp() { $urnResolver = new \Magento\Framework\Config\Dom\UrnResolver(); $this->_schemaFile = $urnResolver->getRealPath('urn:magento:framework:Api/etc/extension_attributes.xsd'); }
public static function setUpBeforeClass() { $urnResolver = new \Magento\Framework\Config\Dom\UrnResolver(); self::$_schemaPath = $urnResolver->getRealPath('urn:magento:module:Magento_Sales:etc/pdf.xsd'); self::$_schemaFilePath = $urnResolver->getRealPath('urn:magento:module:Magento_Sales:etc/pdf_file.xsd'); }
/** * Returns the name of the XSD file to be used to validate the XML * * @return string */ protected function _getXsd() { $urnResolver = new \Magento\Framework\Config\Dom\UrnResolver(); return $urnResolver->getRealPath('urn:magento:framework:App/Language/package.xsd'); }
protected function setUp() { $urnResolver = new \Magento\Framework\Config\Dom\UrnResolver(); $this->_schemaFile = $urnResolver->getRealPath('urn:magento:module:Magento_Customer:etc/address_formats.xsd'); }
protected function setUp() { $urnResolver = new \Magento\Framework\Config\Dom\UrnResolver(); $this->_xsdSchema = $urnResolver->getRealPath('urn:magento:framework:Event/etc/events.xsd'); $this->_xsdValidator = new \Magento\Framework\TestFramework\Unit\Utility\XsdValidator(); }
protected function setUp() { $urnResolver = new \Magento\Framework\Config\Dom\UrnResolver(); $this->_schemaFile = $urnResolver->getRealPath('urn:magento:module:Magento_Integration:etc/integration/api.xsd'); }
protected function setUp() { $urnResolver = new \Magento\Framework\Config\Dom\UrnResolver(); $this->_schemeFile = $urnResolver->getRealPath('urn:magento:framework:Acl/etc/acl.xsd'); }
protected function setUp() { $urnResolver = new \Magento\Framework\Config\Dom\UrnResolver(); $this->schemaFile = $urnResolver->getRealPath('urn:magento:framework:Indexer/etc/indexer.xsd'); }
/** * Test validation rules implemented by XSD schema for merged configs * * @param string $fixtureXml * @param array $expectedErrors * @dataProvider mergedXmlDataProvider */ public function testMergedXml($fixtureXml, array $expectedErrors) { $urnResolver = new \Magento\Framework\Config\Dom\UrnResolver(); $schemaFile = $urnResolver->getRealPath('urn:magento:module:Magento_Email:etc/email_templates.xsd'); $this->_testXmlAgainstXsd($fixtureXml, $schemaFile, $expectedErrors); }
/** * Returns the name of the XSD file to be used to validate the XML * * @return string */ protected function _getXsd() { $urnResolver = new \Magento\Framework\Config\Dom\UrnResolver(); return $urnResolver->getRealPath('urn:magento:module:Magento_Persistent:etc/persistent.xsd'); }
protected function setUp() { $urnResolver = new \Magento\Framework\Config\Dom\UrnResolver(); $this->schemaFile = $urnResolver->getRealPath('urn:magento:framework:App/etc/routes.xsd'); $this->mergedSchemaFile = $urnResolver->getRealPath('urn:magento:framework:App/etc/routes_merged.xsd'); }
protected function setUp() { $urnResolver = new \Magento\Framework\Config\Dom\UrnResolver(); $this->_xsdSchema = $urnResolver->getRealPath('urn:magento:module:Magento_Backend:etc/menu.xsd'); $this->_xsdValidator = new \Magento\Framework\TestFramework\Unit\Utility\XsdValidator(); }