diff options
-rw-r--r-- | 167.patch | 141 | ||||
-rw-r--r-- | php-alcaeus-mongo-php-adapter.spec | 14 |
2 files changed, 150 insertions, 5 deletions
diff --git a/167.patch b/167.patch new file mode 100644 index 0000000..846b811 --- /dev/null +++ b/167.patch @@ -0,0 +1,141 @@ +From 0cf254b9a28ccf8aa9e0e18f802b63d58f3e5e92 Mon Sep 17 00:00:00 2001 +From: Emir Beganovic <beganovic.emir@gmail.com> +Date: Tue, 11 Apr 2017 20:53:00 +0200 +Subject: [PATCH 1/2] Check different behaviour for index version for MongoDB + 3.4 + +--- + .travis.yml | 134 ++++++++++++++++++--- + .../MongoDbAdapter/Mongo/MongoCollectionTest.php | 22 ++-- + tests/Alcaeus/MongoDbAdapter/Mongo/TestCase.php | 0 + tests/Alcaeus/MongoDbAdapter/TestCase.php | 11 ++ + 4 files changed, 139 insertions(+), 28 deletions(-) + create mode 100644 tests/Alcaeus/MongoDbAdapter/Mongo/TestCase.php + +diff --git a/tests/Alcaeus/MongoDbAdapter/Mongo/MongoCollectionTest.php b/tests/Alcaeus/MongoDbAdapter/Mongo/MongoCollectionTest.php +index 52a163f..b1f1ede 100644 +--- a/tests/Alcaeus/MongoDbAdapter/Mongo/MongoCollectionTest.php ++++ b/tests/Alcaeus/MongoDbAdapter/Mongo/MongoCollectionTest.php +@@ -1301,12 +1301,14 @@ public function testDeleteIndexesForNonExistingCollection() + $this->assertSame($expected, $this->getcollection('nonExisting')->deleteIndexes()); + } + +- public static function dataGetIndexInfo() ++ public function dataGetIndexInfo() + { ++ $indexVersion = $this->getDefaultIndexVersion(); ++ + return [ + 'plainIndex' => [ + 'expectedIndex' => [ +- 'v' => 1, ++ 'v' => $indexVersion, + 'key' => ['foo' => 1], + 'name' => 'foo_1', + 'ns' => 'mongo-php-adapter.test', +@@ -1316,7 +1318,7 @@ public static function dataGetIndexInfo() + ], + 'uniqueIndex' => [ + 'expectedIndex' => [ +- 'v' => 1, ++ 'v' => $indexVersion, + 'key' => ['foo' => 1], + 'name' => 'foo_1', + 'ns' => 'mongo-php-adapter.test', +@@ -1327,7 +1329,7 @@ public static function dataGetIndexInfo() + ], + 'sparseIndex' => [ + 'expectedIndex' => [ +- 'v' => 1, ++ 'v' => $indexVersion, + 'key' => ['foo' => 1], + 'name' => 'foo_1', + 'ns' => 'mongo-php-adapter.test', +@@ -1338,7 +1340,7 @@ public static function dataGetIndexInfo() + ], + 'ttlIndex' => [ + 'expectedIndex' => [ +- 'v' => 1, ++ 'v' => $indexVersion, + 'key' => ['foo' => 1], + 'name' => 'foo_1', + 'ns' => 'mongo-php-adapter.test', +@@ -1349,7 +1351,7 @@ public static function dataGetIndexInfo() + ], + 'textIndex' => [ + 'expectedIndex' => [ +- 'v' => 1, ++ 'v' => $indexVersion, + 'key' => [ + '_fts' => 'text', + '_ftsx' => 1, +@@ -1368,7 +1370,7 @@ public static function dataGetIndexInfo() + ], + 'partialFilterExpression' => [ + 'expectedIndex' => [ +- 'v' => 1, ++ 'v' => $indexVersion, + 'key' => ['foo' => 1], + 'name' => 'foo_1', + 'ns' => 'mongo-php-adapter.test', +@@ -1383,7 +1385,7 @@ public static function dataGetIndexInfo() + ], + 'geoSpatial' => [ + 'expectedIndex' => [ +- 'v' => 1, ++ 'v' => $indexVersion, + 'key' => ['foo' => '2dsphere'], + 'name' => 'foo_2dsphere', + 'ns' => 'mongo-php-adapter.test', +@@ -1394,7 +1396,7 @@ public static function dataGetIndexInfo() + ], + 'geoHaystack' => [ + 'expectedIndex' => [ +- 'v' => 1, ++ 'v' => $indexVersion, + 'key' => ['foo' => 'geoHaystack', 'bar' => 1], + 'name' => 'foo_geoHaystack_bar_1', + 'ns' => 'mongo-php-adapter.test', +@@ -1412,7 +1414,7 @@ public static function dataGetIndexInfo() + public function testGetIndexInfo($expectedIndex, $fields, $options) + { + $idIndex = [ +- 'v' => 1, ++ 'v' => $this->getDefaultIndexVersion(), + 'key' => ['_id' => 1], + 'name' => '_id_', + 'ns' => 'mongo-php-adapter.test', +diff --git a/tests/Alcaeus/MongoDbAdapter/Mongo/TestCase.php b/tests/Alcaeus/MongoDbAdapter/Mongo/TestCase.php +new file mode 100644 +index 0000000..e69de29 +diff --git a/tests/Alcaeus/MongoDbAdapter/TestCase.php b/tests/Alcaeus/MongoDbAdapter/TestCase.php +index 6964357..3dd96d6 100644 +--- a/tests/Alcaeus/MongoDbAdapter/TestCase.php ++++ b/tests/Alcaeus/MongoDbAdapter/TestCase.php +@@ -163,4 +163,15 @@ protected function skipTestIf($condition) + $this->markTestSkipped('Test only applies when running against mongo-php-adapter'); + } + } ++ ++ /** ++ * Indexes created in MongoDB 3.4 default to v: 2. ++ * @return int ++ * @see https://docs.mongodb.com/manual/release-notes/3.4-compatibility/#backwards-incompatible-features ++ */ ++ protected function getDefaultIndexVersion() ++ { ++ $serverInfo = $this->getDatabase()->command(array('buildinfo' => true)); ++ return isset($serverInfo['version']) && version_compare($serverInfo['version'], '3.4.0', '>=') ? 2 : 1; ++ } + } + +From 425d996ec86c5e5c93ae61bb1d0caf26cf06bda4 Mon Sep 17 00:00:00 2001 +From: Emir Beganovic <beganovic.emir@gmail.com> +Date: Wed, 12 Apr 2017 01:51:41 +0200 +Subject: [PATCH 2/2] One-liner + +--- + .travis.yml | 1 - + 1 file changed, 1 deletion(-) + + diff --git a/php-alcaeus-mongo-php-adapter.spec b/php-alcaeus-mongo-php-adapter.spec index 5a9a728..955606e 100644 --- a/php-alcaeus-mongo-php-adapter.spec +++ b/php-alcaeus-mongo-php-adapter.spec @@ -14,9 +14,7 @@ # Server only available on LE arch (ExcludeArch: ppc ppc64 %{sparc} s390 s390x) %global with_tests 0%{?_with_tests:1} # remirepo:5 -# Test suite rely on MongoDB server 3.2 -# https://github.com/alcaeus/mongo-php-adapter/issues/164 -%if 0%{?fedora} >= 24 && 0%{?fedora} <= 25 +%if 0%{?fedora} >= 24 %global with_tests 0%{!?_without_tests:1} %endif %global ns_vendor Alcaeus @@ -24,7 +22,7 @@ Name: php-%{gh_owner}-%{gh_project} Version: 1.0.10 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Mongo PHP Adapter Group: Development/Libraries @@ -32,6 +30,8 @@ License: MIT URL: https://github.com/%{gh_owner}/%{gh_project} Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{gh_project}-%{version}%{?prever}-%{?gh_short}.tar.gz +Patch0: 167.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch BuildRequires: php-fedora-autoloader-devel @@ -82,7 +82,7 @@ Autoloader: %{_datadir}/php/%{ns_vendor}/MongoDbAdapter/autoload.php %prep %setup -q -n %{gh_project}-%{gh_commit} - +%patch0 -p1 mv lib/Mongo lib/%{ns_vendor}/Mongo @@ -171,6 +171,10 @@ rm -rf %{buildroot} %changelog +* Wed Apr 12 2017 Remi Collet <remi@remirepo.net> - 1.0.10-2 +- add patch from https://github.com/alcaeus/mongo-php-adapter/pull/167 +- enable test suite with mongodb 3.1 (F26) + * Thu Mar 30 2017 Remi Collet <remi@remirepo.net> - 1.0.10-1 - Update to 1.0.10 |