PHPLIB-462: Fix PHPUnit hook methods for different versions

parent 1c74f44e
...@@ -16,7 +16,8 @@ ...@@ -16,7 +16,8 @@
"ext-mongodb": "^1.6" "ext-mongodb": "^1.6"
}, },
"require-dev": { "require-dev": {
"phpunit/phpunit": "^5.7.27 || ^6.4 || ^8.3" "phpunit/phpunit": "^5.7.27 || ^6.4 || ^8.3",
"symfony/phpunit-bridge": "^4.4@dev"
}, },
"autoload": { "autoload": {
"psr-4": { "MongoDB\\": "src/" }, "psr-4": { "MongoDB\\": "src/" },
......
...@@ -6,15 +6,18 @@ use MongoDB\Client; ...@@ -6,15 +6,18 @@ use MongoDB\Client;
use MongoDB\Driver\BulkWrite; use MongoDB\Driver\BulkWrite;
use MongoDB\Driver\Command; use MongoDB\Driver\Command;
use MongoDB\Model\DatabaseInfo; use MongoDB\Model\DatabaseInfo;
use Symfony\Bridge\PhpUnit\SetUpTearDownTrait;
/** /**
* Functional tests for the Client class. * Functional tests for the Client class.
*/ */
class ClientFunctionalTest extends FunctionalTestCase class ClientFunctionalTest extends FunctionalTestCase
{ {
use SetUpTearDownTrait;
private $client; private $client;
public function setUp() private function doSetUp()
{ {
parent::setUp(); parent::setUp();
......
...@@ -11,6 +11,7 @@ use MongoDB\Operation\FindOneAndReplace; ...@@ -11,6 +11,7 @@ use MongoDB\Operation\FindOneAndReplace;
use IteratorIterator; use IteratorIterator;
use LogicException; use LogicException;
use MultipleIterator; use MultipleIterator;
use Symfony\Bridge\PhpUnit\SetUpTearDownTrait;
/** /**
* CRUD spec functional tests. * CRUD spec functional tests.
...@@ -19,9 +20,11 @@ use MultipleIterator; ...@@ -19,9 +20,11 @@ use MultipleIterator;
*/ */
class CrudSpecFunctionalTest extends FunctionalTestCase class CrudSpecFunctionalTest extends FunctionalTestCase
{ {
use SetUpTearDownTrait;
private $expectedCollection; private $expectedCollection;
public function setUp() private function doSetUp()
{ {
parent::setUp(); parent::setUp();
......
...@@ -5,15 +5,18 @@ namespace MongoDB\Tests\Collection; ...@@ -5,15 +5,18 @@ namespace MongoDB\Tests\Collection;
use MongoDB\Collection; use MongoDB\Collection;
use MongoDB\Driver\WriteConcern; use MongoDB\Driver\WriteConcern;
use MongoDB\Tests\FunctionalTestCase as BaseFunctionalTestCase; use MongoDB\Tests\FunctionalTestCase as BaseFunctionalTestCase;
use Symfony\Bridge\PhpUnit\SetUpTearDownTrait;
/** /**
* Base class for Collection functional tests. * Base class for Collection functional tests.
*/ */
abstract class FunctionalTestCase extends BaseFunctionalTestCase abstract class FunctionalTestCase extends BaseFunctionalTestCase
{ {
use SetUpTearDownTrait;
protected $collection; protected $collection;
public function setUp() private function doSetUp()
{ {
parent::setUp(); parent::setUp();
...@@ -22,7 +25,7 @@ abstract class FunctionalTestCase extends BaseFunctionalTestCase ...@@ -22,7 +25,7 @@ abstract class FunctionalTestCase extends BaseFunctionalTestCase
$this->dropCollection(); $this->dropCollection();
} }
public function tearDown() private function doTearDown()
{ {
if ($this->hasFailed()) { if ($this->hasFailed()) {
return; return;
......
...@@ -4,15 +4,18 @@ namespace MongoDB\Tests\Database; ...@@ -4,15 +4,18 @@ namespace MongoDB\Tests\Database;
use MongoDB\Database; use MongoDB\Database;
use MongoDB\Tests\FunctionalTestCase as BaseFunctionalTestCase; use MongoDB\Tests\FunctionalTestCase as BaseFunctionalTestCase;
use Symfony\Bridge\PhpUnit\SetUpTearDownTrait;
/** /**
* Base class for Database functional tests. * Base class for Database functional tests.
*/ */
abstract class FunctionalTestCase extends BaseFunctionalTestCase abstract class FunctionalTestCase extends BaseFunctionalTestCase
{ {
use SetUpTearDownTrait;
protected $database; protected $database;
public function setUp() private function doSetUp()
{ {
parent::setUp(); parent::setUp();
......
...@@ -11,6 +11,7 @@ use MongoDB\Driver\Server; ...@@ -11,6 +11,7 @@ use MongoDB\Driver\Server;
use MongoDB\Driver\WriteConcern; use MongoDB\Driver\WriteConcern;
use MongoDB\Driver\Exception\ConnectionTimeoutException; use MongoDB\Driver\Exception\ConnectionTimeoutException;
use MongoDB\Operation\DropCollection; use MongoDB\Operation\DropCollection;
use Symfony\Bridge\PhpUnit\SetUpTearDownTrait;
/** /**
* Documentation examples to be parsed for inclusion in the MongoDB manual. * Documentation examples to be parsed for inclusion in the MongoDB manual.
...@@ -21,14 +22,16 @@ use MongoDB\Operation\DropCollection; ...@@ -21,14 +22,16 @@ use MongoDB\Operation\DropCollection;
*/ */
class DocumentationExamplesTest extends FunctionalTestCase class DocumentationExamplesTest extends FunctionalTestCase
{ {
public function setUp() use SetUpTearDownTrait;
private function doSetUp()
{ {
parent::setUp(); parent::setUp();
$this->dropCollection(); $this->dropCollection();
} }
public function tearDown() private function doTearDown()
{ {
if ($this->hasFailed()) { if ($this->hasFailed()) {
return; return;
......
...@@ -15,15 +15,18 @@ use MongoDB\Operation\DatabaseCommand; ...@@ -15,15 +15,18 @@ use MongoDB\Operation\DatabaseCommand;
use MongoDB\Operation\DropCollection; use MongoDB\Operation\DropCollection;
use InvalidArgumentException; use InvalidArgumentException;
use stdClass; use stdClass;
use Symfony\Bridge\PhpUnit\SetUpTearDownTrait;
use UnexpectedValueException; use UnexpectedValueException;
abstract class FunctionalTestCase extends TestCase abstract class FunctionalTestCase extends TestCase
{ {
use SetUpTearDownTrait;
protected $manager; protected $manager;
private $configuredFailPoints = []; private $configuredFailPoints = [];
public function setUp() private function doSetUp()
{ {
parent::setUp(); parent::setUp();
...@@ -31,7 +34,7 @@ abstract class FunctionalTestCase extends TestCase ...@@ -31,7 +34,7 @@ abstract class FunctionalTestCase extends TestCase
$this->configuredFailPoints = []; $this->configuredFailPoints = [];
} }
public function tearDown() private function doTearDown()
{ {
$this->disableFailPoints(); $this->disableFailPoints();
......
...@@ -5,17 +5,20 @@ namespace MongoDB\Tests\GridFS; ...@@ -5,17 +5,20 @@ namespace MongoDB\Tests\GridFS;
use MongoDB\Collection; use MongoDB\Collection;
use MongoDB\GridFS\Bucket; use MongoDB\GridFS\Bucket;
use MongoDB\Tests\FunctionalTestCase as BaseFunctionalTestCase; use MongoDB\Tests\FunctionalTestCase as BaseFunctionalTestCase;
use Symfony\Bridge\PhpUnit\SetUpTearDownTrait;
/** /**
* Base class for GridFS functional tests. * Base class for GridFS functional tests.
*/ */
abstract class FunctionalTestCase extends BaseFunctionalTestCase abstract class FunctionalTestCase extends BaseFunctionalTestCase
{ {
use SetUpTearDownTrait;
protected $bucket; protected $bucket;
protected $chunksCollection; protected $chunksCollection;
protected $filesCollection; protected $filesCollection;
public function setUp() private function doSetUp()
{ {
parent::setUp(); parent::setUp();
......
...@@ -9,15 +9,18 @@ use MongoDB\GridFS\ReadableStream; ...@@ -9,15 +9,18 @@ use MongoDB\GridFS\ReadableStream;
use MongoDB\GridFS\Exception\CorruptFileException; use MongoDB\GridFS\Exception\CorruptFileException;
use MongoDB\Tests\CommandObserver; use MongoDB\Tests\CommandObserver;
use stdClass; use stdClass;
use Symfony\Bridge\PhpUnit\SetUpTearDownTrait;
/** /**
* Functional tests for the internal ReadableStream class. * Functional tests for the internal ReadableStream class.
*/ */
class ReadableStreamFunctionalTest extends FunctionalTestCase class ReadableStreamFunctionalTest extends FunctionalTestCase
{ {
use SetUpTearDownTrait;
private $collectionWrapper; private $collectionWrapper;
public function setUp() private function doSetUp()
{ {
parent::setUp(); parent::setUp();
......
...@@ -13,6 +13,7 @@ use Exception; ...@@ -13,6 +13,7 @@ use Exception;
use IteratorIterator; use IteratorIterator;
use LogicException; use LogicException;
use MultipleIterator; use MultipleIterator;
use Symfony\Bridge\PhpUnit\SetUpTearDownTrait;
/** /**
* GridFS spec functional tests. * GridFS spec functional tests.
...@@ -21,10 +22,12 @@ use MultipleIterator; ...@@ -21,10 +22,12 @@ use MultipleIterator;
*/ */
class SpecFunctionalTest extends FunctionalTestCase class SpecFunctionalTest extends FunctionalTestCase
{ {
use SetUpTearDownTrait;
private $expectedChunksCollection; private $expectedChunksCollection;
private $expectedFilesCollection; private $expectedFilesCollection;
public function setUp() private function doSetUp()
{ {
parent::setUp(); parent::setUp();
......
...@@ -4,13 +4,16 @@ namespace MongoDB\Tests\GridFS; ...@@ -4,13 +4,16 @@ namespace MongoDB\Tests\GridFS;
use MongoDB\BSON\Binary; use MongoDB\BSON\Binary;
use MongoDB\BSON\UTCDateTime; use MongoDB\BSON\UTCDateTime;
use Symfony\Bridge\PhpUnit\SetUpTearDownTrait;
/** /**
* Functional tests for the internal StreamWrapper class. * Functional tests for the internal StreamWrapper class.
*/ */
class StreamWrapperFunctionalTest extends FunctionalTestCase class StreamWrapperFunctionalTest extends FunctionalTestCase
{ {
public function setUp() use SetUpTearDownTrait;
private function doSetUp()
{ {
parent::setUp(); parent::setUp();
......
...@@ -5,15 +5,18 @@ namespace MongoDB\Tests\GridFS; ...@@ -5,15 +5,18 @@ namespace MongoDB\Tests\GridFS;
use MongoDB\Exception\InvalidArgumentException; use MongoDB\Exception\InvalidArgumentException;
use MongoDB\GridFS\CollectionWrapper; use MongoDB\GridFS\CollectionWrapper;
use MongoDB\GridFS\WritableStream; use MongoDB\GridFS\WritableStream;
use Symfony\Bridge\PhpUnit\SetUpTearDownTrait;
/** /**
* Functional tests for the internal WritableStream class. * Functional tests for the internal WritableStream class.
*/ */
class WritableStreamFunctionalTest extends FunctionalTestCase class WritableStreamFunctionalTest extends FunctionalTestCase
{ {
use SetUpTearDownTrait;
private $collectionWrapper; private $collectionWrapper;
public function setUp() private function doSetUp()
{ {
parent::setUp(); parent::setUp();
......
...@@ -11,12 +11,15 @@ use MongoDB\Operation\CreateCollection; ...@@ -11,12 +11,15 @@ use MongoDB\Operation\CreateCollection;
use MongoDB\Operation\DropCollection; use MongoDB\Operation\DropCollection;
use MongoDB\Tests\CommandObserver; use MongoDB\Tests\CommandObserver;
use MongoDB\Tests\FunctionalTestCase; use MongoDB\Tests\FunctionalTestCase;
use Symfony\Bridge\PhpUnit\SetUpTearDownTrait;
class ChangeStreamIteratorTest extends FunctionalTestCase class ChangeStreamIteratorTest extends FunctionalTestCase
{ {
use SetUpTearDownTrait;
private $collection; private $collection;
public function setUp() private function doSetUp()
{ {
parent::setUp(); parent::setUp();
......
...@@ -4,12 +4,15 @@ namespace MongoDB\Tests\Model; ...@@ -4,12 +4,15 @@ namespace MongoDB\Tests\Model;
use MongoDB\Collection; use MongoDB\Collection;
use MongoDB\Tests\FunctionalTestCase; use MongoDB\Tests\FunctionalTestCase;
use Symfony\Bridge\PhpUnit\SetUpTearDownTrait;
class IndexInfoFunctionalTest extends FunctionalTestCase class IndexInfoFunctionalTest extends FunctionalTestCase
{ {
use SetUpTearDownTrait;
private $collection; private $collection;
public function setUp() private function doSetUp()
{ {
parent::setUp(); parent::setUp();
...@@ -17,7 +20,7 @@ class IndexInfoFunctionalTest extends FunctionalTestCase ...@@ -17,7 +20,7 @@ class IndexInfoFunctionalTest extends FunctionalTestCase
$this->collection->drop(); $this->collection->drop();
} }
public function tearDown() private function doTearDown()
{ {
if ($this->hasFailed()) { if ($this->hasFailed()) {
return; return;
......
...@@ -12,12 +12,15 @@ use MongoDB\Model\BSONDocument; ...@@ -12,12 +12,15 @@ use MongoDB\Model\BSONDocument;
use MongoDB\Operation\BulkWrite; use MongoDB\Operation\BulkWrite;
use MongoDB\Tests\CommandObserver; use MongoDB\Tests\CommandObserver;
use stdClass; use stdClass;
use Symfony\Bridge\PhpUnit\SetUpTearDownTrait;
class BulkWriteFunctionalTest extends FunctionalTestCase class BulkWriteFunctionalTest extends FunctionalTestCase
{ {
use SetUpTearDownTrait;
private $collection; private $collection;
public function setUp() private function doSetUp()
{ {
parent::setUp(); parent::setUp();
......
...@@ -10,12 +10,15 @@ use MongoDB\Exception\BadMethodCallException; ...@@ -10,12 +10,15 @@ use MongoDB\Exception\BadMethodCallException;
use MongoDB\Operation\Delete; use MongoDB\Operation\Delete;
use MongoDB\Tests\CommandObserver; use MongoDB\Tests\CommandObserver;
use stdClass; use stdClass;
use Symfony\Bridge\PhpUnit\SetUpTearDownTrait;
class DeleteFunctionalTest extends FunctionalTestCase class DeleteFunctionalTest extends FunctionalTestCase
{ {
use SetUpTearDownTrait;
private $collection; private $collection;
public function setUp() private function doSetUp()
{ {
parent::setUp(); parent::setUp();
......
...@@ -8,20 +8,23 @@ use MongoDB\Driver\ReadPreference; ...@@ -8,20 +8,23 @@ use MongoDB\Driver\ReadPreference;
use MongoDB\Driver\WriteConcern; use MongoDB\Driver\WriteConcern;
use MongoDB\Operation\DropCollection; use MongoDB\Operation\DropCollection;
use MongoDB\Tests\FunctionalTestCase as BaseFunctionalTestCase; use MongoDB\Tests\FunctionalTestCase as BaseFunctionalTestCase;
use Symfony\Bridge\PhpUnit\SetUpTearDownTrait;
/** /**
* Base class for Operation functional tests. * Base class for Operation functional tests.
*/ */
abstract class FunctionalTestCase extends BaseFunctionalTestCase abstract class FunctionalTestCase extends BaseFunctionalTestCase
{ {
public function setUp() use SetUpTearDownTrait;
private function doSetUp()
{ {
parent::setUp(); parent::setUp();
$this->dropCollection(); $this->dropCollection();
} }
public function tearDown() private function doTearDown()
{ {
if ($this->hasFailed()) { if ($this->hasFailed()) {
return; return;
......
...@@ -10,12 +10,15 @@ use MongoDB\Model\BSONDocument; ...@@ -10,12 +10,15 @@ use MongoDB\Model\BSONDocument;
use MongoDB\Operation\InsertMany; use MongoDB\Operation\InsertMany;
use MongoDB\Tests\CommandObserver; use MongoDB\Tests\CommandObserver;
use stdClass; use stdClass;
use Symfony\Bridge\PhpUnit\SetUpTearDownTrait;
class InsertManyFunctionalTest extends FunctionalTestCase class InsertManyFunctionalTest extends FunctionalTestCase
{ {
use SetUpTearDownTrait;
private $collection; private $collection;
public function setUp() private function doSetUp()
{ {
parent::setUp(); parent::setUp();
......
...@@ -10,12 +10,15 @@ use MongoDB\Model\BSONDocument; ...@@ -10,12 +10,15 @@ use MongoDB\Model\BSONDocument;
use MongoDB\Operation\InsertOne; use MongoDB\Operation\InsertOne;
use MongoDB\Tests\CommandObserver; use MongoDB\Tests\CommandObserver;
use stdClass; use stdClass;
use Symfony\Bridge\PhpUnit\SetUpTearDownTrait;
class InsertOneFunctionalTest extends FunctionalTestCase class InsertOneFunctionalTest extends FunctionalTestCase
{ {
use SetUpTearDownTrait;
private $collection; private $collection;
public function setUp() private function doSetUp()
{ {
parent::setUp(); parent::setUp();
......
...@@ -10,12 +10,15 @@ use MongoDB\Exception\BadMethodCallException; ...@@ -10,12 +10,15 @@ use MongoDB\Exception\BadMethodCallException;
use MongoDB\Operation\Update; use MongoDB\Operation\Update;
use MongoDB\Tests\CommandObserver; use MongoDB\Tests\CommandObserver;
use stdClass; use stdClass;
use Symfony\Bridge\PhpUnit\SetUpTearDownTrait;
class UpdateFunctionalTest extends FunctionalTestCase class UpdateFunctionalTest extends FunctionalTestCase
{ {
use SetUpTearDownTrait;
private $collection; private $collection;
public function setUp() private function doSetUp()
{ {
parent::setUp(); parent::setUp();
......
...@@ -19,14 +19,17 @@ use MongoDB\Operation\Watch; ...@@ -19,14 +19,17 @@ use MongoDB\Operation\Watch;
use MongoDB\Tests\CommandObserver; use MongoDB\Tests\CommandObserver;
use stdClass; use stdClass;
use ReflectionClass; use ReflectionClass;
use Symfony\Bridge\PhpUnit\SetUpTearDownTrait;
class WatchFunctionalTest extends FunctionalTestCase class WatchFunctionalTest extends FunctionalTestCase
{ {
use SetUpTearDownTrait;
private static $wireVersionForStartAtOperationTime = 7; private static $wireVersionForStartAtOperationTime = 7;
private $defaultOptions = ['maxAwaitTimeMS' => 500]; private $defaultOptions = ['maxAwaitTimeMS' => 500];
public function setUp() private function doSetUp()
{ {
parent::setUp(); parent::setUp();
......
...@@ -17,6 +17,7 @@ use IteratorIterator; ...@@ -17,6 +17,7 @@ use IteratorIterator;
use LogicException; use LogicException;
use MultipleIterator; use MultipleIterator;
use stdClass; use stdClass;
use Symfony\Bridge\PhpUnit\SetUpTearDownTrait;
use UnexpectedValueException; use UnexpectedValueException;
/** /**
...@@ -26,20 +27,22 @@ use UnexpectedValueException; ...@@ -26,20 +27,22 @@ use UnexpectedValueException;
*/ */
class FunctionalTestCase extends BaseFunctionalTestCase class FunctionalTestCase extends BaseFunctionalTestCase
{ {
use SetUpTearDownTrait;
const TOPOLOGY_SINGLE = 'single'; const TOPOLOGY_SINGLE = 'single';
const TOPOLOGY_REPLICASET = 'replicaset'; const TOPOLOGY_REPLICASET = 'replicaset';
const TOPOLOGY_SHARDED = 'sharded'; const TOPOLOGY_SHARDED = 'sharded';
private $context; private $context;
public function setUp() private function doSetUp()
{ {
parent::setUp(); parent::setUp();
$this->context = null; $this->context = null;
} }
public function tearDown() private function doTearDown()
{ {
$this->context = null; $this->context = null;
......
...@@ -12,6 +12,7 @@ use MongoDB\Driver\Server; ...@@ -12,6 +12,7 @@ use MongoDB\Driver\Server;
use MongoDB\Driver\WriteConcern; use MongoDB\Driver\WriteConcern;
use MongoDB\Driver\Exception\ServerException; use MongoDB\Driver\Exception\ServerException;
use stdClass; use stdClass;
use Symfony\Bridge\PhpUnit\SetUpTearDownTrait;
/** /**
* Transactions spec tests. * Transactions spec tests.
...@@ -20,6 +21,8 @@ use stdClass; ...@@ -20,6 +21,8 @@ use stdClass;
*/ */
class TransactionsSpecTest extends FunctionalTestCase class TransactionsSpecTest extends FunctionalTestCase
{ {
use SetUpTearDownTrait;
const INTERRUPTED = 11601; const INTERRUPTED = 11601;
/* In addition to the useMultipleMongoses tests, these should all pass /* In addition to the useMultipleMongoses tests, these should all pass
...@@ -38,14 +41,14 @@ class TransactionsSpecTest extends FunctionalTestCase ...@@ -38,14 +41,14 @@ class TransactionsSpecTest extends FunctionalTestCase
'transaction-options: readConcern snapshot in startTransaction options' => 'PHPLIB does not properly inherit readConcern for transactions', 'transaction-options: readConcern snapshot in startTransaction options' => 'PHPLIB does not properly inherit readConcern for transactions',
]; ];
public static function setUpBeforeClass() private static function doSetUpBeforeClass()
{ {
parent::setUpBeforeClass(); parent::setUpBeforeClass();
static::killAllSessions(); static::killAllSessions();
} }
public function tearDown() private function doTearDown()
{ {
if ($this->hasFailed()) { if ($this->hasFailed()) {
static::killAllSessions(); static::killAllSessions();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment