2016-12-30 06:21:17 +01:00
|
|
|
<?php
|
2016-09-14 16:27:39 +02:00
|
|
|
|
|
|
|
namespace Amp\Postgres\Test;
|
|
|
|
|
|
|
|
use Amp\Postgres\{ Connection, function connect };
|
2017-01-18 18:05:05 +01:00
|
|
|
use AsyncInterop\Loop;
|
2016-09-14 16:27:39 +02:00
|
|
|
|
2016-09-20 07:47:16 +02:00
|
|
|
class FunctionsTest extends \PHPUnit_Framework_TestCase {
|
|
|
|
public function setUp() {
|
|
|
|
if (!\extension_loaded('pgsql') && !\extension_loaded('pq')) {
|
|
|
|
$this->markTestSkipped('This test requires either ext/pgsql or pecl/pq');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2016-09-14 16:27:39 +02:00
|
|
|
public function testConnect() {
|
2016-12-30 06:21:48 +01:00
|
|
|
Loop::execute(\Amp\wrap(function () {
|
2017-02-16 00:36:10 +01:00
|
|
|
$connection = yield connect('host=localhost user=postgres', 100);
|
2016-09-14 16:27:39 +02:00
|
|
|
$this->assertInstanceOf(Connection::class, $connection);
|
2016-12-30 06:21:48 +01:00
|
|
|
}));
|
2016-09-14 16:27:39 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @expectedException \Amp\Postgres\FailureException
|
|
|
|
*/
|
|
|
|
public function testConnectInvalidUser() {
|
2016-12-30 06:21:48 +01:00
|
|
|
Loop::execute(\Amp\wrap(function () {
|
2017-02-16 00:36:10 +01:00
|
|
|
$connection = yield connect('host=localhost user=invalid', 100);
|
2016-12-30 06:21:48 +01:00
|
|
|
}));
|
2016-09-14 16:27:39 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @expectedException \Amp\Postgres\FailureException
|
|
|
|
*/
|
|
|
|
public function testConnectInvalidConnectionString() {
|
2016-12-30 06:21:48 +01:00
|
|
|
Loop::execute(\Amp\wrap(function () {
|
2017-02-16 00:36:10 +01:00
|
|
|
$connection = yield connect('invalid connection string', 100);
|
2016-12-30 06:21:48 +01:00
|
|
|
}));
|
2016-09-14 16:27:39 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @expectedException \Amp\Postgres\FailureException
|
|
|
|
*/
|
|
|
|
public function testConnectInvalidHost() {
|
2016-12-30 06:21:48 +01:00
|
|
|
Loop::execute(\Amp\wrap(function () {
|
2017-02-16 00:36:10 +01:00
|
|
|
$connection = yield connect('hostaddr=invalid.host user=postgres', 100);
|
2016-12-30 06:21:48 +01:00
|
|
|
}));
|
2016-09-14 16:27:39 +02:00
|
|
|
}
|
|
|
|
}
|