xref: /plugin/davcal/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/PDOSqliteTest.php (revision a1a3b6794e0e143a4a8b51d3185ce2d339be61ab) !
1*a1a3b679SAndreas Boehler<?php
2*a1a3b679SAndreas Boehler
3*a1a3b679SAndreas Boehlernamespace Sabre\DAVACL\PrincipalBackend;
4*a1a3b679SAndreas Boehler
5*a1a3b679SAndreas Boehleruse Sabre\DAV;
6*a1a3b679SAndreas Boehleruse Sabre\HTTP;
7*a1a3b679SAndreas Boehler
8*a1a3b679SAndreas Boehler
9*a1a3b679SAndreas Boehlerrequire_once 'Sabre/DAV/Auth/Backend/AbstractPDOTest.php';
10*a1a3b679SAndreas Boehler
11*a1a3b679SAndreas Boehlerclass PDOSQLiteTest extends AbstractPDOTest {
12*a1a3b679SAndreas Boehler
13*a1a3b679SAndreas Boehler    function tearDown() {
14*a1a3b679SAndreas Boehler
15*a1a3b679SAndreas Boehler        if (file_exists(SABRE_TEMPDIR . '/pdobackend')) unlink(SABRE_TEMPDIR . '/pdobackend');
16*a1a3b679SAndreas Boehler        if (file_exists(SABRE_TEMPDIR . '/pdobackend2')) unlink(SABRE_TEMPDIR . '/pdobackend2');
17*a1a3b679SAndreas Boehler
18*a1a3b679SAndreas Boehler    }
19*a1a3b679SAndreas Boehler
20*a1a3b679SAndreas Boehler    function getPDO() {
21*a1a3b679SAndreas Boehler
22*a1a3b679SAndreas Boehler        if (!SABRE_HASSQLITE) $this->markTestSkipped('SQLite driver is not available');
23*a1a3b679SAndreas Boehler        $pdo = new \PDO('sqlite:'.SABRE_TEMPDIR.'/pdobackend');
24*a1a3b679SAndreas Boehler        $pdo->setAttribute(\PDO::ATTR_ERRMODE,\PDO::ERRMODE_EXCEPTION);
25*a1a3b679SAndreas Boehler        $pdo->query('CREATE TABLE principals (id INTEGER PRIMARY KEY ASC, uri TEXT, email VARCHAR(80), displayname VARCHAR(80))');
26*a1a3b679SAndreas Boehler        $pdo->query('INSERT INTO principals VALUES (1, "principals/user","user@example.org","User")');
27*a1a3b679SAndreas Boehler        $pdo->query('INSERT INTO principals VALUES (2, "principals/group","group@example.org","Group")');
28*a1a3b679SAndreas Boehler
29*a1a3b679SAndreas Boehler        $pdo->query("CREATE TABLE groupmembers (
30*a1a3b679SAndreas Boehler                id INTEGER PRIMARY KEY ASC,
31*a1a3b679SAndreas Boehler                principal_id INT,
32*a1a3b679SAndreas Boehler                member_id INT,
33*a1a3b679SAndreas Boehler                UNIQUE(principal_id, member_id)
34*a1a3b679SAndreas Boehler        );");
35*a1a3b679SAndreas Boehler
36*a1a3b679SAndreas Boehler        $pdo->query("INSERT INTO groupmembers (principal_id,member_id) VALUES (2,1)");
37*a1a3b679SAndreas Boehler
38*a1a3b679SAndreas Boehler        return $pdo;
39*a1a3b679SAndreas Boehler
40*a1a3b679SAndreas Boehler    }
41*a1a3b679SAndreas Boehler
42*a1a3b679SAndreas Boehler}
43