--- /dev/null
+<?php
+
+require_once 'Sabre/TestUtil.php';
+
+class Sabre_DAVACL_PrincipalBackend_PDOMySQLTest extends Sabre_DAVACL_PrincipalBackend_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');
+ $pdo->query("DROP TABLE IF EXISTS principals");
+ $pdo->query("
+create table principals (
+ id integer unsigned not null primary key auto_increment,
+ uri varchar(50),
+ email varchar(80),
+ displayname VARCHAR(80),
+ vcardurl VARCHAR(80),
+ unique(uri)
+);");
+
+ $pdo->query("INSERT INTO principals (uri,email,displayname) VALUES ('principals/user','user@example.org','User')");
+ $pdo->query("INSERT INTO principals (uri,email,displayname) VALUES ('principals/group','group@example.org','Group')");
+ $pdo->query("DROP TABLE IF EXISTS groupmembers");
+ $pdo->query("CREATE TABLE groupmembers (
+ id INTEGER UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
+ principal_id INTEGER UNSIGNED NOT NULL,
+ member_id INTEGER UNSIGNED NOT NULL,
+ UNIQUE(principal_id, member_id)
+ );");
+
+ $pdo->query("INSERT INTO groupmembers (principal_id,member_id) VALUES (2,1)");
+
+ return $pdo;
+
+ }
+
+}