From 27caae56c04184fd37f5d55e1d37ad35b4a33d7f Mon Sep 17 00:00:00 2001 From: Sergei Shitikov Date: Thu, 22 Aug 2024 16:45:47 +0200 Subject: [PATCH] refactor Container to GenericContainer for better align to other Testcontainers language packages --- README.md | 4 ++-- .../{Container.php => GenericContainer.php} | 4 ++-- src/Container/MariaDBContainer.php | 2 +- src/Container/MySQLContainer.php | 2 +- src/Container/OpenSearchContainer.php | 2 +- src/Container/PostgresContainer.php | 2 +- src/Container/RedisContainer.php | 2 +- src/Registry.php | 8 ++++---- src/Trait/DockerContainerAwareTrait.php | 6 +++--- tests/Integration/WaitStrategyTest.php | 12 ++++++------ 10 files changed, 22 insertions(+), 22 deletions(-) rename src/Container/{Container.php => GenericContainer.php} (99%) diff --git a/README.md b/README.md index ab5a7fd..3e2c2e1 100644 --- a/README.md +++ b/README.md @@ -17,9 +17,9 @@ composer req --dev testcontainers/testcontainers ```php withEnvironment('name', 'var'); diff --git a/src/Container/Container.php b/src/Container/GenericContainer.php similarity index 99% rename from src/Container/Container.php rename to src/Container/GenericContainer.php index c7fac17..772001e 100644 --- a/src/Container/Container.php +++ b/src/Container/GenericContainer.php @@ -23,7 +23,7 @@ use Testcontainers\Wait\WaitInterface; * @phpstan-type ContainerInspect ContainerInspectSingleNetwork|ContainerInspectMultipleNetworks * @phpstan-type DockerNetwork array{CreatedAt: string, Driver: string, ID: string, IPv6: string, Internal: string, Labels: string, Name: string, Scope: string} */ -class Container +class GenericContainer { protected Docker $dockerClient; @@ -67,7 +67,7 @@ class Container public static function make(string $image): self { - return new Container($image); + return new GenericContainer($image); } public function getId(): string diff --git a/src/Container/MariaDBContainer.php b/src/Container/MariaDBContainer.php index 4ff9c4e..fe65531 100644 --- a/src/Container/MariaDBContainer.php +++ b/src/Container/MariaDBContainer.php @@ -6,7 +6,7 @@ namespace Testcontainers\Container; use Testcontainers\Wait\WaitForExec; -class MariaDBContainer extends Container +class MariaDBContainer extends GenericContainer { private function __construct(string $version, string $mysqlRootPassword) { diff --git a/src/Container/MySQLContainer.php b/src/Container/MySQLContainer.php index 7b1fdbb..dffc1e4 100644 --- a/src/Container/MySQLContainer.php +++ b/src/Container/MySQLContainer.php @@ -6,7 +6,7 @@ namespace Testcontainers\Container; use Testcontainers\Wait\WaitForExec; -class MySQLContainer extends Container +class MySQLContainer extends GenericContainer { private function __construct(string $version, string $mysqlRootPassword) { diff --git a/src/Container/OpenSearchContainer.php b/src/Container/OpenSearchContainer.php index 783edb3..6d009f6 100644 --- a/src/Container/OpenSearchContainer.php +++ b/src/Container/OpenSearchContainer.php @@ -6,7 +6,7 @@ namespace Testcontainers\Container; use Testcontainers\Wait\WaitForHttp; -class OpenSearchContainer extends Container +class OpenSearchContainer extends GenericContainer { private function __construct(string $version) { diff --git a/src/Container/PostgresContainer.php b/src/Container/PostgresContainer.php index 46a912f..66bdf18 100644 --- a/src/Container/PostgresContainer.php +++ b/src/Container/PostgresContainer.php @@ -6,7 +6,7 @@ namespace Testcontainers\Container; use Testcontainers\Wait\WaitForExec; -class PostgresContainer extends Container +class PostgresContainer extends GenericContainer { private function __construct(string $version, string $rootPassword) { diff --git a/src/Container/RedisContainer.php b/src/Container/RedisContainer.php index a219e57..8846801 100644 --- a/src/Container/RedisContainer.php +++ b/src/Container/RedisContainer.php @@ -6,7 +6,7 @@ namespace Testcontainers\Container; use Testcontainers\Wait\WaitForLog; -class RedisContainer extends Container +class RedisContainer extends GenericContainer { private function __construct(string $version) { diff --git a/src/Registry.php b/src/Registry.php index 0d1d95a..07a6cbe 100644 --- a/src/Registry.php +++ b/src/Registry.php @@ -4,18 +4,18 @@ declare(strict_types=1); namespace Testcontainers; -use Testcontainers\Container\Container; +use Testcontainers\Container\GenericContainer; class Registry { private static bool $registeredCleanup = false; /** - * @var array + * @var array */ private static array $registry = []; - public static function add(Container $container): void + public static function add(GenericContainer $container): void { self::$registry[spl_object_id($container)] = $container; @@ -25,7 +25,7 @@ class Registry } } - public static function remove(Container $container): void + public static function remove(GenericContainer $container): void { unset(self::$registry[spl_object_id($container)]); } diff --git a/src/Trait/DockerContainerAwareTrait.php b/src/Trait/DockerContainerAwareTrait.php index 79323bc..f96209d 100644 --- a/src/Trait/DockerContainerAwareTrait.php +++ b/src/Trait/DockerContainerAwareTrait.php @@ -6,12 +6,12 @@ namespace Testcontainers\Trait; use JsonException; use Symfony\Component\Process\Process; -use Testcontainers\Container\Container; +use Testcontainers\Container\GenericContainer; use UnexpectedValueException; /** - * @phpstan-import-type ContainerInspect from Container - * @phpstan-import-type DockerNetwork from Container + * @phpstan-import-type ContainerInspect from GenericContainer + * @phpstan-import-type DockerNetwork from GenericContainer */ trait DockerContainerAwareTrait { diff --git a/tests/Integration/WaitStrategyTest.php b/tests/Integration/WaitStrategyTest.php index 8bf14ca..168a719 100644 --- a/tests/Integration/WaitStrategyTest.php +++ b/tests/Integration/WaitStrategyTest.php @@ -8,7 +8,7 @@ use PHPUnit\Framework\TestCase; use Predis\Client; use Predis\Connection\ConnectionException; use Symfony\Component\Process\Process; -use Testcontainers\Container\Container; +use Testcontainers\Container\GenericContainer; use Testcontainers\Exception\ContainerNotReadyException; use Testcontainers\Registry; use Testcontainers\Trait\DockerContainerAwareTrait; @@ -32,7 +32,7 @@ class WaitStrategyTest extends TestCase { $called = false; - $container = Container::make('mysql') + $container = GenericContainer::make('mysql') ->withEnvironment('MYSQL_ROOT_PASSWORD', 'root') ->withWait(new WaitForExec(['mysqladmin', 'ping', '-h', '127.0.0.1'], function (Process $process) use (&$called) { $called = true; @@ -60,7 +60,7 @@ class WaitStrategyTest extends TestCase public function testWaitForLog(): void { - $container = Container::make('redis:6.2.5') + $container = GenericContainer::make('redis:6.2.5') ->withWait(new WaitForLog('Ready to accept connections')); $container->run(); @@ -86,7 +86,7 @@ class WaitStrategyTest extends TestCase public function testWaitForHTTP(): void { - $container = Container::make('nginx:alpine') + $container = GenericContainer::make('nginx:alpine') ->withWait(WaitForHttp::make(80)); $container->run(); @@ -107,7 +107,7 @@ class WaitStrategyTest extends TestCase */ public function testWaitForTcpPortOpen(bool $wait): void { - $container = Container::make('nginx:alpine'); + $container = GenericContainer::make('nginx:alpine'); if ($wait) { $container->withWait(WaitForTcpPortOpen::make(80)); @@ -140,7 +140,7 @@ class WaitStrategyTest extends TestCase public function testWaitForHealthCheck(): void { - $container = Container::make('nginx') + $container = GenericContainer::make('nginx') ->withHealthCheckCommand('curl --fail http://localhost') ->withWait(new WaitForHealthCheck());