diff --git a/.circleci/config.yml b/.circleci/config.yml
index e2b41b4698d..ce6cf82559c 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -13,6 +13,10 @@ reusable-steps:
run:
name: Disable Xdebug PHP extension
command: sudo rm /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
+ - &install-doctrine-mongodb-odm
+ run:
+ name: Install Doctrine MongoDB ODM
+ command: composer require --prefer-dist --no-progress --no-suggest --no-update --ansi doctrine/mongodb-odm:^2.0.0@beta doctrine/mongodb-odm-bundle:^4.0.0@beta
- &install-php-extensions
run:
name: Install PHP extensions
@@ -134,6 +138,7 @@ jobs:
- *disable-php-memory-limit
- *install-php-extensions
- *update-composer
+ - *install-doctrine-mongodb-odm
- *update-project-dependencies
- *save-composer-cache-by-revision
- *save-composer-cache-by-branch
diff --git a/.travis.yml b/.travis.yml
index a498f03d141..0c1bb25b372 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -8,10 +8,6 @@ cache:
jobs:
include:
- php: '7.1'
- env: NO_UNIT_TESTS=true
- before_install:
- - composer remove --dev ext-mongodb doctrine/mongodb-odm doctrine/mongodb-odm-bundle
- - sed -i '33,39d' tests/Fixtures/app/config/config_common.yml
- php: '7.2'
- php: '7.3'
- php: '7.3'
@@ -46,12 +42,15 @@ before_install:
- if [[ $APP_ENV = 'elasticsearch' ]]; then
curl -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.0.deb && sudo dpkg -i --force-confnew elasticsearch-6.5.0.deb && sudo service elasticsearch restart;
fi
- - phpenv config-rm xdebug.ini || echo "xdebug not available"
- echo "memory_limit=-1" >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini
- - echo "extension=mongodb.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
+ - if [[ $APP_ENV = 'mongodb' ]]; then
+ echo "extension=mongodb.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/mongodb.ini;
+ fi
+ - phpenv config-rm xdebug.ini || echo "xdebug not available"
- export PATH="$PATH:$HOME/.composer/vendor/bin"
install:
+ - if [[ $APP_ENV = 'mongodb' ]]; then composer require --prefer-dist --no-progress --no-suggest --no-update --ansi doctrine/mongodb-odm:^2.0.0@beta doctrine/mongodb-odm-bundle:^4.0.0@beta; fi
- if [[ $deps = 'low' ]]; then
composer update --prefer-dist --no-progress --no-suggest --prefer-stable --prefer-lowest --ansi;
else
@@ -60,11 +59,10 @@ install:
script:
- tests/Fixtures/app/console cache:clear
- - if [[ $NO_UNIT_TESTS != true ]]; then
- vendor/bin/phpunit;
- fi
- if [[ $APP_ENV = 'mongodb' ]]; then
vendor/bin/phpunit -c phpunit.mongo.xml;
+ else
+ vendor/bin/phpunit;
fi
- tests/Fixtures/app/console cache:clear
- if [[ $APP_ENV = 'postgres' ]]; then
diff --git a/composer.json b/composer.json
index 228872a2b1d..fb69c1d3e1c 100644
--- a/composer.json
+++ b/composer.json
@@ -35,8 +35,6 @@
"doctrine/annotations": "^1.2",
"doctrine/doctrine-bundle": "^1.8",
"doctrine/doctrine-cache-bundle": "^1.3.5",
- "doctrine/mongodb-odm": "^2.0.0@beta",
- "doctrine/mongodb-odm-bundle": "^4.0.0@beta",
"doctrine/orm": "^2.6.3",
"elasticsearch/elasticsearch": "^6.0",
"friendsofsymfony/user-bundle": "^2.2@dev",
diff --git a/phpunit.mongo.xml b/phpunit.mongo.xml
index 23112a197ce..ee2ce7fb67b 100644
--- a/phpunit.mongo.xml
+++ b/phpunit.mongo.xml
@@ -13,7 +13,7 @@
-
+
diff --git a/phpunit.xml.dist b/phpunit.xml.dist
index 10f0d89101d..aa9fd425f41 100644
--- a/phpunit.xml.dist
+++ b/phpunit.xml.dist
@@ -37,4 +37,10 @@
+
+
+
+ mongodb
+
+
diff --git a/tests/Bridge/Doctrine/Common/Util/IdentifierManagerTraitTest.php b/tests/Bridge/Doctrine/Common/Util/IdentifierManagerTraitTest.php
index 88c65109d17..ce0f1f11e83 100644
--- a/tests/Bridge/Doctrine/Common/Util/IdentifierManagerTraitTest.php
+++ b/tests/Bridge/Doctrine/Common/Util/IdentifierManagerTraitTest.php
@@ -70,6 +70,7 @@ public function testSingleIdentifier()
/**
* @group legacy
+ * @group mongodb
*/
public function testSingleDocumentIdentifier()
{
diff --git a/tests/Bridge/Doctrine/MongoDbOdm/CollectionDataProviderTest.php b/tests/Bridge/Doctrine/MongoDbOdm/CollectionDataProviderTest.php
index d77c2770a78..001e4d997a8 100644
--- a/tests/Bridge/Doctrine/MongoDbOdm/CollectionDataProviderTest.php
+++ b/tests/Bridge/Doctrine/MongoDbOdm/CollectionDataProviderTest.php
@@ -27,6 +27,8 @@
use PHPUnit\Framework\TestCase;
/**
+ * @group mongodb
+ *
* @author Alan Poulain
*/
class CollectionDataProviderTest extends TestCase
diff --git a/tests/Bridge/Doctrine/MongoDbOdm/Extension/FilterExtensionTest.php b/tests/Bridge/Doctrine/MongoDbOdm/Extension/FilterExtensionTest.php
index 1a8ba45c61a..f0f3e8f841c 100644
--- a/tests/Bridge/Doctrine/MongoDbOdm/Extension/FilterExtensionTest.php
+++ b/tests/Bridge/Doctrine/MongoDbOdm/Extension/FilterExtensionTest.php
@@ -24,6 +24,8 @@
use Psr\Container\ContainerInterface;
/**
+ * @group mongodb
+ *
* @author Alan Poulain
*/
class FilterExtensionTest extends TestCase
diff --git a/tests/Bridge/Doctrine/MongoDbOdm/Extension/OrderExtensionTest.php b/tests/Bridge/Doctrine/MongoDbOdm/Extension/OrderExtensionTest.php
index 83eb238f046..1bb035e7278 100644
--- a/tests/Bridge/Doctrine/MongoDbOdm/Extension/OrderExtensionTest.php
+++ b/tests/Bridge/Doctrine/MongoDbOdm/Extension/OrderExtensionTest.php
@@ -25,6 +25,8 @@
use PHPUnit\Framework\TestCase;
/**
+ * @group mongodb
+ *
* @author Alan Poulain
*/
class OrderExtensionTest extends TestCase
diff --git a/tests/Bridge/Doctrine/MongoDbOdm/Extension/PaginationExtensionTest.php b/tests/Bridge/Doctrine/MongoDbOdm/Extension/PaginationExtensionTest.php
index 68f23f90d88..00fd4304674 100644
--- a/tests/Bridge/Doctrine/MongoDbOdm/Extension/PaginationExtensionTest.php
+++ b/tests/Bridge/Doctrine/MongoDbOdm/Extension/PaginationExtensionTest.php
@@ -34,6 +34,8 @@
use PHPUnit\Framework\TestCase;
/**
+ * @group mongodb
+ *
* @author Alan Poulain
*/
class PaginationExtensionTest extends TestCase
diff --git a/tests/Bridge/Doctrine/MongoDbOdm/Filter/BooleanFilterTest.php b/tests/Bridge/Doctrine/MongoDbOdm/Filter/BooleanFilterTest.php
index 21c704223fc..5cf86939f60 100644
--- a/tests/Bridge/Doctrine/MongoDbOdm/Filter/BooleanFilterTest.php
+++ b/tests/Bridge/Doctrine/MongoDbOdm/Filter/BooleanFilterTest.php
@@ -18,6 +18,8 @@
use ApiPlatform\Core\Tests\Bridge\Doctrine\Common\Filter\BooleanFilterTestTrait;
/**
+ * @group mongodb
+ *
* @author Alan Poulain
*/
class BooleanFilterTest extends DoctrineMongoDbOdmFilterTestCase
diff --git a/tests/Bridge/Doctrine/MongoDbOdm/Filter/DateFilterTest.php b/tests/Bridge/Doctrine/MongoDbOdm/Filter/DateFilterTest.php
index 62e785b779b..45105ea2458 100644
--- a/tests/Bridge/Doctrine/MongoDbOdm/Filter/DateFilterTest.php
+++ b/tests/Bridge/Doctrine/MongoDbOdm/Filter/DateFilterTest.php
@@ -19,6 +19,8 @@
use MongoDB\BSON\UTCDateTime;
/**
+ * @group mongodb
+ *
* @author Alan Poulain
*/
class DateFilterTest extends DoctrineMongoDbOdmFilterTestCase
diff --git a/tests/Bridge/Doctrine/MongoDbOdm/Filter/ExistsFilterTest.php b/tests/Bridge/Doctrine/MongoDbOdm/Filter/ExistsFilterTest.php
index 6b8c87ae052..e2350e1e5d5 100644
--- a/tests/Bridge/Doctrine/MongoDbOdm/Filter/ExistsFilterTest.php
+++ b/tests/Bridge/Doctrine/MongoDbOdm/Filter/ExistsFilterTest.php
@@ -18,6 +18,8 @@
use ApiPlatform\Core\Tests\Bridge\Doctrine\Common\Filter\ExistsFilterTestTrait;
/**
+ * @group mongodb
+ *
* @author Alan Poulain
*/
class ExistsFilterTest extends DoctrineMongoDbOdmFilterTestCase
diff --git a/tests/Bridge/Doctrine/MongoDbOdm/Filter/NumericFilterTest.php b/tests/Bridge/Doctrine/MongoDbOdm/Filter/NumericFilterTest.php
index deacd1bce27..f606bf9240c 100644
--- a/tests/Bridge/Doctrine/MongoDbOdm/Filter/NumericFilterTest.php
+++ b/tests/Bridge/Doctrine/MongoDbOdm/Filter/NumericFilterTest.php
@@ -18,6 +18,8 @@
use ApiPlatform\Core\Tests\Bridge\Doctrine\Common\Filter\NumericFilterTestTrait;
/**
+ * @group mongodb
+ *
* @author Alan Poulain
*/
class NumericFilterTest extends DoctrineMongoDbOdmFilterTestCase
diff --git a/tests/Bridge/Doctrine/MongoDbOdm/Filter/OrderFilterTest.php b/tests/Bridge/Doctrine/MongoDbOdm/Filter/OrderFilterTest.php
index d11e1fc1f7c..7e63d34509c 100644
--- a/tests/Bridge/Doctrine/MongoDbOdm/Filter/OrderFilterTest.php
+++ b/tests/Bridge/Doctrine/MongoDbOdm/Filter/OrderFilterTest.php
@@ -19,6 +19,8 @@
use Doctrine\Common\Persistence\ManagerRegistry;
/**
+ * @group mongodb
+ *
* @author Alan Poulain
*/
class OrderFilterTest extends DoctrineMongoDbOdmFilterTestCase
diff --git a/tests/Bridge/Doctrine/MongoDbOdm/Filter/RangeFilterTest.php b/tests/Bridge/Doctrine/MongoDbOdm/Filter/RangeFilterTest.php
index 8471a845e5a..57c1d102e34 100644
--- a/tests/Bridge/Doctrine/MongoDbOdm/Filter/RangeFilterTest.php
+++ b/tests/Bridge/Doctrine/MongoDbOdm/Filter/RangeFilterTest.php
@@ -18,6 +18,8 @@
use ApiPlatform\Core\Tests\Bridge\Doctrine\Common\Filter\RangeFilterTestTrait;
/**
+ * @group mongodb
+ *
* @author Alan Poulain
*/
class RangeFilterTest extends DoctrineMongoDbOdmFilterTestCase
diff --git a/tests/Bridge/Doctrine/MongoDbOdm/Filter/SearchFilterTest.php b/tests/Bridge/Doctrine/MongoDbOdm/Filter/SearchFilterTest.php
index e3554af85cf..a36d81cbffb 100644
--- a/tests/Bridge/Doctrine/MongoDbOdm/Filter/SearchFilterTest.php
+++ b/tests/Bridge/Doctrine/MongoDbOdm/Filter/SearchFilterTest.php
@@ -24,6 +24,8 @@
use Prophecy\Argument;
/**
+ * @group mongodb
+ *
* @author Alan Poulain
*/
class SearchFilterTest extends DoctrineMongoDbOdmFilterTestCase
diff --git a/tests/Bridge/Doctrine/MongoDbOdm/ItemDataProviderTest.php b/tests/Bridge/Doctrine/MongoDbOdm/ItemDataProviderTest.php
index 4399ef02de2..2f5cee9f086 100644
--- a/tests/Bridge/Doctrine/MongoDbOdm/ItemDataProviderTest.php
+++ b/tests/Bridge/Doctrine/MongoDbOdm/ItemDataProviderTest.php
@@ -36,6 +36,8 @@
use PHPUnit\Framework\TestCase;
/**
+ * @group mongodb
+ *
* @author Alan Poulain
*/
class ItemDataProviderTest extends TestCase
diff --git a/tests/Bridge/Doctrine/MongoDbOdm/Metadata/Property/DoctrineMongoDbOdmPropertyMetadataFactoryTest.php b/tests/Bridge/Doctrine/MongoDbOdm/Metadata/Property/DoctrineMongoDbOdmPropertyMetadataFactoryTest.php
index 391cb460ea2..bdf3c958a83 100644
--- a/tests/Bridge/Doctrine/MongoDbOdm/Metadata/Property/DoctrineMongoDbOdmPropertyMetadataFactoryTest.php
+++ b/tests/Bridge/Doctrine/MongoDbOdm/Metadata/Property/DoctrineMongoDbOdmPropertyMetadataFactoryTest.php
@@ -23,6 +23,8 @@
use PHPUnit\Framework\TestCase;
/**
+ * @group mongodb
+ *
* @author Alan Poulain
*/
class DoctrineMongoDbOdmPropertyMetadataFactoryTest extends TestCase
diff --git a/tests/Bridge/Doctrine/MongoDbOdm/PaginatorTest.php b/tests/Bridge/Doctrine/MongoDbOdm/PaginatorTest.php
index 2d6277e9321..21bb588c83c 100644
--- a/tests/Bridge/Doctrine/MongoDbOdm/PaginatorTest.php
+++ b/tests/Bridge/Doctrine/MongoDbOdm/PaginatorTest.php
@@ -20,6 +20,9 @@
use Doctrine\ODM\MongoDB\UnitOfWork;
use PHPUnit\Framework\TestCase;
+/**
+ * @group mongodb
+ */
class PaginatorTest extends TestCase
{
/**
diff --git a/tests/Bridge/Doctrine/MongoDbOdm/PropertyInfo/DoctrineExtractorTest.php b/tests/Bridge/Doctrine/MongoDbOdm/PropertyInfo/DoctrineExtractorTest.php
index 1babc515bad..2106410577a 100644
--- a/tests/Bridge/Doctrine/MongoDbOdm/PropertyInfo/DoctrineExtractorTest.php
+++ b/tests/Bridge/Doctrine/MongoDbOdm/PropertyInfo/DoctrineExtractorTest.php
@@ -27,6 +27,8 @@
use Symfony\Component\PropertyInfo\Type;
/**
+ * @group mongodb
+ *
* @author Kévin Dunglas
* @author Alan Poulain
*/
diff --git a/tests/Bridge/Doctrine/MongoDbOdm/SubresourceDataProviderTest.php b/tests/Bridge/Doctrine/MongoDbOdm/SubresourceDataProviderTest.php
index df3346588a6..301843efa60 100644
--- a/tests/Bridge/Doctrine/MongoDbOdm/SubresourceDataProviderTest.php
+++ b/tests/Bridge/Doctrine/MongoDbOdm/SubresourceDataProviderTest.php
@@ -39,6 +39,8 @@
use Prophecy\Argument;
/**
+ * @group mongodb
+ *
* @author Alan Poulain
*/
class SubresourceDataProviderTest extends TestCase
diff --git a/tests/Bridge/Symfony/Bundle/DependencyInjection/ApiPlatformExtensionTest.php b/tests/Bridge/Symfony/Bundle/DependencyInjection/ApiPlatformExtensionTest.php
index a2d2b5d1186..9aa7bd35301 100644
--- a/tests/Bridge/Symfony/Bundle/DependencyInjection/ApiPlatformExtensionTest.php
+++ b/tests/Bridge/Symfony/Bundle/DependencyInjection/ApiPlatformExtensionTest.php
@@ -126,6 +126,9 @@ class ApiPlatformExtensionTest extends TestCase
],
],
]],
+ 'doctrine_mongodb_odm' => [
+ 'enabled' => false,
+ ],
]];
private $extension;
@@ -219,6 +222,23 @@ public function testLoadDefaultConfig()
$this->extension->load(self::DEFAULT_CONFIG, $containerBuilder);
}
+ /**
+ * @group mongodb
+ */
+ public function testLoadDefaultConfigWithOdm()
+ {
+ $containerBuilderProphecy = $this->getBaseContainerBuilderProphecy(['odm']);
+ $containerBuilderProphecy->setParameter('api_platform.enable_swagger', '1')->shouldBeCalled();
+ $containerBuilderProphecy->hasParameter('kernel.debug')->willReturn(true);
+ $containerBuilderProphecy->getParameter('kernel.debug')->willReturn(false);
+ $containerBuilder = $containerBuilderProphecy->reveal();
+
+ $config = self::DEFAULT_CONFIG;
+ $config['api_platform']['doctrine_mongodb_odm']['enabled'] = true;
+
+ $this->extension->load($config, $containerBuilder);
+ }
+
public function testSetNameConverter()
{
$nameConverterId = 'test.name_converter';
@@ -231,7 +251,10 @@ public function testSetNameConverter()
$containerBuilder = $containerBuilderProphecy->reveal();
- $this->extension->load(array_merge_recursive(self::DEFAULT_CONFIG, ['api_platform' => ['name_converter' => $nameConverterId]]), $containerBuilder);
+ $config = self::DEFAULT_CONFIG;
+ $config['api_platform']['name_converter'] = $nameConverterId;
+
+ $this->extension->load($config, $containerBuilder);
}
public function testEnableFosUser()
@@ -248,7 +271,10 @@ public function testEnableFosUser()
$containerBuilder = $containerBuilderProphecy->reveal();
- $this->extension->load(array_merge_recursive(self::DEFAULT_CONFIG, ['api_platform' => ['enable_fos_user' => true]]), $containerBuilder);
+ $config = self::DEFAULT_CONFIG;
+ $config['api_platform']['enable_fos_user'] = true;
+
+ $this->extension->load($config, $containerBuilder);
}
public function testDisableProfiler()
@@ -257,7 +283,10 @@ public function testDisableProfiler()
$containerBuilder = $containerBuilderProphecy->reveal();
$containerBuilderProphecy->setDefinition('api_platform.data_collector.request', Argument::type(Definition::class))->shouldNotBeCalled();
- $this->extension->load(array_merge_recursive(self::DEFAULT_CONFIG, ['api_platform' => ['enable_profiler' => false]]), $containerBuilder);
+ $config = self::DEFAULT_CONFIG;
+ $config['api_platform']['enable_profiler'] = false;
+
+ $this->extension->load($config, $containerBuilder);
}
public function testEnableProfilerWithDebug()
@@ -271,7 +300,10 @@ public function testEnableProfilerWithDebug()
$containerBuilderProphecy->setDefinition('debug.api_platform.data_persister', Argument::type(Definition::class))->shouldBeCalled();
$containerBuilder = $containerBuilderProphecy->reveal();
- $this->extension->load(array_merge_recursive(self::DEFAULT_CONFIG, ['api_platform' => ['enable_profiler' => true]]), $containerBuilder);
+ $config = self::DEFAULT_CONFIG;
+ $config['api_platform']['enable_profiler'] = true;
+
+ $this->extension->load($config, $containerBuilder);
}
public function testFosUserPriority()
@@ -310,7 +342,11 @@ public function testEnableNelmioApiDoc()
$containerBuilder = $containerBuilderProphecy->reveal();
- $this->extension->load(array_merge_recursive(self::DEFAULT_CONFIG, ['api_platform' => ['enable_nelmio_api_doc' => true]]), $containerBuilder);
+ $config = self::DEFAULT_CONFIG;
+ $config['api_platform']['doctrine_mongodb_odm']['enabled'] = false;
+ $config['api_platform']['enable_nelmio_api_doc'] = true;
+
+ $this->extension->load($config, $containerBuilder);
}
public function testDisableGraphQl()
@@ -332,7 +368,10 @@ public function testDisableGraphQl()
$containerBuilder = $containerBuilderProphecy->reveal();
- $this->extension->load(array_merge_recursive(self::DEFAULT_CONFIG, ['api_platform' => ['graphql' => ['enabled' => false]]]), $containerBuilder);
+ $config = self::DEFAULT_CONFIG;
+ $config['api_platform']['graphql']['enabled'] = false;
+
+ $this->extension->load($config, $containerBuilder);
}
public function testEnableSecurity()
@@ -370,7 +409,10 @@ public function testAddResourceClassDirectories()
}))->shouldBeCalled();
$containerBuilder = $containerBuilderProphecy->reveal();
- $this->extension->load(array_merge_recursive(self::DEFAULT_CONFIG, ['api_platform' => ['resource_class_directories' => ['foobar']]]), $containerBuilder);
+ $config = self::DEFAULT_CONFIG;
+ $config['api_platform']['resource_class_directories'] = ['foobar'];
+
+ $this->extension->load($config, $containerBuilder);
}
public function testResourcesToWatchWithUnsupportedMappingType()
@@ -378,8 +420,11 @@ public function testResourcesToWatchWithUnsupportedMappingType()
$this->expectException(RuntimeException::class);
$this->expectExceptionMessageRegExp('/Unsupported mapping type in ".+", supported types are XML & Yaml\\./');
+ $config = self::DEFAULT_CONFIG;
+ $config['api_platform']['mapping']['paths'] = [__FILE__];
+
$this->extension->load(
- array_merge_recursive(self::DEFAULT_CONFIG, ['api_platform' => ['mapping' => ['paths' => [__FILE__]]]]),
+ $config,
$this->getPartialContainerBuilderProphecy()->reveal()
);
}
@@ -389,8 +434,11 @@ public function testResourcesToWatchWithNonExistentFile()
$this->expectException(RuntimeException::class);
$this->expectExceptionMessage('Could not open file or directory "fake_file.xml".');
+ $config = self::DEFAULT_CONFIG;
+ $config['api_platform']['mapping']['paths'] = ['fake_file.xml'];
+
$this->extension->load(
- array_merge_recursive(self::DEFAULT_CONFIG, ['api_platform' => ['mapping' => ['paths' => ['fake_file.xml']]]]),
+ $config,
$this->getPartialContainerBuilderProphecy()->reveal()
);
}
@@ -404,7 +452,11 @@ public function testDisableEagerLoadingExtension()
$containerBuilderProphecy->removeDefinition('api_platform.doctrine.orm.query_extension.eager_loading')->shouldBeCalled();
$containerBuilderProphecy->removeDefinition('api_platform.doctrine.orm.query_extension.filter_eager_loading')->shouldBeCalled();
$containerBuilder = $containerBuilderProphecy->reveal();
- $this->extension->load(array_merge_recursive(self::DEFAULT_CONFIG, ['api_platform' => ['eager_loading' => ['enabled' => false]]]), $containerBuilder);
+
+ $config = self::DEFAULT_CONFIG;
+ $config['api_platform']['eager_loading']['enabled'] = false;
+
+ $this->extension->load($config, $containerBuilder);
}
public function testNotRegisterHttpCacheWhenEnabledWithNoVarnishServer()
@@ -478,7 +530,20 @@ public function testDisabledMessenger()
public function testDisableDoctrine()
{
- $containerBuilderProphecy = $this->getBaseContainerBuilderProphecy();
+ $this->runDisableDoctrineTests();
+ }
+
+ /**
+ * @group mongodb
+ */
+ public function testDisableDoctrineWithMongoDbOdm()
+ {
+ $this->runDisableDoctrineTests();
+ }
+
+ private function runDisableDoctrineTests()
+ {
+ $containerBuilderProphecy = $this->getBaseContainerBuilderProphecy([]);
$containerBuilderProphecy->registerForAutoconfiguration(QueryItemExtensionInterface::class)->shouldNotBeCalled();
$this->childDefinitionProphecy->addTag('api_platform.doctrine.orm.query_extension.item')->shouldNotBeCalled();
$containerBuilderProphecy->registerForAutoconfiguration(QueryCollectionExtensionInterface::class)->shouldNotBeCalled();
@@ -521,9 +586,15 @@ public function testDisableDoctrine()
$containerBuilderProphecy->setAlias(ExistsFilter::class, 'api_platform.doctrine.orm.exists_filter')->shouldNotBeCalled();
$containerBuilder = $containerBuilderProphecy->reveal();
- $this->extension->load(array_merge_recursive(self::DEFAULT_CONFIG, ['api_platform' => ['doctrine' => ['enabled' => false]]]), $containerBuilder);
+ $config = self::DEFAULT_CONFIG;
+ $config['api_platform']['doctrine']['enabled'] = false;
+
+ $this->extension->load($config, $containerBuilder);
}
+ /**
+ * @group mongodb
+ */
public function testDisableDoctrineMongoDbOdm()
{
$containerBuilderProphecy = $this->getBaseContainerBuilderProphecy();
@@ -564,7 +635,7 @@ public function testDisableDoctrineMongoDbOdm()
$containerBuilderProphecy->setAlias(MongoDbOdmRangeFilter::class, 'api_platform.doctrine_mongodb.odm.range_filter')->shouldNotBeCalled();
$containerBuilder = $containerBuilderProphecy->reveal();
- $this->extension->load(array_merge_recursive(self::DEFAULT_CONFIG, ['api_platform' => ['doctrine_mongodb_odm' => ['enabled' => false]]]), $containerBuilder);
+ $this->extension->load(self::DEFAULT_CONFIG, $containerBuilder);
}
public function testEnableElasticsearch()
@@ -901,7 +972,7 @@ private function getPartialContainerBuilderProphecy()
return $containerBuilderProphecy;
}
- private function getBaseContainerBuilderProphecy()
+ private function getBaseContainerBuilderProphecy(array $doctrineIntegrationsToLoad = ['orm'])
{
$containerBuilderProphecy = $this->getPartialContainerBuilderProphecy();
@@ -917,17 +988,19 @@ private function getBaseContainerBuilderProphecy()
->willReturn($this->childDefinitionProphecy)->shouldBeCalledTimes(1);
$this->childDefinitionProphecy->setBindings(['$requestStack' => null])->shouldBeCalledTimes(1);
- $containerBuilderProphecy->registerForAutoconfiguration(AggregationItemExtensionInterface::class)
- ->willReturn($this->childDefinitionProphecy)->shouldBeCalledTimes(1);
- $this->childDefinitionProphecy->addTag('api_platform.doctrine.mongodb.aggregation_extension.item')->shouldBeCalledTimes(1);
+ if (\in_array('odm', $doctrineIntegrationsToLoad, true)) {
+ $containerBuilderProphecy->registerForAutoconfiguration(AggregationItemExtensionInterface::class)
+ ->willReturn($this->childDefinitionProphecy)->shouldBeCalledTimes(1);
+ $this->childDefinitionProphecy->addTag('api_platform.doctrine.mongodb.aggregation_extension.item')->shouldBeCalledTimes(1);
- $containerBuilderProphecy->registerForAutoconfiguration(AggregationCollectionExtensionInterface::class)
- ->willReturn($this->childDefinitionProphecy)->shouldBeCalledTimes(1);
- $this->childDefinitionProphecy->addTag('api_platform.doctrine.mongodb.aggregation_extension.collection')->shouldBeCalledTimes(1);
+ $containerBuilderProphecy->registerForAutoconfiguration(AggregationCollectionExtensionInterface::class)
+ ->willReturn($this->childDefinitionProphecy)->shouldBeCalledTimes(1);
+ $this->childDefinitionProphecy->addTag('api_platform.doctrine.mongodb.aggregation_extension.collection')->shouldBeCalledTimes(1);
- $containerBuilderProphecy->registerForAutoconfiguration(DoctrineMongoDbOdmAbstractFilter::class)
- ->willReturn($this->childDefinitionProphecy)->shouldBeCalledTimes(1);
- $this->childDefinitionProphecy->setBindings(Argument::allOf(Argument::withEntry('$managerRegistry', Argument::type(Reference::class))))->shouldBeCalledTimes(1);
+ $containerBuilderProphecy->registerForAutoconfiguration(DoctrineMongoDbOdmAbstractFilter::class)
+ ->willReturn($this->childDefinitionProphecy)->shouldBeCalledTimes(1);
+ $this->childDefinitionProphecy->setBindings(Argument::allOf(Argument::withEntry('$managerRegistry', Argument::type(Reference::class))))->shouldBeCalledTimes(1);
+ }
$containerBuilderProphecy->registerForAutoconfiguration(DataTransformerInterface::class)
->willReturn($this->childDefinitionProphecy)->shouldBeCalledTimes(1);
@@ -969,7 +1042,6 @@ private function getBaseContainerBuilderProphecy()
'api_platform.data_collector.request',
'api_platform.doctrine.listener.http_cache.purge',
'api_platform.doctrine.listener.mercure.publish',
- 'api_platform.doctrine.metadata_factory',
'api_platform.doctrine.orm.boolean_filter',
'api_platform.doctrine.orm.collection_data_provider',
'api_platform.doctrine.orm.data_persister',
@@ -990,25 +1062,6 @@ private function getBaseContainerBuilderProphecy()
'api_platform.doctrine.orm.range_filter',
'api_platform.doctrine.orm.search_filter',
'api_platform.doctrine.orm.subresource_data_provider',
- 'api_platform.doctrine_mongodb.odm.aggregation_extension.filter',
- 'api_platform.doctrine_mongodb.odm.aggregation_extension.order',
- 'api_platform.doctrine_mongodb.odm.aggregation_extension.pagination',
- 'api_platform.doctrine_mongodb.odm.boolean_filter',
- 'api_platform.doctrine_mongodb.odm.collection_data_provider',
- 'api_platform.doctrine_mongodb.odm.data_persister',
- 'api_platform.doctrine_mongodb.odm.date_filter',
- 'api_platform.doctrine_mongodb.odm.default.collection_data_provider',
- 'api_platform.doctrine_mongodb.odm.default.item_data_provider',
- 'api_platform.doctrine_mongodb.odm.default.subresource_data_provider',
- 'api_platform.doctrine_mongodb.odm.default_document_manager.property_info_extractor',
- 'api_platform.doctrine_mongodb.odm.exists_filter',
- 'api_platform.doctrine_mongodb.odm.item_data_provider',
- 'api_platform.doctrine_mongodb.odm.metadata.property.metadata_factory',
- 'api_platform.doctrine_mongodb.odm.numeric_filter',
- 'api_platform.doctrine_mongodb.odm.order_filter',
- 'api_platform.doctrine_mongodb.odm.range_filter',
- 'api_platform.doctrine_mongodb.odm.search_filter',
- 'api_platform.doctrine_mongodb.odm.subresource_data_provider',
'api_platform.graphql.action.entrypoint',
'api_platform.graphql.executor',
'api_platform.graphql.schema_builder',
@@ -1067,6 +1120,34 @@ private function getBaseContainerBuilderProphecy()
'api_platform.validator',
];
+ if (\in_array('odm', $doctrineIntegrationsToLoad, true)) {
+ $definitions = array_merge($definitions, [
+ 'api_platform.doctrine_mongodb.odm.aggregation_extension.filter',
+ 'api_platform.doctrine_mongodb.odm.aggregation_extension.order',
+ 'api_platform.doctrine_mongodb.odm.aggregation_extension.pagination',
+ 'api_platform.doctrine_mongodb.odm.boolean_filter',
+ 'api_platform.doctrine_mongodb.odm.collection_data_provider',
+ 'api_platform.doctrine_mongodb.odm.data_persister',
+ 'api_platform.doctrine_mongodb.odm.date_filter',
+ 'api_platform.doctrine_mongodb.odm.default.collection_data_provider',
+ 'api_platform.doctrine_mongodb.odm.default.item_data_provider',
+ 'api_platform.doctrine_mongodb.odm.default.subresource_data_provider',
+ 'api_platform.doctrine_mongodb.odm.default_document_manager.property_info_extractor',
+ 'api_platform.doctrine_mongodb.odm.exists_filter',
+ 'api_platform.doctrine_mongodb.odm.item_data_provider',
+ 'api_platform.doctrine_mongodb.odm.metadata.property.metadata_factory',
+ 'api_platform.doctrine_mongodb.odm.numeric_filter',
+ 'api_platform.doctrine_mongodb.odm.order_filter',
+ 'api_platform.doctrine_mongodb.odm.range_filter',
+ 'api_platform.doctrine_mongodb.odm.search_filter',
+ 'api_platform.doctrine_mongodb.odm.subresource_data_provider',
+ ]);
+ }
+
+ if (0 !== \count($doctrineIntegrationsToLoad)) {
+ $definitions[] = 'api_platform.doctrine.metadata_factory';
+ }
+
foreach ($definitions as $definition) {
$containerBuilderProphecy->setDefinition($definition, Argument::type(Definition::class))->shouldBeCalled();
}
@@ -1077,9 +1158,6 @@ private function getBaseContainerBuilderProphecy()
EagerLoadingExtension::class => 'api_platform.doctrine.orm.query_extension.eager_loading',
FilterExtension::class => 'api_platform.doctrine.orm.query_extension.filter',
FilterEagerLoadingExtension::class => 'api_platform.doctrine.orm.query_extension.filter_eager_loading',
- MongoDbOdmFilterExtension::class => 'api_platform.doctrine_mongodb.odm.aggregation_extension.filter',
- MongoDbOdmOrderExtension::class => 'api_platform.doctrine_mongodb.odm.aggregation_extension.order',
- MongoDbOdmPaginationExtension::class => 'api_platform.doctrine_mongodb.odm.aggregation_extension.pagination',
PaginationExtension::class => 'api_platform.doctrine.orm.query_extension.pagination',
OrderExtension::class => 'api_platform.doctrine.orm.query_extension.order',
ValidatorInterface::class => 'api_platform.validator',
@@ -1090,15 +1168,23 @@ private function getBaseContainerBuilderProphecy()
BooleanFilter::class => 'api_platform.doctrine.orm.boolean_filter',
NumericFilter::class => 'api_platform.doctrine.orm.numeric_filter',
ExistsFilter::class => 'api_platform.doctrine.orm.exists_filter',
- MongoDbOdmSearchFilter::class => 'api_platform.doctrine_mongodb.odm.search_filter',
- MongoDbOdmBooleanFilter::class => 'api_platform.doctrine_mongodb.odm.boolean_filter',
- MongoDbOdmDateFilter::class => 'api_platform.doctrine_mongodb.odm.date_filter',
- MongoDbOdmExistsFilter::class => 'api_platform.doctrine_mongodb.odm.exists_filter',
- MongoDbOdmNumericFilter::class => 'api_platform.doctrine_mongodb.odm.numeric_filter',
- MongoDbOdmOrderFilter::class => 'api_platform.doctrine_mongodb.odm.order_filter',
- MongoDbOdmRangeFilter::class => 'api_platform.doctrine_mongodb.odm.range_filter',
];
+ if (\in_array('odm', $doctrineIntegrationsToLoad, true)) {
+ $aliases += [
+ MongoDbOdmSearchFilter::class => 'api_platform.doctrine_mongodb.odm.search_filter',
+ MongoDbOdmBooleanFilter::class => 'api_platform.doctrine_mongodb.odm.boolean_filter',
+ MongoDbOdmDateFilter::class => 'api_platform.doctrine_mongodb.odm.date_filter',
+ MongoDbOdmExistsFilter::class => 'api_platform.doctrine_mongodb.odm.exists_filter',
+ MongoDbOdmNumericFilter::class => 'api_platform.doctrine_mongodb.odm.numeric_filter',
+ MongoDbOdmOrderFilter::class => 'api_platform.doctrine_mongodb.odm.order_filter',
+ MongoDbOdmRangeFilter::class => 'api_platform.doctrine_mongodb.odm.range_filter',
+ MongoDbOdmFilterExtension::class => 'api_platform.doctrine_mongodb.odm.aggregation_extension.filter',
+ MongoDbOdmOrderExtension::class => 'api_platform.doctrine_mongodb.odm.aggregation_extension.order',
+ MongoDbOdmPaginationExtension::class => 'api_platform.doctrine_mongodb.odm.aggregation_extension.pagination',
+ ];
+ }
+
foreach ($aliases as $alias => $service) {
$containerBuilderProphecy->setAlias($alias, $service)->shouldBeCalled();
}
diff --git a/tests/Bridge/Symfony/Bundle/DependencyInjection/ConfigurationTest.php b/tests/Bridge/Symfony/Bundle/DependencyInjection/ConfigurationTest.php
index f5542f381e8..d96110b6343 100644
--- a/tests/Bridge/Symfony/Bundle/DependencyInjection/ConfigurationTest.php
+++ b/tests/Bridge/Symfony/Bundle/DependencyInjection/ConfigurationTest.php
@@ -49,9 +49,34 @@ protected function setUp()
}
public function testDefaultConfig()
+ {
+ $this->runDefaultConfigTests();
+ }
+
+ /**
+ * @group mongodb
+ */
+ public function testDefaultConfigWithMongoDbOdm()
+ {
+ $this->runDefaultConfigTests(['orm', 'odm']);
+ }
+
+ private function runDefaultConfigTests(array $doctrineIntegrationsToLoad = ['orm'])
{
$treeBuilder = $this->configuration->getConfigTreeBuilder();
- $config = $this->processor->processConfiguration($this->configuration, ['api_platform' => ['title' => 'title', 'description' => 'description', 'version' => '1.0.0']]);
+ $config = $this->processor->processConfiguration($this->configuration, [
+ 'api_platform' => [
+ 'title' => 'title',
+ 'description' => 'description',
+ 'version' => '1.0.0',
+ 'doctrine' => [
+ 'enabled' => \in_array('orm', $doctrineIntegrationsToLoad, true),
+ ],
+ 'doctrine_mongodb_odm' => [
+ 'enabled' => \in_array('odm', $doctrineIntegrationsToLoad, true),
+ ],
+ ],
+ ]);
$this->assertInstanceOf(ConfigurationInterface::class, $this->configuration);
$this->assertInstanceOf(TreeBuilder::class, $treeBuilder);
@@ -152,10 +177,10 @@ public function testDefaultConfig()
'public' => null,
],
'doctrine' => [
- 'enabled' => true,
+ 'enabled' => \in_array('orm', $doctrineIntegrationsToLoad, true),
],
'doctrine_mongodb_odm' => [
- 'enabled' => true,
+ 'enabled' => \in_array('odm', $doctrineIntegrationsToLoad, true),
],
'messenger' => [
'enabled' => true,
diff --git a/tests/Bridge/Symfony/Bundle/Twig/ApiPlatformProfilerPanelTest.php b/tests/Bridge/Symfony/Bundle/Twig/ApiPlatformProfilerPanelTest.php
index 5c17bb0b1b2..0d1d1b301fb 100644
--- a/tests/Bridge/Symfony/Bundle/Twig/ApiPlatformProfilerPanelTest.php
+++ b/tests/Bridge/Symfony/Bundle/Twig/ApiPlatformProfilerPanelTest.php
@@ -97,7 +97,7 @@ public function testDebugBarContent()
// Check extra info content
$this->assertContains('sf-toolbar-status-default', $block->attr('class'), 'The toolbar block should have the default color.');
- $this->assertSame('test_mongodb' === $this->env ? DocumentDummy::class : Dummy::class, $block->filter('.sf-toolbar-info-piece span')->html());
+ $this->assertSame('mongodb' === $this->env ? DocumentDummy::class : Dummy::class, $block->filter('.sf-toolbar-info-piece span')->html());
}
public function testProfilerGeneralLayoutNotResourceClass()
@@ -136,7 +136,7 @@ public function testProfilerGeneralLayout()
$metrics = $crawler->filter('.metrics');
$this->assertCount(1, $metrics->filter('.metric'), 'The should be one metric displayed (resource class).');
- $this->assertSame('test_mongodb' === $this->env ? DocumentDummy::class : Dummy::class, $metrics->filter('span.value')->html());
+ $this->assertSame('mongodb' === $this->env ? DocumentDummy::class : Dummy::class, $metrics->filter('span.value')->html());
$this->assertCount(3, $crawler->filter('.sf-tabs .tab'), 'Tabs must be presents on the panel.');
@@ -177,7 +177,7 @@ public function testGetCollectionProfiler()
// Data provider tab
$tabContent = $crawler->filter('.tab:nth-of-type(2) .tab-content');
$this->assertSame('TRUE', $tabContent->filter('table tbody .status-success')->html());
- $this->assertContains('test_mongodb' === $this->env ? OdmCollectionDataProvider::class : CollectionDataProvider::class, $tabContent->filter('table tbody')->html());
+ $this->assertContains('mongodb' === $this->env ? OdmCollectionDataProvider::class : CollectionDataProvider::class, $tabContent->filter('table tbody')->html());
$this->assertContains('No calls to item data provider have been recorded.', $tabContent->html());
$this->assertContains('No calls to subresource data provider have been recorded.', $tabContent->html());
@@ -241,7 +241,7 @@ public function testGetItemProfiler()
$this->assertSame(ContainNonResourceItemDataProvider::class, $tabContent->filter('table tbody tr:first-of-type td:nth-of-type(3)')->html());
$this->assertSame('TRUE', $tabContent->filter('table tbody .status-success')->html());
- $this->assertContains('test_mongodb' === $this->env ? OdmItemDataProvider::class : ItemDataProvider::class, $tabContent->filter('table tbody')->html());
+ $this->assertContains('mongodb' === $this->env ? OdmItemDataProvider::class : ItemDataProvider::class, $tabContent->filter('table tbody')->html());
$this->assertContains('No calls to collection data provider have been recorded.', $tabContent->html());
$this->assertContains('No calls to subresource data provider have been recorded.', $tabContent->html());
diff --git a/tests/Fixtures/app/config/config_common.yml b/tests/Fixtures/app/config/config_common.yml
index c23d8d963da..9f341542937 100644
--- a/tests/Fixtures/app/config/config_common.yml
+++ b/tests/Fixtures/app/config/config_common.yml
@@ -30,13 +30,6 @@ doctrine:
auto_generate_proxy_classes: '%kernel.debug%'
auto_mapping: true
-doctrine_mongodb:
- connections:
- default: ~
- document_managers:
- default:
- auto_mapping: true
-
twig:
strict_variables: '%kernel.debug%'
diff --git a/tests/Fixtures/app/config/config_mongodb.yml b/tests/Fixtures/app/config/config_mongodb.yml
index b98821a1d5c..0a61f72a445 100644
--- a/tests/Fixtures/app/config/config_mongodb.yml
+++ b/tests/Fixtures/app/config/config_mongodb.yml
@@ -1,6 +1,6 @@
imports:
- { resource: parameters_mongodb.yml }
- - { resource: config_test_mongodb.yml }
+ - { resource: config_common.yml }
doctrine_mongodb:
connections:
@@ -8,3 +8,81 @@ doctrine_mongodb:
server: '%server%'
options: {}
default_database: '%dbname%'
+ document_managers:
+ default:
+ auto_mapping: true
+
+api_platform:
+ doctrine: false
+ mapping:
+ paths: ['%kernel.project_dir%/config/api_platform_mongodb_odm']
+
+fos_user:
+ db_driver: 'mongodb'
+ firewall_name: 'api'
+ user_class: 'ApiPlatform\Core\Tests\Fixtures\TestBundle\Document\User'
+ from_email:
+ address: 'no-reply@les-tilleuls.coop'
+ sender_name: 'Kévin Dunglas'
+
+services:
+ app.my_dummy_resource.mongodb.boolean_filter:
+ parent: 'api_platform.doctrine_mongodb.odm.boolean_filter'
+ arguments: [ { 'dummyBoolean': ~, 'embeddedDummy.dummyBoolean': ~, 'relatedDummy.embeddedDummy.dummyBoolean': ~ } ]
+ tags: [ { name: 'api_platform.filter', id: 'my_dummy.mongodb.boolean' } ]
+ app.my_dummy_resource.mongodb.date_filter:
+ parent: 'api_platform.doctrine_mongodb.odm.date_filter'
+ arguments: [ { 'dummyDate': ~, 'relatedDummy.dummyDate': ~, 'embeddedDummy.dummyDate': ~ } ]
+ tags: [ { name: 'api_platform.filter', id: 'my_dummy.mongodb.date' } ]
+ app.my_dummy_resource.mongodb.exists_filter:
+ parent: 'api_platform.doctrine_mongodb.odm.exists_filter'
+ arguments: [ { 'description': ~, 'relatedDummy.name': ~, 'dummyBoolean': ~, 'relatedDummy': ~ } ]
+ tags: [ { name: 'api_platform.filter', id: 'my_dummy.mongodb.exists' } ]
+ app.my_dummy_resource.mongodb.numeric_filter:
+ parent: 'api_platform.doctrine_mongodb.odm.numeric_filter'
+ arguments: [ { 'dummyFloat': ~, 'dummyPrice': ~ } ]
+ tags: [ { name: 'api_platform.filter', id: 'my_dummy.mongodb.numeric' } ]
+ app.my_dummy_resource.mongodb.order_filter:
+ parent: 'api_platform.doctrine_mongodb.odm.order_filter'
+ arguments: [ { 'id': ~, 'name': 'desc', 'description': ~, 'relatedDummy.name': ~, 'embeddedDummy.dummyName': 'desc', 'relatedDummy.symfony': ~, 'dummyDate': ~ } ]
+ tags: [ { name: 'api_platform.filter', id: 'my_dummy.mongodb.order' } ]
+ app.my_dummy_resource.mongodb.range_filter:
+ parent: 'api_platform.doctrine_mongodb.odm.range_filter'
+ arguments: [ { 'dummyFloat': ~, 'dummyPrice': ~ } ]
+ tags: [ { name: 'api_platform.filter', id: 'my_dummy.mongodb.range' } ]
+ app.my_dummy_resource.mongodb.search_filter:
+ parent: 'api_platform.doctrine_mongodb.odm.search_filter'
+ arguments: [ { 'id': 'exact', 'name': 'partial', 'alias': 'start', 'description': 'word_start', 'relatedDummy.name': 'exact', 'relatedDummies': 'exact', 'dummy': 'ipartial', 'relatedDummies.name': 'start', 'embeddedDummy.dummyName': 'partial', 'relatedDummy.thirdLevel.level': 'exact', 'relatedDummy.thirdLevel.fourthLevel.level': 'exact', 'relatedDummy.thirdLevel.badFourthLevel.level': 'exact', 'relatedDummy.thirdLevel.fourthLevel.badThirdLevel.level': 'exact' } ]
+ tags: [ { name: 'api_platform.filter', id: 'my_dummy.mongodb.search' } ]
+ app.related_dummy_resource.mongodb.search_filter:
+ parent: 'api_platform.doctrine_mongodb.odm.search_filter'
+ arguments: [ { 'relatedToDummyFriend.dummyFriend': 'exact', 'name': 'partial' } ]
+ tags: [ { name: 'api_platform.filter', id: 'related_dummy.mongodb.friends' } ]
+ app.my_dummy_date_resource.mongodb.date_filter:
+ parent: 'api_platform.doctrine_mongodb.odm.date_filter'
+ arguments: [ { 'dummyDate': ~ } ]
+ tags: [ { name: 'api_platform.filter', id: 'my_dummy_date.mongodb.date' } ]
+ app.related_dummy_to_friend_resource.mongodb.search_filter:
+ parent: 'api_platform.doctrine_mongodb.odm.search_filter'
+ arguments: [ { 'name': 'ipartial', 'description': 'ipartial' } ]
+ tags: [ { name: 'api_platform.filter', id: 'related_to_dummy_friend.mongodb.name' } ]
+
+ dummy_dto_no_input.data_provider:
+ class: 'ApiPlatform\Core\Tests\Fixtures\TestBundle\DataProvider\DummyDtoNoInputCollectionDataProvider'
+ public: false
+ arguments: ['@doctrine_mongodb']
+ tags:
+ - { name: 'api_platform.collection_data_provider' }
+
+ app.dummy_dto_no_output_data_persister:
+ class: ApiPlatform\Core\Tests\Fixtures\TestBundle\DataPersister\DummyDtoNoOutputDataPersister
+ arguments: ['@doctrine_mongodb']
+ public: false
+ tags:
+ - { name: 'api_platform.data_persister' }
+
+ app.messenger_handler.messenger_with_inputs:
+ class: 'ApiPlatform\Core\Tests\Fixtures\TestBundle\MessengerHandler\Document\MessengerWithInputHandler'
+ public: false
+ tags:
+ - { name: 'messenger.message_handler' }
diff --git a/tests/Fixtures/app/config/config_services_mongodb.yml b/tests/Fixtures/app/config/config_services_mongodb.yml
deleted file mode 100644
index 6fd5b848ac3..00000000000
--- a/tests/Fixtures/app/config/config_services_mongodb.yml
+++ /dev/null
@@ -1,64 +0,0 @@
-imports:
- - { resource: config_common.yml }
-
-services:
- app.my_dummy_resource.mongodb.boolean_filter:
- parent: 'api_platform.doctrine_mongodb.odm.boolean_filter'
- arguments: [ { 'dummyBoolean': ~, 'embeddedDummy.dummyBoolean': ~, 'relatedDummy.embeddedDummy.dummyBoolean': ~ } ]
- tags: [ { name: 'api_platform.filter', id: 'my_dummy.mongodb.boolean' } ]
- app.my_dummy_resource.mongodb.date_filter:
- parent: 'api_platform.doctrine_mongodb.odm.date_filter'
- arguments: [ { 'dummyDate': ~, 'relatedDummy.dummyDate': ~, 'embeddedDummy.dummyDate': ~ } ]
- tags: [ { name: 'api_platform.filter', id: 'my_dummy.mongodb.date' } ]
- app.my_dummy_resource.mongodb.exists_filter:
- parent: 'api_platform.doctrine_mongodb.odm.exists_filter'
- arguments: [ { 'description': ~, 'relatedDummy.name': ~, 'dummyBoolean': ~, 'relatedDummy': ~ } ]
- tags: [ { name: 'api_platform.filter', id: 'my_dummy.mongodb.exists' } ]
- app.my_dummy_resource.mongodb.numeric_filter:
- parent: 'api_platform.doctrine_mongodb.odm.numeric_filter'
- arguments: [ { 'dummyFloat': ~, 'dummyPrice': ~ } ]
- tags: [ { name: 'api_platform.filter', id: 'my_dummy.mongodb.numeric' } ]
- app.my_dummy_resource.mongodb.order_filter:
- parent: 'api_platform.doctrine_mongodb.odm.order_filter'
- arguments: [ { 'id': ~, 'name': 'desc', 'description': ~, 'relatedDummy.name': ~, 'embeddedDummy.dummyName': 'desc', 'relatedDummy.symfony': ~, 'dummyDate': ~ } ]
- tags: [ { name: 'api_platform.filter', id: 'my_dummy.mongodb.order' } ]
- app.my_dummy_resource.mongodb.range_filter:
- parent: 'api_platform.doctrine_mongodb.odm.range_filter'
- arguments: [ { 'dummyFloat': ~, 'dummyPrice': ~ } ]
- tags: [ { name: 'api_platform.filter', id: 'my_dummy.mongodb.range' } ]
- app.my_dummy_resource.mongodb.search_filter:
- parent: 'api_platform.doctrine_mongodb.odm.search_filter'
- arguments: [ { 'id': 'exact', 'name': 'partial', 'alias': 'start', 'description': 'word_start', 'relatedDummy.name': 'exact', 'relatedDummies': 'exact', 'dummy': 'ipartial', 'relatedDummies.name': 'start', 'embeddedDummy.dummyName': 'partial', 'relatedDummy.thirdLevel.level': 'exact', 'relatedDummy.thirdLevel.fourthLevel.level': 'exact', 'relatedDummy.thirdLevel.badFourthLevel.level': 'exact', 'relatedDummy.thirdLevel.fourthLevel.badThirdLevel.level': 'exact' } ]
- tags: [ { name: 'api_platform.filter', id: 'my_dummy.mongodb.search' } ]
- app.related_dummy_resource.mongodb.search_filter:
- parent: 'api_platform.doctrine_mongodb.odm.search_filter'
- arguments: [ { 'relatedToDummyFriend.dummyFriend': 'exact', 'name': 'partial' } ]
- tags: [ { name: 'api_platform.filter', id: 'related_dummy.mongodb.friends' } ]
- app.my_dummy_date_resource.mongodb.date_filter:
- parent: 'api_platform.doctrine_mongodb.odm.date_filter'
- arguments: [ { 'dummyDate': ~ } ]
- tags: [ { name: 'api_platform.filter', id: 'my_dummy_date.mongodb.date' } ]
- app.related_dummy_to_friend_resource.mongodb.search_filter:
- parent: 'api_platform.doctrine_mongodb.odm.search_filter'
- arguments: [ { 'name': 'ipartial', 'description': 'ipartial' } ]
- tags: [ { name: 'api_platform.filter', id: 'related_to_dummy_friend.mongodb.name' } ]
-
- dummy_dto_no_input.data_provider:
- class: 'ApiPlatform\Core\Tests\Fixtures\TestBundle\DataProvider\DummyDtoNoInputCollectionDataProvider'
- public: false
- arguments: ['@doctrine_mongodb']
- tags:
- - { name: 'api_platform.collection_data_provider' }
-
- app.dummy_dto_no_output_data_persister:
- class: ApiPlatform\Core\Tests\Fixtures\TestBundle\DataPersister\DummyDtoNoOutputDataPersister
- arguments: ['@doctrine_mongodb']
- public: false
- tags:
- - { name: 'api_platform.data_persister' }
-
- app.messenger_handler.messenger_with_inputs:
- class: 'ApiPlatform\Core\Tests\Fixtures\TestBundle\MessengerHandler\Document\MessengerWithInputHandler'
- public: false
- tags:
- - { name: 'messenger.message_handler' }
diff --git a/tests/Fixtures/app/config/config_test_mongodb.yml b/tests/Fixtures/app/config/config_test_mongodb.yml
deleted file mode 100644
index cb39ce23c31..00000000000
--- a/tests/Fixtures/app/config/config_test_mongodb.yml
+++ /dev/null
@@ -1,15 +0,0 @@
-imports:
- - { resource: config_services_mongodb.yml }
-
-api_platform:
- doctrine: false
- mapping:
- paths: ['%kernel.project_dir%/config/api_platform_mongodb_odm']
-
-fos_user:
- db_driver: 'mongodb'
- firewall_name: 'api'
- user_class: 'ApiPlatform\Core\Tests\Fixtures\TestBundle\Document\User'
- from_email:
- address: 'no-reply@les-tilleuls.coop'
- sender_name: 'Kévin Dunglas'
diff --git a/tests/Fixtures/app/config/routing_mongodb.yml b/tests/Fixtures/app/config/routing_mongodb.yml
index 9cf105260f9..85c7cccf021 100644
--- a/tests/Fixtures/app/config/routing_mongodb.yml
+++ b/tests/Fixtures/app/config/routing_mongodb.yml
@@ -1,2 +1,14 @@
_main:
- resource: routing_test_mongodb.yml
+ resource: routing_common.yml
+
+controller:
+ resource: '@TestBundle/Controller/MongoDbOdm'
+ type: annotation
+
+web_profiler_wdt:
+ resource: '@WebProfilerBundle/Resources/config/routing/wdt.xml'
+ prefix: /_wdt
+
+web_profiler_profiler:
+ resource: '@WebProfilerBundle/Resources/config/routing/profiler.xml'
+ prefix: /_profiler
diff --git a/tests/Fixtures/app/config/routing_test_mongodb.yml b/tests/Fixtures/app/config/routing_test_mongodb.yml
deleted file mode 100644
index 85c7cccf021..00000000000
--- a/tests/Fixtures/app/config/routing_test_mongodb.yml
+++ /dev/null
@@ -1,14 +0,0 @@
-_main:
- resource: routing_common.yml
-
-controller:
- resource: '@TestBundle/Controller/MongoDbOdm'
- type: annotation
-
-web_profiler_wdt:
- resource: '@WebProfilerBundle/Resources/config/routing/wdt.xml'
- prefix: /_wdt
-
-web_profiler_profiler:
- resource: '@WebProfilerBundle/Resources/config/routing/profiler.xml'
- prefix: /_profiler