J. King
6 years ago
12 changed files with 86 additions and 75 deletions
@ -0,0 +1,23 @@ |
|||
<?php |
|||
/** @license MIT |
|||
* Copyright 2017 J. King, Dustin Wilson et al. |
|||
* See LICENSE and AUTHORS files for details */ |
|||
|
|||
declare(strict_types=1); |
|||
namespace JKingWeb\Arsse\TestCase\Db\PostgreSQL; |
|||
|
|||
use JKingWeb\Arsse\Test\DatabaseInformation; |
|||
|
|||
/** |
|||
* @covers \JKingWeb\Arsse\Db\ResultPDO<extended> |
|||
*/ |
|||
class TestResult extends \JKingWeb\Arsse\TestCase\Db\BaseResult { |
|||
protected static $implementation = "PDO PostgreSQL"; |
|||
protected static $createMeta = "CREATE TABLE arsse_meta(key text primary key not null, value text)"; |
|||
protected static $createTest = "CREATE TABLE arsse_test(id bigserial primary key)"; |
|||
|
|||
protected function makeResult(string $q): array { |
|||
$set = static::$interface->query($q); |
|||
return [static::$interface, $set]; |
|||
} |
|||
} |
@ -0,0 +1,23 @@ |
|||
<?php |
|||
/** @license MIT |
|||
* Copyright 2017 J. King, Dustin Wilson et al. |
|||
* See LICENSE and AUTHORS files for details */ |
|||
|
|||
declare(strict_types=1); |
|||
namespace JKingWeb\Arsse\TestCase\Db\SQLite3PDO; |
|||
|
|||
use JKingWeb\Arsse\Test\DatabaseInformation; |
|||
|
|||
/** |
|||
* @covers \JKingWeb\Arsse\Db\ResultPDO<extended> |
|||
*/ |
|||
class TestResult extends \JKingWeb\Arsse\TestCase\Db\BaseResult { |
|||
protected static $implementation = "PDO SQLite 3"; |
|||
protected static $createMeta = "CREATE TABLE arsse_meta(key text primary key not null, value text) without rowid"; |
|||
protected static $createTest = "CREATE TABLE arsse_test(id integer primary key)"; |
|||
|
|||
protected function makeResult(string $q): array { |
|||
$set = static::$interface->query($q); |
|||
return [static::$interface, $set]; |
|||
} |
|||
} |
@ -1,41 +0,0 @@ |
|||
<?php |
|||
/** @license MIT |
|||
* Copyright 2017 J. King, Dustin Wilson et al. |
|||
* See LICENSE and AUTHORS files for details */ |
|||
|
|||
declare(strict_types=1); |
|||
namespace JKingWeb\Arsse\TestCase\Db; |
|||
|
|||
use JKingWeb\Arsse\Test\DatabaseInformation; |
|||
|
|||
/** |
|||
* @covers \JKingWeb\Arsse\Db\PDOResult<extended> |
|||
*/ |
|||
class TestResultPDO extends \JKingWeb\Arsse\TestCase\Db\BaseResult { |
|||
protected static $implementation; |
|||
|
|||
public static function setUpBeforeClass() { |
|||
self::setConf(); |
|||
// we only need to test one PDO implementation (they all use the same result class), so we find the first usable one |
|||
$drivers = DatabaseInformation::listPDO(); |
|||
self::$implementation = $drivers[0]; |
|||
foreach ($drivers as $driver) { |
|||
$info = new DatabaseInformation($driver); |
|||
$interface = ($info->interfaceConstructor)(); |
|||
if ($interface) { |
|||
self::$implementation = $driver; |
|||
break; |
|||
} |
|||
} |
|||
unset($interface); |
|||
unset($info); |
|||
parent::setUpBeforeClass(); |
|||
} |
|||
|
|||
protected function makeResult(string $q): array { |
|||
$set = static::$interface->query($q); |
|||
$rows = $set->rowCount(); |
|||
$id = static::$interface->lastInsertID(); |
|||
return [$set, [$rows, $id]]; |
|||
} |
|||
} |
Loading…
Reference in new issue