xref: /plugin/davcal/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/PDOMySQLTest.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/TestUtil.php';
10*a1a3b679SAndreas Boehler
11*a1a3b679SAndreas Boehlerclass PDOMySQLTest extends AbstractPDOTest {
12*a1a3b679SAndreas Boehler
13*a1a3b679SAndreas Boehler    function getPDO() {
14*a1a3b679SAndreas Boehler
15*a1a3b679SAndreas Boehler        if (!SABRE_HASMYSQL) $this->markTestSkipped('MySQL driver is not available, or not properly configured');
16*a1a3b679SAndreas Boehler        $pdo = \Sabre\TestUtil::getMySQLDB();
17*a1a3b679SAndreas Boehler        if (!$pdo) $this->markTestSkipped('Could not connect to MySQL database');
18*a1a3b679SAndreas Boehler        $pdo->query("DROP TABLE IF EXISTS principals");
19*a1a3b679SAndreas Boehler        $pdo->query("
20*a1a3b679SAndreas Boehlercreate table principals (
21*a1a3b679SAndreas Boehler	id integer unsigned not null primary key auto_increment,
22*a1a3b679SAndreas Boehler	uri varchar(50),
23*a1a3b679SAndreas Boehler    email varchar(80),
24*a1a3b679SAndreas Boehler    displayname VARCHAR(80),
25*a1a3b679SAndreas Boehler    vcardurl VARCHAR(80),
26*a1a3b679SAndreas Boehler	unique(uri)
27*a1a3b679SAndreas Boehler);");
28*a1a3b679SAndreas Boehler
29*a1a3b679SAndreas Boehler        $pdo->query("INSERT INTO principals (uri,email,displayname) VALUES ('principals/user','user@example.org','User')");
30*a1a3b679SAndreas Boehler        $pdo->query("INSERT INTO principals (uri,email,displayname) VALUES ('principals/group','group@example.org','Group')");
31*a1a3b679SAndreas Boehler        $pdo->query("DROP TABLE IF EXISTS groupmembers");
32*a1a3b679SAndreas Boehler        $pdo->query("CREATE TABLE groupmembers (
33*a1a3b679SAndreas Boehler                id INTEGER UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
34*a1a3b679SAndreas Boehler                    principal_id INTEGER UNSIGNED NOT NULL,
35*a1a3b679SAndreas Boehler                        member_id INTEGER UNSIGNED NOT NULL,
36*a1a3b679SAndreas Boehler                            UNIQUE(principal_id, member_id)
37*a1a3b679SAndreas Boehler                        );");
38*a1a3b679SAndreas Boehler
39*a1a3b679SAndreas Boehler        $pdo->query("INSERT INTO groupmembers (principal_id,member_id) VALUES (2,1)");
40*a1a3b679SAndreas Boehler
41*a1a3b679SAndreas Boehler        return $pdo;
42*a1a3b679SAndreas Boehler
43*a1a3b679SAndreas Boehler    }
44*a1a3b679SAndreas Boehler
45*a1a3b679SAndreas Boehler}
46