/** * Asserts that the provided container is configured correctly. * * @param ContainerBuilder $container */ protected function assertValidConfiguration(ContainerBuilder $container) { $container->compile(); $errors = $this->validateContainer($container); $printer = new SimpleErrorListPrinter(); $this->assertCount(0, $errors, $printer->printErrorList($errors)); }
public function process(ContainerBuilder $container) { $serviceDefinitions = $container->getDefinitions(); $validatorFactory = new ServiceDefinitionValidatorFactory($this->configuration); $validator = $validatorFactory->create($container); $batchValidator = new BatchServiceDefinitionValidator($validator, new ValidationErrorFactory()); $errorList = $batchValidator->validate($serviceDefinitions); if (count($errorList) === 0) { return; } $errorListPrinter = new SimpleErrorListPrinter(); $message = $errorListPrinter->printErrorList($errorList); throw new InvalidServiceDefinitionsException($message); }
public function testPrintsErrorMessageInAList() { $serviceId1 = 'service_1'; $message1 = 'Message 1'; $exception1 = $this->createException($message1); $error1 = $this->createMockError($serviceId1, $exception1); $serviceId2 = 'service_2'; $message2 = 'Message 2'; $exception2 = $this->createException($message2); $error2 = $this->createMockError($serviceId2, $exception2); $list = new ValidationErrorList(); $list->add($error1); $list->add($error2); $expectedMessage = <<<EOT Service definition validation errors (2): - {$serviceId1}: {$message1} - {$serviceId2}: {$message2} EOT; $printer = new SimpleErrorListPrinter(); $this->assertSame($expectedMessage, $printer->printErrorList($list)); }