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