Browse Source

Always transform the etag and read the data

Signed-off-by: Joas Schilling <coding@schilljs.com>
pull/19901/head
Joas Schilling 6 years ago
committed by Georg Ehrke
parent
commit
bb754cb363
No known key found for this signature in database GPG Key ID: 9D98FD9380A1CB43
  1. 2
      apps/dav/lib/CardDAV/CardDavBackend.php
  2. 24
      apps/dav/tests/unit/CardDAV/CardDavBackendTest.php

2
apps/dav/lib/CardDAV/CardDavBackend.php

@ -994,6 +994,8 @@ class CardDavBackend implements BackendInterface, SyncSupport {
$queryResult->closeCursor();
if (is_array($contact)) {
$contact['etag'] = '"' . $contact['etag'] . '"';
$contact['carddata'] = $this->readBlob($contact['carddata']);
$result = $contact;
}

24
apps/dav/tests/unit/CardDAV/CardDavBackendTest.php

@ -630,7 +630,7 @@ class CardDavBackendTest extends TestCase {
$this->invokePrivate($this->backend, 'getCardId', [1, 'uri']));
}
public function testGetCardIdFailed() {
$this->expectException(\InvalidArgumentException::class);
@ -690,15 +690,15 @@ class CardDavBackendTest extends TestCase {
);
$query->execute();
$query->insert($this->dbCardsPropertiesTable)
->values(
[
'addressbookid' => $query->createNamedParameter(0),
'cardid' => $query->createNamedParameter($vCardIds[0]),
'name' => $query->createNamedParameter('CLOUD'),
'value' => $query->createNamedParameter('John@nextcloud.com'),
'preferred' => $query->createNamedParameter(0)
]
);
->values(
[
'addressbookid' => $query->createNamedParameter(0),
'cardid' => $query->createNamedParameter($vCardIds[0]),
'name' => $query->createNamedParameter('CLOUD'),
'value' => $query->createNamedParameter('John@nextcloud.com'),
'preferred' => $query->createNamedParameter(0)
]
);
$query->execute();
$query->insert($this->dbCardsPropertiesTable)
->values(
@ -783,7 +783,7 @@ class CardDavBackendTest extends TestCase {
$this->assertSame('uri', $this->backend->getCardUri($id));
}
public function testGetCardUriFailed() {
$this->expectException(\InvalidArgumentException::class);
@ -812,7 +812,7 @@ class CardDavBackendTest extends TestCase {
$this->assertSame(0, (int)$result['addressbookid']);
$this->assertSame('uri0', $result['uri']);
$this->assertSame(5489543, (int)$result['lastmodified']);
$this->assertSame('etag0', $result['etag']);
$this->assertSame('"etag0"', $result['etag']);
$this->assertSame(120, (int)$result['size']);
// this shouldn't return any result because 'uri1' is in address book 1

Loading…
Cancel
Save