mirror of
https://github.com/stan220/testcontainers-php.git
synced 2026-09-12 07:29:45 +00:00
Update deps and README + some cleanup
This commit is contained in:
@@ -9,7 +9,7 @@ namespace Testcontainers\Container;
|
||||
* @deprecated Use GenericContainer instead.
|
||||
* TODO: Remove in next major release.
|
||||
*/
|
||||
final class Container extends GenericContainer
|
||||
class Container extends GenericContainer
|
||||
{
|
||||
protected ?StartedTestContainer $startedContainer = null;
|
||||
|
||||
|
||||
@@ -4,12 +4,44 @@ declare(strict_types=1);
|
||||
|
||||
namespace Testcontainers\Container;
|
||||
|
||||
use Testcontainers\Wait\WaitForLog;
|
||||
|
||||
/**
|
||||
* Left for namespace backward compatibility
|
||||
* @deprecated Use \Testcontainers\Modules\MariaDBContainer instead.
|
||||
* TODO: Remove in next major release.
|
||||
*/
|
||||
class MariaDBContainer extends \Testcontainers\Modules\MariaDBContainer
|
||||
class MariaDBContainer extends Container
|
||||
{
|
||||
public function __construct(string $version = 'latest', string $mysqlRootPassword = 'root')
|
||||
{
|
||||
parent::__construct('mariadb:' . $version);
|
||||
$this->withExposedPorts(3306);
|
||||
$this->withWait(new WaitForLog('ready for connections'));
|
||||
$this->withEnvironment('MARIADB_ROOT_PASSWORD', $mysqlRootPassword);
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated Use constructor instead
|
||||
* Left for backward compatibility
|
||||
*/
|
||||
public static function make(string $version = 'latest', string $mysqlRootPassword = 'root'): self
|
||||
{
|
||||
return new self($version, $mysqlRootPassword);
|
||||
}
|
||||
|
||||
public function withMariaDBUser(string $username, string $password): self
|
||||
{
|
||||
$this->withEnvironment('MARIADB_USER', $username);
|
||||
$this->withEnvironment('MARIADB_PASSWORD', $password);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function withMariaDBDatabase(string $database): self
|
||||
{
|
||||
$this->withEnvironment('MARIADB_DATABASE', $database);
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
@@ -4,12 +4,44 @@ declare(strict_types=1);
|
||||
|
||||
namespace Testcontainers\Container;
|
||||
|
||||
use Testcontainers\Wait\WaitForLog;
|
||||
|
||||
/**
|
||||
* Left for namespace backward compatibility
|
||||
* @deprecated Use \Testcontainers\Modules\MySQLContainer instead.
|
||||
* TODO: Remove in next major release.
|
||||
*/
|
||||
class MySQLContainer extends \Testcontainers\Modules\MySQLContainer
|
||||
class MySQLContainer extends Container
|
||||
{
|
||||
public function __construct(string $version = 'latest', string $mysqlRootPassword = 'root')
|
||||
{
|
||||
parent::__construct('mysql:' . $version);
|
||||
$this->withExposedPorts(3306);
|
||||
$this->withEnvironment('MYSQL_ROOT_PASSWORD', $mysqlRootPassword);
|
||||
$this->withWait(new WaitForLog('ready for connections'));
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated Use constructor instead
|
||||
* Left for backward compatibility
|
||||
*/
|
||||
public static function make(string $version = 'latest', string $mysqlRootPassword = 'root'): self
|
||||
{
|
||||
return new self($version, $mysqlRootPassword);
|
||||
}
|
||||
|
||||
public function withMySQLUser(string $username, string $password): self
|
||||
{
|
||||
$this->withEnvironment('MYSQL_USER', $username);
|
||||
$this->withEnvironment('MYSQL_PASSWORD', $password);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function withMySQLDatabase(string $database): self
|
||||
{
|
||||
$this->withEnvironment('MYSQL_DATABASE', $database);
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
@@ -4,12 +4,49 @@ declare(strict_types=1);
|
||||
|
||||
namespace Testcontainers\Container;
|
||||
|
||||
use Testcontainers\Wait\WaitForLog;
|
||||
|
||||
/**
|
||||
* Left for namespace backward compatibility
|
||||
* @deprecated Use \Testcontainers\Modules\OpenSearchContainer instead.
|
||||
* TODO: Remove in next major release.
|
||||
*/
|
||||
class OpenSearchContainer extends \Testcontainers\Modules\OpenSearchContainer
|
||||
class OpenSearchContainer extends Container
|
||||
{
|
||||
public function __construct(string $version = 'latest')
|
||||
{
|
||||
parent::__construct('opensearchproject/opensearch:' . $version);
|
||||
$this->withExposedPorts(9200);
|
||||
$this->withEnvironment('discovery.type', 'single-node');
|
||||
$this->withEnvironment('OPENSEARCH_INITIAL_ADMIN_PASSWORD', 'c3o_ZPHo!');
|
||||
$this->withWait(new WaitForLog(
|
||||
'/\]\s+started\?\[/',
|
||||
true,
|
||||
30000
|
||||
));
|
||||
}
|
||||
|
||||
}
|
||||
/**
|
||||
* @deprecated Use constructor instead
|
||||
* Left for backward compatibility
|
||||
*/
|
||||
public static function make(string $version = 'latest'): self
|
||||
{
|
||||
return new self($version);
|
||||
}
|
||||
|
||||
public function withDisabledSecurityPlugin(): self
|
||||
{
|
||||
$this->withEnvironment('plugins.security.disabled', 'true');
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated Use withDisabledSecurityPlugin instead
|
||||
*/
|
||||
public function disableSecurityPlugin(): self
|
||||
{
|
||||
return $this->withDisabledSecurityPlugin();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,12 +4,52 @@ declare(strict_types=1);
|
||||
|
||||
namespace Testcontainers\Container;
|
||||
|
||||
use Testcontainers\Wait\WaitForExec;
|
||||
|
||||
/**
|
||||
* Left for namespace backward compatibility
|
||||
* @deprecated Use \Testcontainers\Modules\PostgresContainer instead.
|
||||
* TODO: Remove in next major release.
|
||||
*/
|
||||
class PostgresContainer extends \Testcontainers\Modules\PostgresContainer
|
||||
class PostgresContainer extends Container
|
||||
{
|
||||
public function __construct(
|
||||
string $version = 'latest',
|
||||
public readonly string $username = 'test',
|
||||
public readonly string $password = 'test',
|
||||
public readonly string $database = 'test'
|
||||
) {
|
||||
parent::__construct('postgres:' . $version);
|
||||
$this->withExposedPorts(5432);
|
||||
$this->withEnvironment('POSTGRES_USER', $this->username);
|
||||
$this->withEnvironment('POSTGRES_PASSWORD', $this->password);
|
||||
$this->withEnvironment('POSTGRES_DB', $this->database);
|
||||
$this->withWait(new WaitForExec(["pg_isready", "-h", "127.0.0.1", "-U", $this->username]));
|
||||
}
|
||||
|
||||
}
|
||||
/**
|
||||
* @deprecated Use constructor instead
|
||||
* Left for backward compatibility
|
||||
*/
|
||||
public static function make(string $version = 'latest', string $dbPassword = 'root'): self
|
||||
{
|
||||
return new self(
|
||||
version: $version,
|
||||
password: $dbPassword
|
||||
);
|
||||
}
|
||||
|
||||
public function withPostgresUser(string $username): self
|
||||
{
|
||||
$this->withEnvironment('POSTGRES_USER', $username);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function withPostgresDatabase(string $database): self
|
||||
{
|
||||
$this->withEnvironment('POSTGRES_DB', $database);
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,12 +4,28 @@ declare(strict_types=1);
|
||||
|
||||
namespace Testcontainers\Container;
|
||||
|
||||
use Testcontainers\Wait\WaitForLog;
|
||||
|
||||
/**
|
||||
* Left for namespace backward compatibility
|
||||
* @deprecated Use \Testcontainers\Modules\RedisContainer instead.
|
||||
* TODO: Remove in next major release.
|
||||
*/
|
||||
class RedisContainer extends \Testcontainers\Modules\RedisContainer
|
||||
class RedisContainer extends Container
|
||||
{
|
||||
public function __construct(string $version = 'latest')
|
||||
{
|
||||
parent::__construct('redis:' . $version);
|
||||
$this->withExposedPorts(6379);
|
||||
$this->withWait(new WaitForLog('Ready to accept connections'));
|
||||
}
|
||||
|
||||
}
|
||||
/**
|
||||
* @deprecated Use constructor instead
|
||||
* Left for backward compatibility
|
||||
*/
|
||||
public static function make(string $version = 'latest'): self
|
||||
{
|
||||
return new self($version);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,18 +23,6 @@ class PostgresContainer extends GenericContainer
|
||||
$this->withWait(new WaitForExec(["pg_isready", "-h", "127.0.0.1", "-U", $this->username]));
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated Use constructor instead
|
||||
* Left for backward compatibility
|
||||
*/
|
||||
public static function make(string $version = 'latest', string $dbPassword = 'root'): self
|
||||
{
|
||||
return new self(
|
||||
version: $version,
|
||||
password: $dbPassword
|
||||
);
|
||||
}
|
||||
|
||||
public function withPostgresUser(string $username): self
|
||||
{
|
||||
$this->withEnvironment('POSTGRES_USER', $username);
|
||||
@@ -42,6 +30,13 @@ class PostgresContainer extends GenericContainer
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function withPostgresPassword(string $password): self
|
||||
{
|
||||
$this->withEnvironment('POSTGRES_PASSWORD', $password);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function withPostgresDatabase(string $database): self
|
||||
{
|
||||
$this->withEnvironment('POSTGRES_DB', $database);
|
||||
|
||||
@@ -30,7 +30,6 @@ class WaitForHealthCheck extends BaseWaitStrategy
|
||||
/** @var \Psr\Http\Message\ResponseInterface | null $containerInspect */
|
||||
$containerInspect = $container->getClient()->containerInspect($container->getId(), [], Docker::FETCH_RESPONSE);
|
||||
//$containerStatus = $containerInspect?->getArrayCopy() ?? null;
|
||||
var_dump($containerInspect->getBody()->getContents());
|
||||
$containerStatus = '';
|
||||
if ($containerStatus === 'healthy') {
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user