getPluginContainer( Plugin::create() ); $url_transformer = $container->get( UrlTransformer::class ); $metadata_transformer = $container->get( MetadataUrlTransformer::class ); self::assertInstanceOf( UrlTransformer::class, $url_transformer ); self::assertInstanceOf( MetadataUrlTransformer::class, $metadata_transformer ); self::assertSame( $url_transformer, $container->get( UrlTransformer::class ) ); self::assertSame( $metadata_transformer, $container->get( MetadataUrlTransformer::class ) ); } public function test_it_registers_file_transport_services(): void { $container = $this->getPluginContainer( Plugin::create() ); self::assertInstanceOf( FileTransportInterface::class, $container->get( FileTransportInterface::class ) ); self::assertInstanceOf( FileImportController::class, $container->get( FileImportController::class ) ); } private function getPluginContainer( Plugin $plugin ): Container { $reflection = new \ReflectionClass( $plugin ); $property = $reflection->getProperty( 'container' ); $property->setAccessible( true ); /** @var Container $container */ $container = $property->getValue( $plugin ); return $container; } }