diff --git a/composer.json b/composer.json index 1925555..c0a3fb1 100644 --- a/composer.json +++ b/composer.json @@ -19,6 +19,8 @@ "symfony/http-client": "^7.1" }, "require-dev": { + "ext-curl": "*", + "ext-pdo": "*", "phpunit/phpunit": "^9.5", "brianium/paratest": "^6.6", "friendsofphp/php-cs-fixer": "^3.12", diff --git a/src/Registry.php b/src/Registry.php deleted file mode 100644 index 7ca9837..0000000 --- a/src/Registry.php +++ /dev/null @@ -1,39 +0,0 @@ - - */ - private static array $registry = []; - - public static function add(GenericContainer $container): void - { - self::$registry[spl_object_id($container)] = $container; - - if (!self::$registeredCleanup) { - register_shutdown_function([self::class, 'cleanup']); - self::$registeredCleanup = true; - } - } - - public static function remove(GenericContainer $container): void - { - unset(self::$registry[spl_object_id($container)]); - } - - public static function cleanup(): void - { -// foreach (self::$registry as $container) { -// $container->remove(); -// } - } -} diff --git a/tests/Integration/ContainerTest.php b/tests/Integration/ContainerTest.php deleted file mode 100644 index 994fa33..0000000 --- a/tests/Integration/ContainerTest.php +++ /dev/null @@ -1,126 +0,0 @@ -withMySQLDatabase('foo'); - $container->withMySQLUser('bar', 'baz'); - - $container->run(); - die(123); - - $pdo = new \PDO( - sprintf('mysql:host=%s;port=3306', $container->getAddress()), - 'bar', - 'baz', - ); - - $query = $pdo->query('SHOW databases'); - - $this->assertInstanceOf(\PDOStatement::class, $query); - - $databases = $query->fetchAll(\PDO::FETCH_COLUMN); - - $this->assertContains('foo', $databases); - } - - public function testMariaDB(): void - { - $container = MariaDBContainer::make(); - $container->withMariaDBDatabase('foo'); - $container->withMariaDBUser('bar', 'baz'); - - $container->run(); - - $pdo = new \PDO( - sprintf('mysql:host=%s;port=3306', $container->getAddress()), - 'bar', - 'baz', - ); - - $query = $pdo->query('SHOW databases'); - - $this->assertInstanceOf(\PDOStatement::class, $query); - - $databases = $query->fetchAll(\PDO::FETCH_COLUMN); - - $this->assertContains('foo', $databases); - } - - public function testRedis(): void - { - $container = RedisContainer::make(); - - $container->run(); - - $redis = new Client([ - 'scheme' => 'tcp', - 'host' => $container->getAddress(), - 'port' => 6379, - ]); - - $redis->ping(); - - $this->assertTrue($redis->isConnected()); - } - - public function testOpenSearch(): void - { - $container = OpenSearchContainer::make(); - $container->disableSecurityPlugin(); - - $container->run(); - - $ch = curl_init(); - curl_setopt($ch, CURLOPT_URL, sprintf('http://%s:%d', $container->getAddress(), 9200)); - curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); - - $response = (string) curl_exec($ch); - - $this->assertNotEmpty($response); - - /** @var array{cluster_name: string} $data */ - $data = json_decode($response, true, JSON_THROW_ON_ERROR); - - $this->assertArrayHasKey('cluster_name', $data); - - $this->assertEquals('docker-cluster', $data['cluster_name']); - } - - public function testPostgreSQLContainer(): void - { - $container = PostgresContainer::make('latest', 'test') - ->withPostgresUser('test') - ->withPostgresDatabase('foo') - ->run(); - - - $pdo = new \PDO( - sprintf('pgsql:host=%s;port=5432;dbname=foo', $container->getAddress()), - 'test', - 'test', - ); - - $query = $pdo->query('SELECT datname FROM pg_database'); - - $this->assertInstanceOf(\PDOStatement::class, $query); - - $databases = $query->fetchAll(\PDO::FETCH_COLUMN); - - $this->assertContains('foo', $databases); - } -}