[Pkg-owncloud-commits] [php-sabredav] 196/220: More test refactoring. Fixed a few bugs

David Prévot taffit at moszumanska.debian.org
Thu May 12 01:21:27 UTC 2016


This is an automated email from the git hooks/post-receive script.

taffit pushed a commit to branch master
in repository php-sabredav.

commit f9cb636ed3d06c4a9c1c1d38b5f85a3cf23f4f24
Author: Evert Pot <me at evertpot.com>
Date:   Thu Apr 28 15:43:30 2016 +0700

    More test refactoring. Fixed a few bugs
---
 tests/Sabre/CardDAV/AddressBookTest.php            | 45 ++++++++--------------
 tests/Sabre/DAV/Auth/Backend/AbstractPDOTest.php   | 14 ++++++-
 tests/Sabre/DAV/Auth/Backend/PDOMySQLTest.php      | 18 +--------
 tests/Sabre/DAV/Auth/Backend/PDOPgSqlTest.php      | 19 +--------
 tests/Sabre/DAV/Auth/Backend/PDOSqliteTest.php     | 22 +----------
 tests/Sabre/DAV/Locks/Backend/PDOMySQLTest.php     | 24 +-----------
 tests/Sabre/DAV/Locks/Backend/PDOPgSqlTest.php     | 24 +-----------
 tests/Sabre/DAV/Locks/Backend/PDOSqliteTest.php    | 24 +-----------
 tests/Sabre/DAV/Locks/Backend/PDOTest.php          | 21 +++-------
 .../PropertyStorage/Backend/AbstractPDOTest.php    | 10 ++---
 10 files changed, 49 insertions(+), 172 deletions(-)

diff --git a/tests/Sabre/CardDAV/AddressBookTest.php b/tests/Sabre/CardDAV/AddressBookTest.php
index 9ca7ff1..1a36fd1 100644
--- a/tests/Sabre/CardDAV/AddressBookTest.php
+++ b/tests/Sabre/CardDAV/AddressBookTest.php
@@ -4,10 +4,10 @@ namespace Sabre\CardDAV;
 
 use Sabre\DAV\PropPatch;
 
-require_once 'Sabre/CardDAV/Backend/Mock.php';
-
 class AddressBookTest extends \PHPUnit_Framework_TestCase {
 
+    use \Sabre\DAV\DbTestHelperTrait;
+
     /**
      * @var Sabre\CardDAV\AddressBook
      */
@@ -169,39 +169,26 @@ class AddressBookTest extends \PHPUnit_Framework_TestCase {
 
     function testGetSyncToken() {
 
-        if (!SABRE_HASSQLITE) {
-            $this->markTestSkipped('Sqlite is required for this test to run');
-        }
-        $ab = new AddressBook(TestUtil::getBackend(), [ 'id' => 1, '{DAV:}sync-token' => 2]);
+        $this->driver = 'sqlite';
+        $this->dropTables(['addressbooks', 'cards', 'addressbookchanges']);
+        $this->createSchema('addressbooks');
+        $backend = new Backend\PDO(
+            $this->getPDO()
+        );
+        $ab = new AddressBook($backend, [ 'id' => 1, '{DAV:}sync-token' => 2]);
         $this->assertEquals(2, $ab->getSyncToken());
-        TestUtil::deleteSQLiteDB();
     }
 
     function testGetSyncToken2() {
 
-        if (!SABRE_HASSQLITE) {
-            $this->markTestSkipped('Sqlite is required for this test to run');
-        }
-        $ab = new AddressBook(TestUtil::getBackend(), [ 'id' => 1, '{http://sabredav.org/ns}sync-token' => 2]);
+        $this->driver = 'sqlite';
+        $this->dropTables(['addressbooks', 'cards', 'addressbookchanges']);
+        $this->createSchema('addressbooks');
+        $backend = new Backend\PDO(
+            $this->getPDO()
+        );
+        $ab = new AddressBook($backend, [ 'id' => 1, '{http://sabredav.org/ns}sync-token' => 2]);
         $this->assertEquals(2, $ab->getSyncToken());
-        TestUtil::deleteSQLiteDB();
-    }
-
-    function testGetChanges() {
-
-        if (!SABRE_HASSQLITE) {
-            $this->markTestSkipped('Sqlite is required for this test to run');
-        }
-        $ab = new AddressBook(TestUtil::getBackend(), [ 'id' => 1, '{DAV:}sync-token' => 2]);
-        $this->assertEquals([
-            'syncToken' => 2,
-            'modified'  => [],
-            'deleted'   => [],
-            'added'     => ['UUID-2345'],
-        ], $ab->getChanges(1, 1));
-        TestUtil::deleteSQLiteDB();
-
     }
 
-
 }
diff --git a/tests/Sabre/DAV/Auth/Backend/AbstractPDOTest.php b/tests/Sabre/DAV/Auth/Backend/AbstractPDOTest.php
index 00b6302..b14e9fa 100644
--- a/tests/Sabre/DAV/Auth/Backend/AbstractPDOTest.php
+++ b/tests/Sabre/DAV/Auth/Backend/AbstractPDOTest.php
@@ -4,7 +4,19 @@ namespace Sabre\DAV\Auth\Backend;
 
 abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase {
 
-    abstract function getPDO();
+    use \Sabre\DAV\DbTestHelperTrait;
+
+    function setUp() {
+
+        $this->dropTables('users');
+        $this->createSchema('users');
+
+        $this->getPDO()->query(
+            "INSERT INTO users (username,digesta1) VALUES ('user','hash')"
+
+        );
+
+    }
 
     function testConstruct() {
 
diff --git a/tests/Sabre/DAV/Auth/Backend/PDOMySQLTest.php b/tests/Sabre/DAV/Auth/Backend/PDOMySQLTest.php
index f391557..18f5979 100644
--- a/tests/Sabre/DAV/Auth/Backend/PDOMySQLTest.php
+++ b/tests/Sabre/DAV/Auth/Backend/PDOMySQLTest.php
@@ -2,24 +2,8 @@
 
 namespace Sabre\DAV\Auth\Backend;
 
-require_once 'Sabre/TestUtil.php';
-
 class PDOMySQLTest extends AbstractPDOTest {
 
-    function getPDO() {
-
-        if (!SABRE_HASMYSQL) $this->markTestSkipped('MySQL driver is not available, or not properly configured');
-        $pdo = \Sabre\TestUtil::getMySQLDB();
-        if (!$pdo) $this->markTestSkipped('Could not connect to MySQL database');
-
-        $sql = file_get_contents(__DIR__ . '/../../../../examples/sql/mysql.users.sql');
-
-        $pdo->query("DROP TABLE IF EXISTS users");
-        $pdo->query($sql);
-        $pdo->query("INSERT INTO users (username,digesta1) VALUES ('user','hash','user at example.org','User')");
-
-        return $pdo;
-
-    }
+    public $driver = 'mysql';
 
 }
diff --git a/tests/Sabre/DAV/Auth/Backend/PDOPgSqlTest.php b/tests/Sabre/DAV/Auth/Backend/PDOPgSqlTest.php
index a6fd70c..79f3859 100644
--- a/tests/Sabre/DAV/Auth/Backend/PDOPgSqlTest.php
+++ b/tests/Sabre/DAV/Auth/Backend/PDOPgSqlTest.php
@@ -4,23 +4,6 @@ namespace Sabre\DAV\Auth\Backend;
 
 class PDOPgSqlTest extends AbstractPDOTest {
 
-    function getPDO() {
-
-        if (!SABRE_HASPGSQL) $this->markTestSkipped('PGSQL driver is not available, or not properly configured');
-        $pdo = \Sabre\TestUtil::getPgSqlDB();
-        if (!$pdo) $this->markTestSkipped('Could not connect to PgSql database');
-
-        $sql = file_get_contents(__DIR__ . '/../../../../../examples/sql/pgsql.users.sql');
-
-        $pdo->query("DROP TABLE IF EXISTS users");
-        foreach (explode(';', $sql) as $statement) {
-            if (trim($statement) === '') continue;
-            $pdo->query($statement); // Yup
-        }
-        $pdo->query("INSERT INTO users (username,digesta1) VALUES ('user','hash')");
-
-        return $pdo;
-
-    }
+    public $driver = 'pgsql';
 
 }
diff --git a/tests/Sabre/DAV/Auth/Backend/PDOSqliteTest.php b/tests/Sabre/DAV/Auth/Backend/PDOSqliteTest.php
index f2e56c7..b1f3822 100644
--- a/tests/Sabre/DAV/Auth/Backend/PDOSqliteTest.php
+++ b/tests/Sabre/DAV/Auth/Backend/PDOSqliteTest.php
@@ -2,28 +2,8 @@
 
 namespace Sabre\DAV\Auth\Backend;
 
-require_once 'Sabre/DAV/Auth/Backend/AbstractPDOTest.php';
-
 class PDOSqliteTest extends AbstractPDOTest {
 
-    function tearDown() {
-
-        if (file_exists(SABRE_TEMPDIR . '/pdobackend')) unlink(SABRE_TEMPDIR . '/pdobackend');
-        if (file_exists(SABRE_TEMPDIR . '/pdobackend2')) unlink(SABRE_TEMPDIR . '/pdobackend2');
-
-    }
-
-    function getPDO() {
-
-        if (!SABRE_HASSQLITE) $this->markTestSkipped('SQLite driver is not available');
-        $pdo = new \PDO('sqlite:' . SABRE_TEMPDIR . '/pdobackend');
-        $pdo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
-        $sql = file_get_contents(__DIR__ . '/../../../../../examples/sql/sqlite.users.sql');
-        $pdo->query($sql);
-        $pdo->query('INSERT INTO users (username, digesta1) VALUES ("user","hash")');
-
-        return $pdo;
-
-    }
+    public $driver = 'sqlite';
 
 }
diff --git a/tests/Sabre/DAV/Locks/Backend/PDOMySQLTest.php b/tests/Sabre/DAV/Locks/Backend/PDOMySQLTest.php
index e74eb36..0ba02fc 100644
--- a/tests/Sabre/DAV/Locks/Backend/PDOMySQLTest.php
+++ b/tests/Sabre/DAV/Locks/Backend/PDOMySQLTest.php
@@ -2,28 +2,8 @@
 
 namespace Sabre\DAV\Locks\Backend;
 
-require_once 'Sabre/TestUtil.php';
+class PDOMySQLTest extends PDOTest {
 
-class PDOMySQLTest extends AbstractTest {
-
-    function getBackend() {
-
-        if (!SABRE_HASMYSQL) $this->markTestSkipped('MySQL driver is not available, or it was not properly configured');
-        $pdo = \Sabre\TestUtil::getMySQLDB();
-        if (!$pdo) $this->markTestSkipped('Could not connect to MySQL database');
-
-        $pdo->query('DROP TABLE IF EXISTS locks;');
-        $queries = file_get_contents(__DIR__ . '/../../../../../examples/sql/mysql.locks.sql');
-        foreach (explode(';', $queries) as $query) {
-            if (trim($query) === '') {
-                continue;
-            }
-            $pdo->query($query);
-        }
-
-        $backend = new PDO($pdo);
-        return $backend;
-
-    }
+    public $driver = 'mysql';
 
 }
diff --git a/tests/Sabre/DAV/Locks/Backend/PDOPgSqlTest.php b/tests/Sabre/DAV/Locks/Backend/PDOPgSqlTest.php
index 1041919..39ee564 100644
--- a/tests/Sabre/DAV/Locks/Backend/PDOPgSqlTest.php
+++ b/tests/Sabre/DAV/Locks/Backend/PDOPgSqlTest.php
@@ -2,28 +2,8 @@
 
 namespace Sabre\DAV\Locks\Backend;
 
-require_once 'Sabre/TestUtil.php';
+class PDOPgSqlTest extends PDOTest {
 
-class PDOPgSqlTest extends AbstractTest {
-
-    function getBackend() {
-
-        if (!SABRE_HASPGSQL) $this->markTestSkipped('PgSQL driver is not available, or it was not properly configured');
-        $pdo = \Sabre\TestUtil::getPgSqlDB();
-        if (!$pdo) $this->markTestSkipped('Could not connect to PgSQL database');
-        $pdo->query('DROP TABLE IF EXISTS locks');
-        $queries = file_get_contents(__DIR__ . '/../../../../../examples/sql/pgsql.locks.sql');
-
-        foreach (explode(';', $queries) as $query) {
-            if (trim($query) === '') {
-                continue;
-            }
-            $pdo->query($query);
-        }
-
-        $backend = new PDO($pdo);
-        return $backend;
-
-    }
+    public $driver = 'pgsql';
 
 }
diff --git a/tests/Sabre/DAV/Locks/Backend/PDOSqliteTest.php b/tests/Sabre/DAV/Locks/Backend/PDOSqliteTest.php
index 06c1148..4b126dc 100644
--- a/tests/Sabre/DAV/Locks/Backend/PDOSqliteTest.php
+++ b/tests/Sabre/DAV/Locks/Backend/PDOSqliteTest.php
@@ -2,28 +2,8 @@
 
 namespace Sabre\DAV\Locks\Backend;
 
-require_once 'Sabre/TestUtil.php';
+class PDOSqliteTest extends PDOTest {
 
-class PDOSqliteTest extends AbstractTest {
-
-    function getBackend() {
-
-        if (!SABRE_HASSQLITE) $this->markTestSkipped('Sqlite driver is not available, or it was not properly configured');
-        $pdo = \Sabre\TestUtil::getSqliteDB();
-        if (!$pdo) $this->markTestSkipped('Could not connect to Sqlite database');
-        $pdo->query('DROP TABLE IF EXISTS locks');
-        $queries = file_get_contents(__DIR__ . '/../../../../../examples/sql/sqlite.locks.sql');
-
-        foreach (explode(';', $queries) as $query) {
-            if (trim($query) === '') {
-                continue;
-            }
-            $pdo->query($query);
-        }
-
-        $backend = new PDO($pdo);
-        return $backend;
-
-    }
+    public $driver = 'sqlite';
 
 }
diff --git a/tests/Sabre/DAV/Locks/Backend/PDOTest.php b/tests/Sabre/DAV/Locks/Backend/PDOTest.php
index 2e55987..a27eae9 100644
--- a/tests/Sabre/DAV/Locks/Backend/PDOTest.php
+++ b/tests/Sabre/DAV/Locks/Backend/PDOTest.php
@@ -2,27 +2,18 @@
 
 namespace Sabre\DAV\Locks\Backend;
 
-require_once 'Sabre/TestUtil.php';
-require_once 'Sabre/DAV/Locks/Backend/AbstractTest.php';
+abstract class PDOTest extends AbstractTest {
 
-class PDOTest extends AbstractTest {
+    use \Sabre\DAV\DbTestHelperTrait;
 
     function getBackend() {
 
-        if (!SABRE_HASSQLITE) $this->markTestSkipped('SQLite driver is not available');
-        \Sabre\TestUtil::clearTempDir();
-        mkdir(SABRE_TEMPDIR . '/pdolocks');
-        $pdo = new \PDO('sqlite:' . SABRE_TEMPDIR . '/pdolocks/db.sqlite');
-        $pdo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
-        $pdo->query('CREATE TABLE locks ( id integer primary key asc, owner text, timeout text, created integer, token text, scope integer, depth integer, uri text)');
-        $backend = new PDO($pdo);
-        return $backend;
+        $this->dropTables('locks');
+        $this->createSchema('locks');
 
-    }
-
-    function tearDown() {
+        $pdo = $this->getPDO();
 
-        \Sabre\TestUtil::clearTempDir();
+        return new PDO($pdo);
 
     }
 
diff --git a/tests/Sabre/DAV/PropertyStorage/Backend/AbstractPDOTest.php b/tests/Sabre/DAV/PropertyStorage/Backend/AbstractPDOTest.php
index 613d599..4d25650 100644
--- a/tests/Sabre/DAV/PropertyStorage/Backend/AbstractPDOTest.php
+++ b/tests/Sabre/DAV/PropertyStorage/Backend/AbstractPDOTest.php
@@ -9,14 +9,14 @@ use Sabre\DAV\Xml\Property\Href;
 
 abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase {
 
-    /**
-     * Should return an instance of \PDO with the current tables initialized,
-     * and some test records.
-     */
-    abstract function getPDO();
+    use \Sabre\DAV\DbTestHelperTrait;
+
 
     function getBackend() {
 
+        $this->dropTables('propertystorage');
+        $this->createSchema('propertystorage');
+
         return new PDO($this->getPDO());
 
     }

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-php/php-sabredav.git



More information about the Pkg-owncloud-commits mailing list