public function testAddressBookOperations() { // create a new address book $this->backend->createAddressBook(self::UNIT_TEST_USER, 'Example', []); $books = $this->backend->getAddressBooksForUser(self::UNIT_TEST_USER); $this->assertEquals(1, count($books)); // update it's display name $patch = new PropPatch(['{DAV:}displayname' => 'Unit test', '{urn:ietf:params:xml:ns:carddav}addressbook-description' => 'Addressbook used for unit testing']); $this->backend->updateAddressBook($books[0]['id'], $patch); $patch->commit(); $books = $this->backend->getAddressBooksForUser(self::UNIT_TEST_USER); $this->assertEquals(1, count($books)); $this->assertEquals('Unit test', $books[0]['{DAV:}displayname']); $this->assertEquals('Addressbook used for unit testing', $books[0]['{urn:ietf:params:xml:ns:carddav}addressbook-description']); // delete the address book $this->backend->deleteAddressBook($books[0]['id']); $books = $this->backend->getAddressBooksForUser(self::UNIT_TEST_USER); $this->assertEquals(0, count($books)); }