diff --git a/composer.json b/composer.json index 06be63e263..10514d8fc1 100644 --- a/composer.json +++ b/composer.json @@ -45,7 +45,7 @@ "phpstan/phpstan-phpunit": "^1.1", "phpstan/phpstan-strict-rules": "^1.1", "phpstan/phpstan-symfony": "^1.1", - "phpunit/phpunit": "^9.5.24", + "phpunit/phpunit": "^10.2", "symfony/cache": "^4.4 || ^5.4 || ^6.0", "symfony/process": "^4.4 || ^5.4 || ^6.0", "symfony/yaml": "^4.4 || ^5.4 || ^6.0" diff --git a/phpcs.xml.dist b/phpcs.xml.dist index a2603617ab..48b677fbe9 100644 --- a/phpcs.xml.dist +++ b/phpcs.xml.dist @@ -44,7 +44,6 @@ lib/Doctrine/Migrations/AbstractMigration.php - tests/Doctrine/Migrations/Tests/Configuration/Loader/AbstractLoaderTest.php lib/Doctrine/Migrations/Configuration/Loader/AbstractFileLoader.php diff --git a/phpunit.xml.dist b/phpunit.xml.dist index b3aff66177..db722617f7 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -3,7 +3,6 @@ @@ -16,9 +15,9 @@ - + ./lib/ - + diff --git a/tests/Doctrine/Migrations/Tests/Configuration/Migration/JsonLoaderTest.php b/tests/Doctrine/Migrations/Tests/Configuration/Migration/JsonLoaderTest.php index 304d5a9da3..60a6cb6e29 100644 --- a/tests/Doctrine/Migrations/Tests/Configuration/Migration/JsonLoaderTest.php +++ b/tests/Doctrine/Migrations/Tests/Configuration/Migration/JsonLoaderTest.php @@ -8,7 +8,7 @@ use Doctrine\Migrations\Configuration\Migration\Exception\JsonNotValid; use Doctrine\Migrations\Configuration\Migration\JsonFile; -class JsonLoaderTest extends LoaderTest +class JsonLoaderTest extends LoaderTestCase { public function load(string $prefix = ''): Configuration { diff --git a/tests/Doctrine/Migrations/Tests/Configuration/Migration/LoaderTest.php b/tests/Doctrine/Migrations/Tests/Configuration/Migration/LoaderTestCase.php similarity index 98% rename from tests/Doctrine/Migrations/Tests/Configuration/Migration/LoaderTest.php rename to tests/Doctrine/Migrations/Tests/Configuration/Migration/LoaderTestCase.php index 926e42271f..100eaa5f64 100644 --- a/tests/Doctrine/Migrations/Tests/Configuration/Migration/LoaderTest.php +++ b/tests/Doctrine/Migrations/Tests/Configuration/Migration/LoaderTestCase.php @@ -15,7 +15,7 @@ use const DIRECTORY_SEPARATOR; -abstract class LoaderTest extends TestCase +abstract class LoaderTestCase extends TestCase { abstract public function load(string $prefix = ''): Configuration; diff --git a/tests/Doctrine/Migrations/Tests/Configuration/Migration/PhpLoaderTest.php b/tests/Doctrine/Migrations/Tests/Configuration/Migration/PhpLoaderTest.php index 8b4935e93f..16e88280b6 100644 --- a/tests/Doctrine/Migrations/Tests/Configuration/Migration/PhpLoaderTest.php +++ b/tests/Doctrine/Migrations/Tests/Configuration/Migration/PhpLoaderTest.php @@ -7,7 +7,7 @@ use Doctrine\Migrations\Configuration\Configuration; use Doctrine\Migrations\Configuration\Migration\PhpFile; -class PhpLoaderTest extends LoaderTest +class PhpLoaderTest extends LoaderTestCase { public function load(string $prefix = ''): Configuration { diff --git a/tests/Doctrine/Migrations/Tests/Configuration/Migration/XmlLoaderTest.php b/tests/Doctrine/Migrations/Tests/Configuration/Migration/XmlLoaderTest.php index d0c07855d9..f177222b7a 100644 --- a/tests/Doctrine/Migrations/Tests/Configuration/Migration/XmlLoaderTest.php +++ b/tests/Doctrine/Migrations/Tests/Configuration/Migration/XmlLoaderTest.php @@ -8,7 +8,7 @@ use Doctrine\Migrations\Configuration\Migration\Exception\XmlNotValid; use Doctrine\Migrations\Configuration\Migration\XmlFile; -class XmlLoaderTest extends LoaderTest +class XmlLoaderTest extends LoaderTestCase { public function load(string $prefix = ''): Configuration { diff --git a/tests/Doctrine/Migrations/Tests/Configuration/Migration/YamlLoaderTest.php b/tests/Doctrine/Migrations/Tests/Configuration/Migration/YamlLoaderTest.php index a04caf6b5d..a6f42e22c0 100644 --- a/tests/Doctrine/Migrations/Tests/Configuration/Migration/YamlLoaderTest.php +++ b/tests/Doctrine/Migrations/Tests/Configuration/Migration/YamlLoaderTest.php @@ -8,7 +8,7 @@ use Doctrine\Migrations\Configuration\Migration\Exception\YamlNotValid; use Doctrine\Migrations\Configuration\Migration\YamlFile; -class YamlLoaderTest extends LoaderTest +class YamlLoaderTest extends LoaderTestCase { public function load(string $prefix = ''): Configuration { diff --git a/tests/Doctrine/Migrations/Tests/Tools/Console/Command/ExecuteCommandTest.php b/tests/Doctrine/Migrations/Tests/Tools/Console/Command/ExecuteCommandTest.php index 1fa54dcaef..55c84055ab 100644 --- a/tests/Doctrine/Migrations/Tests/Tools/Console/Command/ExecuteCommandTest.php +++ b/tests/Doctrine/Migrations/Tests/Tools/Console/Command/ExecuteCommandTest.php @@ -80,7 +80,7 @@ public function testWriteSql(bool $dryRun, $arg, ?string $path): void } /** @return mixed[] */ - public function getWriteSqlValues(): array + public static function getWriteSqlValues(): array { return [ // dry-run, write-path, path diff --git a/tests/Doctrine/Migrations/Tests/Tools/Console/Command/MigrateCommandTest.php b/tests/Doctrine/Migrations/Tests/Tools/Console/Command/MigrateCommandTest.php index 4d3b716e35..150e1004c5 100644 --- a/tests/Doctrine/Migrations/Tests/Tools/Console/Command/MigrateCommandTest.php +++ b/tests/Doctrine/Migrations/Tests/Tools/Console/Command/MigrateCommandTest.php @@ -76,7 +76,7 @@ public function testTargetUnknownVersion(): void } /** @return array> */ - public function getMigrateWithMigrationsOrWithout(): array + public static function getMigrateWithMigrationsOrWithout(): array { return [ // migrations available, allow-no-migrations, expected exit code @@ -120,7 +120,7 @@ public function testMigrateWhenNoMigrationsAvailable(bool $hasMigrations, bool $ } /** @return array> */ - public function getTargetAliases(): array + public static function getTargetAliases(): array { return [ ['A', 'OK', 'A'], // already at A @@ -250,7 +250,7 @@ public function testExecuteWriteSql(bool $dryRun, $arg, ?string $path): void } /** @return mixed[] */ - public function getWriteSqlValues(): array + public static function getWriteSqlValues(): array { return [ // dry-run, write-path, path @@ -381,7 +381,7 @@ public function testExecuteMigrateAllOrNothing(bool $default, array $input, bool } /** @psalm-return Generator, bool}> */ - public function allOrNothing(): Generator + public static function allOrNothing(): Generator { yield [false, ['--all-or-nothing' => false], false]; yield [false, ['--all-or-nothing' => 0], false]; diff --git a/tests/Doctrine/Migrations/Tests/Tools/Console/Command/UpToDateCommandTest.php b/tests/Doctrine/Migrations/Tests/Tools/Console/Command/UpToDateCommandTest.php index eae571837e..40cb09ae97 100644 --- a/tests/Doctrine/Migrations/Tests/Tools/Console/Command/UpToDateCommandTest.php +++ b/tests/Doctrine/Migrations/Tests/Tools/Console/Command/UpToDateCommandTest.php @@ -134,7 +134,7 @@ public function testMigrationList(): void } /** @return mixed[][] */ - public function dataIsUpToDate(): array + public static function dataIsUpToDate(): array { return [ 'up-to-date' => [ diff --git a/tests/Doctrine/Migrations/Tests/Tools/Console/ConsoleRunnerTest.php b/tests/Doctrine/Migrations/Tests/Tools/Console/ConsoleRunnerTest.php index bbfee736c6..6dbdb87b94 100644 --- a/tests/Doctrine/Migrations/Tests/Tools/Console/ConsoleRunnerTest.php +++ b/tests/Doctrine/Migrations/Tests/Tools/Console/ConsoleRunnerTest.php @@ -103,7 +103,7 @@ public function testNoDependencyFactoryWhenNoCliConfig(): void } /** @return array> */ - public function getDependencyFactoryTestDirectories(): array + public static function getDependencyFactoryTestDirectories(): array { return [ [__DIR__], diff --git a/tests/Doctrine/Migrations/Tests/Version/AliasResolverTest.php b/tests/Doctrine/Migrations/Tests/Version/AliasResolverTest.php index 6118509a16..c627f8ba40 100644 --- a/tests/Doctrine/Migrations/Tests/Version/AliasResolverTest.php +++ b/tests/Doctrine/Migrations/Tests/Version/AliasResolverTest.php @@ -97,7 +97,7 @@ public function testAliasesWithNoExecuted(string $alias, ?string $expectedVersio } /** @return mixed[][] */ - public function getAliasesWithNoExecuted(): array + public static function getAliasesWithNoExecuted(): array { return [ ['first', '0'], @@ -113,7 +113,7 @@ public function getAliasesWithNoExecuted(): array } /** @return mixed[][] */ - public function getAliases(): array + public static function getAliases(): array { return [ ['first', '0'], diff --git a/tests/Doctrine/Migrations/Tests/Version/ExecutorTest.php b/tests/Doctrine/Migrations/Tests/Version/ExecutorTest.php index 6336304e69..7a889a434f 100644 --- a/tests/Doctrine/Migrations/Tests/Version/ExecutorTest.php +++ b/tests/Doctrine/Migrations/Tests/Version/ExecutorTest.php @@ -504,15 +504,8 @@ public function executeDownShouldAppendDescriptionWhenItIsNotEmpty(): void protected function setUp(): void { - // add getSql to mock until method will be added to MetadataStorage interface - $this->metadataStorage = $this->getMockBuilder(MetadataStorage::class) - ->disableOriginalConstructor() - ->disableOriginalClone() - ->disableArgumentCloning() - ->disallowMockingUnknownTypes() - ->onlyMethods(['ensureInitialized', 'getExecutedMigrations', 'complete', 'reset']) - ->addMethods(['getSql']) - ->getMock(); + // use FutureMetadataStorage until getSql is added to MetadataStorage interface + $this->metadataStorage = $this->createMock(FutureMetadataStorage::class); $this->connection = $this->createMock(Connection::class); $driverConnection = $this->createStub(DriverConnection::class); @@ -563,3 +556,9 @@ protected function setUp(): void ->willReturn([$stopWatchPeriod]); } } + +interface FutureMetadataStorage extends MetadataStorage +{ + /** @return iterable */ + public function getSql(ExecutionResult $result): iterable; +} diff --git a/tests/Doctrine/Migrations/Tests/Version/MigrationPlanCalculatorTest.php b/tests/Doctrine/Migrations/Tests/Version/MigrationPlanCalculatorTest.php index 7f26b77cfd..fa14dd36c5 100644 --- a/tests/Doctrine/Migrations/Tests/Version/MigrationPlanCalculatorTest.php +++ b/tests/Doctrine/Migrations/Tests/Version/MigrationPlanCalculatorTest.php @@ -138,7 +138,7 @@ public function testPlanWhenNoMigrations(string $to, array $expectedPlan, string } /** @return mixed[] */ - public function getPlanUpWhenNoMigrations(): array + public static function getPlanUpWhenNoMigrations(): array { return [ ['A', ['A'], Direction::UP], @@ -182,7 +182,7 @@ public function testTargetMigrationNotFound(): void } /** @return mixed[] */ - public function getPlanUpWhenMigrations(): array + public static function getPlanUpWhenMigrations(): array { return [ ['0', ['B', 'A'], Direction::DOWN], @@ -220,7 +220,7 @@ public function testPlanWhenMigrationsOutOfOrder(string $to, array $expectedPlan } /** @return mixed[] */ - public function getPlanUpWhenMigrationsOutOfOrder(): array + public static function getPlanUpWhenMigrationsOutOfOrder(): array { return [ ['C',['A'],Direction::UP],