From 4b5c07915750aed151e3c034bf4a76abf580adcb Mon Sep 17 00:00:00 2001 From: Damien Harper Date: Fri, 9 Dec 2022 14:58:48 +0100 Subject: [PATCH] Reverted and adjusted middleware test --- .../DoctrineMiddlewareCompilerPassTest.php | 108 ++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 tests/DependencyInjection/Compiler/DoctrineMiddlewareCompilerPassTest.php diff --git a/tests/DependencyInjection/Compiler/DoctrineMiddlewareCompilerPassTest.php b/tests/DependencyInjection/Compiler/DoctrineMiddlewareCompilerPassTest.php new file mode 100644 index 00000000..df7a3a00 --- /dev/null +++ b/tests/DependencyInjection/Compiler/DoctrineMiddlewareCompilerPassTest.php @@ -0,0 +1,108 @@ +container->setParameter('kernel.cache_dir', sys_get_temp_dir()); + $this->container->setParameter('kernel.debug', false); + $this->container->setParameter('kernel.bundles', []); + $doctrineConfig = [ + 'dbal' => [ + 'default_connection' => 'default', + 'connections' => [ + 'default' => [], + ], + ], + 'orm' => [ + 'auto_mapping' => true, + ], + ]; + $this->setParameter('doctrine', $doctrineConfig); + + $DHConfig = [ + 'enabled' => true, + 'timezone' => 'UTC', + 'user_provider' => 'dh_auditor.user_provider', + 'security_provider' => 'dh_auditor.security_provider', + 'role_checker' => 'dh_auditor.role_checker', + 'providers' => [ + 'doctrine' => [ + 'table_prefix' => '', + 'table_suffix' => '_audit', + 'ignored_columns' => [ + 0 => 'createdAt', + 1 => 'updatedAt', + ], + 'entities' => [ + Author::class => [ + 'enabled' => true, + ], + Post::class => [ + 'enabled' => true, + ], + Comment::class => [ + 'enabled' => true, + ], + Tag::class => [ + 'enabled' => true, + ], + ], + 'storage_services' => [ + 0 => '@doctrine.orm.default_entity_manager', + ], + 'auditing_services' => [ + 0 => '@doctrine.orm.default_entity_manager', + ], + 'viewer' => true, + 'storage_mapper' => null, + ], + ], + ]; + $this->setParameter('dh_auditor.configuration', $DHConfig); + + $auditorService = new Definition(); + $this->setDefinition(Configuration::class, $auditorService); + $this->container->loadFromExtension('doctrine', $doctrineConfig); + $this->container->loadFromExtension('dh_auditor', $DHConfig); + $this->compile(); + + $this->assertContainerBuilderHasServiceDefinitionWithTag( + 'doctrine.dbal.default_connection.dh_middleware', + 'doctrine.middleware' + ); + } + + protected function registerCompilerPass(ContainerBuilder $container): void + { + $this->container->registerExtension(new DoctrineExtension()); + $this->container->registerExtension(new DHAuditorExtension()); + $container->addCompilerPass(new DoctrineProviderConfigurationCompilerPass()); + } +}