1
0
mirror of https://github.com/danog/postgres.git synced 2024-11-30 04:29:12 +01:00
postgres/test/PgSqlConnectionTest.php
2018-07-01 12:33:12 -05:00

48 lines
1.3 KiB
PHP

<?php
namespace Amp\Postgres\Test;
use Amp\Postgres\Link;
use Amp\Postgres\PgSqlConnection;
/**
* @requires extension pgsql
*/
class PgSqlConnectionTest extends AbstractConnectionTest
{
/** @var resource PostgreSQL connection resource. */
protected $handle;
public function createLink(string $connectionString): Link
{
$this->handle = \pg_connect($connectionString);
$socket = \pg_socket($this->handle);
\pg_query($this->handle, "DROP TABLE IF EXISTS test");
$result = \pg_query($this->handle, "CREATE TABLE test (domain VARCHAR(63), tld VARCHAR(63), PRIMARY KEY (domain, tld))");
if (!$result) {
$this->fail('Could not create test table.');
}
foreach ($this->getData() as $row) {
$result = \pg_query_params($this->handle, "INSERT INTO test VALUES (\$1, \$2)", $row);
if (!$result) {
$this->fail('Could not insert test data.');
}
}
return new PgSqlConnection($this->handle, $socket);
}
public function tearDown()
{
\pg_get_result($this->handle); // Consume any leftover results from test.
\pg_query($this->handle, "ROLLBACK");
\pg_query($this->handle, "DROP TABLE test");
\pg_close($this->handle);
}
}