From 66effbfe0827fc61fff6d248797a894213ad20d6 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Sat, 28 May 2016 17:46:24 +0200 Subject: upgrade to sabre32 --- .../tests/Sabre/CalDAV/Backend/AbstractPDOTest.php | 624 +++++++++++++++-- .../sabre/dav/tests/Sabre/CalDAV/Backend/Mock.php | 53 +- .../tests/Sabre/CalDAV/Backend/PDOMySQLTest.php | 32 +- .../tests/Sabre/CalDAV/Backend/PDOSqliteTest.php | 30 +- .../dav/tests/Sabre/CalDAV/CalendarObjectTest.php | 166 +++-- .../tests/Sabre/CalDAV/CalendarQueryVAlarmTest.php | 88 +-- .../Sabre/CalDAV/CalendarQueryValidatorTest.php | 518 +++++++------- .../sabre/dav/tests/Sabre/CalDAV/CalendarTest.php | 97 +-- .../Sabre/CalDAV/ExpandEventsDoubleEventsTest.php | 37 +- .../dav/tests/Sabre/CalDAV/FreeBusyReportTest.php | 40 +- .../Sabre/CalDAV/GetEventsByTimerangeTest.php | 2 +- .../dav/tests/Sabre/CalDAV/ICSExportPluginTest.php | 747 +++++++-------------- .../sabre/dav/tests/Sabre/CalDAV/Issue166Test.php | 32 +- .../sabre/dav/tests/Sabre/CalDAV/Issue172Test.php | 86 +-- .../sabre/dav/tests/Sabre/CalDAV/Issue205Test.php | 39 +- .../sabre/dav/tests/Sabre/CalDAV/Issue211Test.php | 38 +- .../sabre/dav/tests/Sabre/CalDAV/Issue220Test.php | 36 +- .../sabre/dav/tests/Sabre/CalDAV/Issue228Test.php | 37 +- .../Sabre/CalDAV/Notifications/CollectionTest.php | 35 +- .../tests/Sabre/CalDAV/Notifications/NodeTest.php | 25 +- vendor/sabre/dav/tests/Sabre/CalDAV/PluginTest.php | 13 +- .../Sabre/CalDAV/Principal/CollectionTest.php | 5 +- .../tests/Sabre/CalDAV/Principal/ProxyReadTest.php | 19 +- .../Sabre/CalDAV/Principal/ProxyWriteTest.php | 5 +- .../dav/tests/Sabre/CalDAV/Principal/UserTest.php | 37 +- .../dav/tests/Sabre/CalDAV/Schedule/OutboxTest.php | 73 +- .../dav/tests/Sabre/CalDAV/SharedCalendarTest.php | 239 +++---- .../dav/tests/Sabre/CalDAV/SharingPluginTest.php | 215 +++--- vendor/sabre/dav/tests/Sabre/CalDAV/TestUtil.php | 65 +- .../dav/tests/Sabre/CalDAV/ValidateICalTest.php | 291 +++++--- .../dav/tests/Sabre/CardDAV/AbstractPluginTest.php | 6 +- .../tests/Sabre/CardDAV/AddressBookQueryTest.php | 126 ++-- .../dav/tests/Sabre/CardDAV/AddressBookTest.php | 92 +-- .../Sabre/CardDAV/Backend/AbstractPDOTest.php | 275 ++++---- .../sabre/dav/tests/Sabre/CardDAV/Backend/Mock.php | 167 ++++- .../tests/Sabre/CardDAV/Backend/PDOMySQLTest.php | 29 +- .../tests/Sabre/CardDAV/Backend/PDOSqliteTest.php | 47 +- vendor/sabre/dav/tests/Sabre/CardDAV/CardTest.php | 123 ++-- .../dav/tests/Sabre/CardDAV/IDirectoryTest.php | 6 +- .../sabre/dav/tests/Sabre/CardDAV/MultiGetTest.php | 46 +- .../sabre/dav/tests/Sabre/CardDAV/PluginTest.php | 17 +- .../Sabre/CardDAV/SogoStripContentTypeTest.php | 40 +- vendor/sabre/dav/tests/Sabre/CardDAV/TestUtil.php | 14 +- .../dav/tests/Sabre/CardDAV/VCFExportTest.php | 73 +- .../dav/tests/Sabre/CardDAV/ValidateFilterTest.php | 128 ++-- .../dav/tests/Sabre/CardDAV/ValidateVCardTest.php | 253 +++++-- .../sabre/dav/tests/Sabre/DAV/AbstractServer.php | 12 +- .../Sabre/DAV/Auth/Backend/AbstractBasicTest.php | 13 +- .../Sabre/DAV/Auth/Backend/AbstractDigestTest.php | 11 +- .../Sabre/DAV/Auth/Backend/AbstractPDOTest.php | 20 +- .../tests/Sabre/DAV/Auth/Backend/ApacheTest.php | 1 - .../dav/tests/Sabre/DAV/Auth/Backend/FileTest.php | 12 +- .../dav/tests/Sabre/DAV/Auth/Backend/Mock.php | 6 +- .../tests/Sabre/DAV/Auth/Backend/PDOMySQLTest.php | 26 +- .../tests/Sabre/DAV/Auth/Backend/PDOSqliteTest.php | 23 +- .../sabre/dav/tests/Sabre/DAV/Auth/PluginTest.php | 30 +- vendor/sabre/dav/tests/Sabre/DAV/BasicNodeTest.php | 64 +- .../Sabre/DAV/Browser/GuessContentTypeTest.php | 44 +- .../Sabre/DAV/Browser/MapGetToPropFindTest.php | 16 +- .../dav/tests/Sabre/DAV/Browser/PluginTest.php | 54 +- vendor/sabre/dav/tests/Sabre/DAV/ClientMock.php | 4 +- .../dav/tests/Sabre/DAV/Exception/LockedTest.php | 9 +- vendor/sabre/dav/tests/Sabre/DAV/ExceptionTest.php | 8 +- .../sabre/dav/tests/Sabre/DAV/FSExt/FileTest.php | 18 +- .../sabre/dav/tests/Sabre/DAV/FSExt/ServerTest.php | 64 +- .../sabre/dav/tests/Sabre/DAV/HttpDeleteTest.php | 20 +- vendor/sabre/dav/tests/Sabre/DAV/HttpPutTest.php | 26 +- vendor/sabre/dav/tests/Sabre/DAV/Issue33Test.php | 28 +- .../tests/Sabre/DAV/Locks/Backend/AbstractTest.php | 40 +- .../tests/Sabre/DAV/Locks/Backend/PDOMySQLTest.php | 27 +- .../dav/tests/Sabre/DAV/Locks/Backend/PDOTest.php | 21 +- .../sabre/dav/tests/Sabre/DAV/Locks/MSWordTest.php | 14 +- .../sabre/dav/tests/Sabre/DAV/Locks/PluginTest.php | 312 ++++----- .../sabre/dav/tests/Sabre/DAV/Mount/PluginTest.php | 16 +- .../sabre/dav/tests/Sabre/DAV/ObjectTreeTest.php | 48 +- .../dav/tests/Sabre/DAV/PartialUpdate/FileMock.php | 5 +- .../Sabre/DAV/PartialUpdate/SpecificationTest.php | 44 +- .../sabre/dav/tests/Sabre/DAV/ServerMKCOLTest.php | 192 +++--- .../sabre/dav/tests/Sabre/DAV/ServerPluginTest.php | 29 +- .../dav/tests/Sabre/DAV/ServerPreconditionTest.php | 112 +-- .../sabre/dav/tests/Sabre/DAV/ServerSimpleTest.php | 2 +- .../tests/Sabre/DAV/ServerUpdatePropertiesTest.php | 63 +- .../sabre/dav/tests/Sabre/DAV/SimpleFileTest.php | 2 +- .../sabre/dav/tests/Sabre/DAV/StringUtilTest.php | 106 +-- .../tests/Sabre/DAV/TemporaryFileFilterTest.php | 70 +- vendor/sabre/dav/tests/Sabre/DAV/TestPlugin.php | 7 +- vendor/sabre/dav/tests/Sabre/DAV/TreeTest.php | 24 +- .../sabre/dav/tests/Sabre/DAVACL/ACLMethodTest.php | 157 +++-- .../dav/tests/Sabre/DAVACL/AllowAccessTest.php | 31 +- .../dav/tests/Sabre/DAVACL/BlockAccessTest.php | 19 +- .../Sabre/DAVACL/Exception/AceConflictTest.php | 14 +- .../Exception/NeedPrivilegesExceptionTest.php | 30 +- .../Sabre/DAVACL/Exception/NoAbstractTest.php | 14 +- .../Exception/NotRecognizedPrincipalTest.php | 14 +- .../DAVACL/Exception/NotSupportedPrivilegeTest.php | 14 +- .../tests/Sabre/DAVACL/ExpandPropertiesTest.php | 206 +++--- .../sabre/dav/tests/Sabre/DAVACL/MockACLNode.php | 3 +- .../sabre/dav/tests/Sabre/DAVACL/MockPrincipal.php | 10 +- .../dav/tests/Sabre/DAVACL/PluginAdminTest.php | 27 +- .../tests/Sabre/DAVACL/PluginPropertiesTest.php | 90 +-- .../Sabre/DAVACL/PluginUpdatePropertiesTest.php | 67 +- .../DAVACL/PrincipalBackend/AbstractPDOTest.php | 117 ++-- .../Sabre/DAVACL/PrincipalBackend/PDOMySQLTest.php | 43 +- .../DAVACL/PrincipalBackend/PDOSqliteTest.php | 40 +- .../tests/Sabre/DAVACL/PrincipalCollectionTest.php | 16 +- .../Sabre/DAVACL/PrincipalPropertySearchTest.php | 159 ++--- .../DAVACL/PrincipalSearchPropertySetTest.php | 53 +- .../sabre/dav/tests/Sabre/DAVACL/PrincipalTest.php | 150 ++--- .../dav/tests/Sabre/DAVACL/SimplePluginTest.php | 286 ++++---- vendor/sabre/dav/tests/Sabre/DAVServerTest.php | 84 ++- vendor/sabre/dav/tests/Sabre/TestUtil.php | 31 +- 111 files changed, 4446 insertions(+), 4038 deletions(-) (limited to 'vendor/sabre/dav/tests/Sabre') diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/Backend/AbstractPDOTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/Backend/AbstractPDOTest.php index 25f8b1794..35d6da353 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/Backend/AbstractPDOTest.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/Backend/AbstractPDOTest.php @@ -5,11 +5,30 @@ namespace Sabre\CalDAV\Backend; use Sabre\CalDAV; use Sabre\DAV; use Sabre\DAV\PropPatch; +use Sabre\DAV\Xml\Element\Sharee; abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { + use DAV\DbTestHelperTrait; + protected $pdo; + function setUp() { + + $this->dropTables([ + 'calendarobjects', + 'calendars', + 'calendarinstances', + 'calendarchanges', + 'calendarsubscriptions', + 'schedulingobjects', + ]); + $this->createSchema('calendars'); + + $this->pdo = $this->getDb(); + + } + function testConstruct() { $backend = new PDO($this->pdo); @@ -42,11 +61,11 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { $calendars = $backend->getCalendarsForUser('principals/user2'); $elementCheck = [ - 'id' => $returnedId, 'uri' => 'somerandomid', '{DAV:}displayname' => 'Hello!', '{urn:ietf:params:xml:ns:caldav}calendar-description' => '', '{urn:ietf:params:xml:ns:caldav}schedule-calendar-transp' => new CalDAV\Xml\Property\ScheduleCalendarTransp('transparent'), + 'share-access' => \Sabre\DAV\Sharing\Plugin::ACCESS_SHAREDOWNER, ]; $this->assertInternalType('array', $calendars); @@ -109,6 +128,27 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { } + /** + * @depends testConstruct + * @expectedException \InvalidArgumentException + */ + function testUpdateCalendarBadId() { + + $backend = new PDO($this->pdo); + + //Creating a new calendar + $newId = $backend->createCalendar('principals/user2', 'somerandomid', []); + + $propPatch = new PropPatch([ + '{DAV:}displayname' => 'myCalendar', + '{urn:ietf:params:xml:ns:caldav}schedule-calendar-transp' => new CalDAV\Xml\Property\ScheduleCalendarTransp('transparent'), + ]); + + // Updating the calendar + $backend->updateCalendar('raaaa', $propPatch); + + } + /** * @depends testUpdateCalendarAndFetch */ @@ -154,6 +194,22 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { } + /** + * @depends testCreateCalendarAndFetch + * @expectedException \InvalidArgumentException + */ + function testDeleteCalendarBadID() { + + $backend = new PDO($this->pdo); + $returnedId = $backend->createCalendar('principals/user2', 'somerandomid', [ + '{urn:ietf:params:xml:ns:caldav}supported-calendar-component-set' => new CalDAV\Xml\Property\SupportedCalendarComponentSet(['VEVENT']), + '{DAV:}displayname' => 'Hello!', + ]); + + $backend->deleteCalendar('bad-id'); + + } + /** * @depends testCreateCalendarAndFetch * @expectedException \Sabre\DAV\Exception @@ -178,7 +234,13 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { $backend->createCalendarObject($returnedId, 'random-id', $object); - $result = $this->pdo->query('SELECT etag, size, calendardata, firstoccurence, lastoccurence, componenttype FROM calendarobjects WHERE uri = "random-id"'); + $result = $this->pdo->query('SELECT etag, size, calendardata, firstoccurence, lastoccurence, componenttype FROM calendarobjects WHERE uri = \'random-id\''); + + $row = $result->fetch(\PDO::FETCH_ASSOC); + if (is_resource($row['calendardata'])) { + $row['calendardata'] = stream_get_contents($row['calendardata']); + } + $this->assertEquals([ 'etag' => md5($object), 'size' => strlen($object), @@ -186,7 +248,7 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { 'firstoccurence' => strtotime('20120101'), 'lastoccurence' => strtotime('20120101') + (3600 * 24), 'componenttype' => 'VEVENT', - ], $result->fetch(\PDO::FETCH_ASSOC)); + ], $row); } function testGetMultipleObjects() { @@ -207,7 +269,6 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { 'size' => strlen($object), 'calendardata' => $object, 'lastmodified' => null, - 'calendarid' => $returnedId, ], [ 'id' => 2, @@ -216,7 +277,6 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { 'size' => strlen($object), 'calendardata' => $object, 'lastmodified' => null, - 'calendarid' => $returnedId, ], ]; @@ -224,12 +284,22 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { foreach ($check as $index => $props) { - foreach ($props as $key => $value) { + foreach ($props as $key => $expected) { + + $actual = $result[$index][$key]; + + switch ($key) { + case 'lastmodified' : + $this->assertInternalType('int', $actual); + break; + case 'calendardata' : + if (is_resource($actual)) { + $actual = stream_get_contents($actual); + } + // no break intentional + default : + $this->assertEquals($expected, $actual); - if ($key !== 'lastmodified') { - $this->assertEquals($value, $result[$index][$key]); - } else { - $this->assertTrue(isset($result[$index][$key])); } } @@ -238,6 +308,17 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { } + /** + * @depends testGetMultipleObjects + * @expectedException \InvalidArgumentException + */ + function testGetMultipleObjectsBadId() { + + $backend = new PDO($this->pdo); + $backend->getMultipleCalendarObjects('bad-id', ['foo-bar']); + + } + /** * @expectedException Sabre\DAV\Exception\BadRequest * @depends testCreateCalendarObject @@ -265,7 +346,13 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { $backend->createCalendarObject($returnedId, 'random-id', $object); - $result = $this->pdo->query('SELECT etag, size, calendardata, firstoccurence, lastoccurence, componenttype FROM calendarobjects WHERE uri = "random-id"'); + $result = $this->pdo->query('SELECT etag, size, calendardata, firstoccurence, lastoccurence, componenttype FROM calendarobjects WHERE uri = \'random-id\''); + + $row = $result->fetch(\PDO::FETCH_ASSOC); + if (is_resource($row['calendardata'])) { + $row['calendardata'] = stream_get_contents($row['calendardata']); + } + $this->assertEquals([ 'etag' => md5($object), 'size' => strlen($object), @@ -273,10 +360,26 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { 'firstoccurence' => strtotime('20120101'), 'lastoccurence' => strtotime('20120101') + (3600 * 48), 'componenttype' => 'VEVENT', - ], $result->fetch(\PDO::FETCH_ASSOC)); + ], $row); + + } + + /** + * @depends testCreateCalendarObject + * @expectedException \InvalidArgumentException + */ + function testCreateCalendarObjectBadId() { + + $backend = new PDO($this->pdo); + $returnedId = $backend->createCalendar('principals/user2', 'somerandomid', []); + + $object = "BEGIN:VCALENDAR\r\nBEGIN:VEVENT\r\nDTSTART;VALUE=DATE:20120101\r\nDURATION:P2D\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n"; + + $backend->createCalendarObject('bad-id', 'random-id', $object); } + /** * @depends testCreateCalendarObject */ @@ -289,7 +392,12 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { $backend->createCalendarObject($returnedId, 'random-id', $object); - $result = $this->pdo->query('SELECT etag, size, calendardata, firstoccurence, lastoccurence, componenttype FROM calendarobjects WHERE uri = "random-id"'); + $result = $this->pdo->query('SELECT etag, size, calendardata, firstoccurence, lastoccurence, componenttype FROM calendarobjects WHERE uri = \'random-id\''); + $row = $result->fetch(\PDO::FETCH_ASSOC); + if (is_resource($row['calendardata'])) { + $row['calendardata'] = stream_get_contents($row['calendardata']); + } + $this->assertEquals([ 'etag' => md5($object), 'size' => strlen($object), @@ -297,7 +405,7 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { 'firstoccurence' => strtotime('2012-01-01 10:00:00'), 'lastoccurence' => strtotime('2012-01-01 10:00:00'), 'componenttype' => 'VEVENT', - ], $result->fetch(\PDO::FETCH_ASSOC)); + ], $row); } @@ -313,7 +421,12 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { $backend->createCalendarObject($returnedId, 'random-id', $object); - $result = $this->pdo->query('SELECT etag, size, calendardata, firstoccurence, lastoccurence, componenttype FROM calendarobjects WHERE uri = "random-id"'); + $result = $this->pdo->query('SELECT etag, size, calendardata, firstoccurence, lastoccurence, componenttype FROM calendarobjects WHERE uri = \'random-id\''); + $row = $result->fetch(\PDO::FETCH_ASSOC); + if (is_resource($row['calendardata'])) { + $row['calendardata'] = stream_get_contents($row['calendardata']); + } + $this->assertEquals([ 'etag' => md5($object), 'size' => strlen($object), @@ -321,7 +434,7 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { 'firstoccurence' => strtotime('2012-01-01 10:00:00'), 'lastoccurence' => strtotime('2012-01-01 11:00:00'), 'componenttype' => 'VEVENT', - ], $result->fetch(\PDO::FETCH_ASSOC)); + ], $row); } @@ -337,7 +450,12 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { $backend->createCalendarObject($returnedId, 'random-id', $object); - $result = $this->pdo->query('SELECT etag, size, calendardata, firstoccurence, lastoccurence, componenttype FROM calendarobjects WHERE uri = "random-id"'); + $result = $this->pdo->query('SELECT etag, size, calendardata, firstoccurence, lastoccurence, componenttype FROM calendarobjects WHERE uri = \'random-id\''); + $row = $result->fetch(\PDO::FETCH_ASSOC); + if (is_resource($row['calendardata'])) { + $row['calendardata'] = stream_get_contents($row['calendardata']); + } + $this->assertEquals([ 'etag' => md5($object), 'size' => strlen($object), @@ -345,7 +463,7 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { 'firstoccurence' => strtotime('2012-01-01 10:00:00'), 'lastoccurence' => strtotime(PDO::MAX_DATE), 'componenttype' => 'VEVENT', - ], $result->fetch(\PDO::FETCH_ASSOC)); + ], $row); } @@ -361,7 +479,12 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { $backend->createCalendarObject($returnedId, 'random-id', $object); - $result = $this->pdo->query('SELECT etag, size, calendardata, firstoccurence, lastoccurence, componenttype FROM calendarobjects WHERE uri = "random-id"'); + $result = $this->pdo->query('SELECT etag, size, calendardata, firstoccurence, lastoccurence, componenttype FROM calendarobjects WHERE uri = \'random-id\''); + $row = $result->fetch(\PDO::FETCH_ASSOC); + if (is_resource($row['calendardata'])) { + $row['calendardata'] = stream_get_contents($row['calendardata']); + } + $this->assertEquals([ 'etag' => md5($object), 'size' => strlen($object), @@ -369,7 +492,7 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { 'firstoccurence' => strtotime('2012-01-01 10:00:00'), 'lastoccurence' => strtotime('2012-01-01 11:00:00') + (3600 * 24 * 999), 'componenttype' => 'VEVENT', - ], $result->fetch(\PDO::FETCH_ASSOC)); + ], $row); } @@ -385,7 +508,12 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { $backend->createCalendarObject($returnedId, 'random-id', $object); - $result = $this->pdo->query('SELECT etag, size, calendardata, firstoccurence, lastoccurence, componenttype FROM calendarobjects WHERE uri = "random-id"'); + $result = $this->pdo->query('SELECT etag, size, calendardata, firstoccurence, lastoccurence, componenttype FROM calendarobjects WHERE uri = \'random-id\''); + $row = $result->fetch(\PDO::FETCH_ASSOC); + if (is_resource($row['calendardata'])) { + $row['calendardata'] = stream_get_contents($row['calendardata']); + } + $this->assertEquals([ 'etag' => md5($object), 'size' => strlen($object), @@ -393,7 +521,7 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { 'firstoccurence' => null, 'lastoccurence' => null, 'componenttype' => 'VTODO', - ], $result->fetch(\PDO::FETCH_ASSOC)); + ], $row); } @@ -408,17 +536,38 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { $object = "BEGIN:VCALENDAR\r\nBEGIN:VEVENT\r\nDTSTART;VALUE=DATE:20120101\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n"; $backend->createCalendarObject($returnedId, 'random-id', $object); - $data = $backend->getCalendarObjects($returnedId, 'random-id'); + $data = $backend->getCalendarObjects($returnedId); $this->assertEquals(1, count($data)); $data = $data[0]; - $this->assertEquals($returnedId, $data['calendarid']); $this->assertEquals('random-id', $data['uri']); $this->assertEquals(strlen($object), $data['size']); + } + + /** + * @depends testGetCalendarObjects + * @expectedException \InvalidArgumentException + */ + function testGetCalendarObjectsBadId() { + + $backend = new PDO($this->pdo); + $backend->getCalendarObjects('bad-id'); } + + /** + * @depends testGetCalendarObjects + * @expectedException \InvalidArgumentException + */ + function testGetCalendarObjectBadId() { + + $backend = new PDO($this->pdo); + $backend->getCalendarObject('bad-id', 'foo-bar'); + + } + /** * @depends testCreateCalendarObject */ @@ -455,13 +604,27 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { $data = $backend->getCalendarObject($returnedId, 'random-id'); + if (is_resource($data['calendardata'])) { + $data['calendardata'] = stream_get_contents($data['calendardata']); + } + $this->assertEquals($object2, $data['calendardata']); - $this->assertEquals($returnedId, $data['calendarid']); $this->assertEquals('random-id', $data['uri']); } + /** + * @depends testUpdateCalendarObject + * @expectedException \InvalidArgumentException + */ + function testUpdateCalendarObjectBadId() { + + $backend = new PDO($this->pdo); + $backend->updateCalendarObject('bad-id', 'object-id', 'objectdata'); + + } + /** * @depends testCreateCalendarObject */ @@ -479,6 +642,21 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { } + /** + * @depends testDeleteCalendarObject + * @expectedException \InvalidArgumentException + */ + function testDeleteCalendarObjectBadId() { + + $backend = new PDO($this->pdo); + $returnedId = $backend->createCalendar('principals/user2', 'somerandomid', []); + + $object = "BEGIN:VCALENDAR\r\nBEGIN:VEVENT\r\nDTSTART;VALUE=DATE:20120101\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n"; + $backend->createCalendarObject($returnedId, 'random-id', $object); + $backend->deleteCalendarObject('bad-id', 'random-id'); + + } + function testCalendarQueryNoResult() { $abstract = new PDO($this->pdo); @@ -499,15 +677,42 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { ]; $this->assertEquals([ - ], $abstract->calendarQuery(1, $filters)); + ], $abstract->calendarQuery([1, 1], $filters)); + + } + + /** + * @expectedException \InvalidArgumentException + * @depends testCalendarQueryNoResult + */ + function testCalendarQueryBadId() { + + $abstract = new PDO($this->pdo); + $filters = [ + 'name' => 'VCALENDAR', + 'comp-filters' => [ + [ + 'name' => 'VJOURNAL', + 'comp-filters' => [], + 'prop-filters' => [], + 'is-not-defined' => false, + 'time-range' => null, + ], + ], + 'prop-filters' => [], + 'is-not-defined' => false, + 'time-range' => null, + ]; + + $abstract->calendarQuery('bad-id', $filters); } function testCalendarQueryTodo() { $backend = new PDO($this->pdo); - $backend->createCalendarObject(1, "todo", "BEGIN:VCALENDAR\r\nBEGIN:VTODO\r\nEND:VTODO\r\nEND:VCALENDAR\r\n"); - $backend->createCalendarObject(1, "event", "BEGIN:VCALENDAR\r\nBEGIN:VEVENT\r\nDTSTART:20120101\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n"); + $backend->createCalendarObject([1, 1], "todo", "BEGIN:VCALENDAR\r\nBEGIN:VTODO\r\nEND:VTODO\r\nEND:VCALENDAR\r\n"); + $backend->createCalendarObject([1, 1], "event", "BEGIN:VCALENDAR\r\nBEGIN:VEVENT\r\nDTSTART:20120101\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n"); $filters = [ 'name' => 'VCALENDAR', @@ -527,14 +732,14 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { $this->assertEquals([ "todo", - ], $backend->calendarQuery(1, $filters)); + ], $backend->calendarQuery([1, 1], $filters)); } function testCalendarQueryTodoNotMatch() { $backend = new PDO($this->pdo); - $backend->createCalendarObject(1, "todo", "BEGIN:VCALENDAR\r\nBEGIN:VTODO\r\nEND:VTODO\r\nEND:VCALENDAR\r\n"); - $backend->createCalendarObject(1, "event", "BEGIN:VCALENDAR\r\nBEGIN:VEVENT\r\nDTSTART:20120101\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n"); + $backend->createCalendarObject([1, 1], "todo", "BEGIN:VCALENDAR\r\nBEGIN:VTODO\r\nEND:VTODO\r\nEND:VCALENDAR\r\n"); + $backend->createCalendarObject([1, 1], "event", "BEGIN:VCALENDAR\r\nBEGIN:VEVENT\r\nDTSTART:20120101\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n"); $filters = [ 'name' => 'VCALENDAR', @@ -561,15 +766,15 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { ]; $this->assertEquals([ - ], $backend->calendarQuery(1, $filters)); + ], $backend->calendarQuery([1, 1], $filters)); } function testCalendarQueryNoFilter() { $backend = new PDO($this->pdo); - $backend->createCalendarObject(1, "todo", "BEGIN:VCALENDAR\r\nBEGIN:VTODO\r\nEND:VTODO\r\nEND:VCALENDAR\r\n"); - $backend->createCalendarObject(1, "event", "BEGIN:VCALENDAR\r\nBEGIN:VEVENT\r\nDTSTART:20120101\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n"); + $backend->createCalendarObject([1, 1], "todo", "BEGIN:VCALENDAR\r\nBEGIN:VTODO\r\nEND:VTODO\r\nEND:VCALENDAR\r\n"); + $backend->createCalendarObject([1, 1], "event", "BEGIN:VCALENDAR\r\nBEGIN:VEVENT\r\nDTSTART:20120101\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n"); $filters = [ 'name' => 'VCALENDAR', @@ -579,7 +784,7 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { 'time-range' => null, ]; - $result = $backend->calendarQuery(1, $filters); + $result = $backend->calendarQuery([1, 1], $filters); $this->assertTrue(in_array('todo', $result)); $this->assertTrue(in_array('event', $result)); @@ -588,9 +793,9 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { function testCalendarQueryTimeRange() { $backend = new PDO($this->pdo); - $backend->createCalendarObject(1, "todo", "BEGIN:VCALENDAR\r\nBEGIN:VTODO\r\nEND:VTODO\r\nEND:VCALENDAR\r\n"); - $backend->createCalendarObject(1, "event", "BEGIN:VCALENDAR\r\nBEGIN:VEVENT\r\nDTSTART;VALUE=DATE:20120101\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n"); - $backend->createCalendarObject(1, "event2", "BEGIN:VCALENDAR\r\nBEGIN:VEVENT\r\nDTSTART;VALUE=DATE:20120103\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n"); + $backend->createCalendarObject([1, 1], "todo", "BEGIN:VCALENDAR\r\nBEGIN:VTODO\r\nEND:VTODO\r\nEND:VCALENDAR\r\n"); + $backend->createCalendarObject([1, 1], "event", "BEGIN:VCALENDAR\r\nBEGIN:VEVENT\r\nDTSTART;VALUE=DATE:20120101\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n"); + $backend->createCalendarObject([1, 1], "event2", "BEGIN:VCALENDAR\r\nBEGIN:VEVENT\r\nDTSTART;VALUE=DATE:20120103\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n"); $filters = [ 'name' => 'VCALENDAR', @@ -613,15 +818,15 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { $this->assertEquals([ "event2", - ], $backend->calendarQuery(1, $filters)); + ], $backend->calendarQuery([1, 1], $filters)); } function testCalendarQueryTimeRangeNoEnd() { $backend = new PDO($this->pdo); - $backend->createCalendarObject(1, "todo", "BEGIN:VCALENDAR\r\nBEGIN:VTODO\r\nEND:VTODO\r\nEND:VCALENDAR\r\n"); - $backend->createCalendarObject(1, "event", "BEGIN:VCALENDAR\r\nBEGIN:VEVENT\r\nDTSTART:20120101\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n"); - $backend->createCalendarObject(1, "event2", "BEGIN:VCALENDAR\r\nBEGIN:VEVENT\r\nDTSTART:20120103\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n"); + $backend->createCalendarObject([1, 1], "todo", "BEGIN:VCALENDAR\r\nBEGIN:VTODO\r\nEND:VTODO\r\nEND:VCALENDAR\r\n"); + $backend->createCalendarObject([1, 1], "event", "BEGIN:VCALENDAR\r\nBEGIN:VEVENT\r\nDTSTART:20120101\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n"); + $backend->createCalendarObject([1, 1], "event2", "BEGIN:VCALENDAR\r\nBEGIN:VEVENT\r\nDTSTART:20120103\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n"); $filters = [ 'name' => 'VCALENDAR', @@ -644,7 +849,7 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { $this->assertEquals([ "event2", - ], $backend->calendarQuery(1, $filters)); + ], $backend->calendarQuery([1, 1], $filters)); } @@ -694,6 +899,22 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { ], $result); } + /** + * @depends testGetChanges + * @expectedException \InvalidArgumentException + */ + function testGetChangesBadId() { + + $backend = new PDO($this->pdo); + $id = $backend->createCalendar( + 'principals/user1', + 'bla', + [] + ); + $backend->getChangesForCalendar('bad-id', null, 1); + + } + function testCreateSubscriptions() { $props = [ @@ -862,6 +1083,9 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { $result = $backend->getSchedulingObject('principals/user1', 'schedule1.ics'); foreach ($expected as $k => $v) { $this->assertArrayHasKey($k, $result); + if (is_resource($result[$k])) { + $result[$k] = stream_get_contents($result[$k]); + } $this->assertEquals($v, $result[$k]); } @@ -870,6 +1094,9 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { $this->assertEquals(1, count($results)); $result = $results[0]; foreach ($expected as $k => $v) { + if (is_resource($result[$k])) { + $result[$k] = stream_get_contents($result[$k]); + } $this->assertEquals($v, $result[$k]); } @@ -880,4 +1107,315 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { } + function testGetInvites() { + + $backend = new PDO($this->pdo); + + // creating a new calendar + $backend->createCalendar('principals/user1', 'somerandomid', []); + $calendar = $backend->getCalendarsForUser('principals/user1')[0]; + + $result = $backend->getInvites($calendar['id']); + $expected = [ + new Sharee([ + 'href' => 'principals/user1', + 'principal' => 'principals/user1', + 'access' => \Sabre\DAV\Sharing\Plugin::ACCESS_SHAREDOWNER, + 'inviteStatus' => \Sabre\DAV\Sharing\Plugin::INVITE_ACCEPTED, + ]) + ]; + + $this->assertEquals($expected, $result); + + } + + /** + * @depends testGetInvites + * @expectedException \InvalidArgumentException + */ + function testGetInvitesBadId() { + + $backend = new PDO($this->pdo); + + // creating a new calendar + $backend->createCalendar('principals/user1', 'somerandomid', []); + $calendar = $backend->getCalendarsForUser('principals/user1')[0]; + + $backend->getInvites('bad-id'); + + } + + /** + * @depends testCreateCalendarAndFetch + */ + function testUpdateInvites() { + + $backend = new PDO($this->pdo); + + // creating a new calendar + $backend->createCalendar('principals/user1', 'somerandomid', []); + $calendar = $backend->getCalendarsForUser('principals/user1')[0]; + + $ownerSharee = new Sharee([ + 'href' => 'principals/user1', + 'principal' => 'principals/user1', + 'access' => \Sabre\DAV\Sharing\Plugin::ACCESS_SHAREDOWNER, + 'inviteStatus' => \Sabre\DAV\Sharing\Plugin::INVITE_ACCEPTED, + ]); + + // Add a new invite + $backend->updateInvites( + $calendar['id'], + [ + new Sharee([ + 'href' => 'mailto:user@example.org', + 'principal' => 'principals/user2', + 'access' => \Sabre\DAV\Sharing\Plugin::ACCESS_READ, + 'inviteStatus' => \Sabre\DAV\Sharing\Plugin::INVITE_ACCEPTED, + 'properties' => ['{DAV:}displayname' => 'User 2'], + ]) + ] + ); + + $result = $backend->getInvites($calendar['id']); + $expected = [ + $ownerSharee, + new Sharee([ + 'href' => 'mailto:user@example.org', + 'principal' => 'principals/user2', + 'access' => \Sabre\DAV\Sharing\Plugin::ACCESS_READ, + 'inviteStatus' => \Sabre\DAV\Sharing\Plugin::INVITE_ACCEPTED, + 'properties' => [ + '{DAV:}displayname' => 'User 2', + ], + ]) + ]; + $this->assertEquals($expected, $result); + + // Checking calendar_instances too + $expectedCalendar = [ + 'id' => [1,2], + 'principaluri' => 'principals/user2', + '{http://calendarserver.org/ns/}getctag' => 'http://sabre.io/ns/sync/1', + '{http://sabredav.org/ns}sync-token' => '1', + 'share-access' => \Sabre\DAV\Sharing\Plugin::ACCESS_READ, + 'read-only' => true, + 'share-resource-uri' => '/ns/share/1', + ]; + $calendars = $backend->getCalendarsForUser('principals/user2'); + + foreach ($expectedCalendar as $k => $v) { + $this->assertEquals( + $v, + $calendars[0][$k], + "Key " . $k . " in calendars array did not have the expected value." + ); + } + + + // Updating an invite + $backend->updateInvites( + $calendar['id'], + [ + new Sharee([ + 'href' => 'mailto:user@example.org', + 'principal' => 'principals/user2', + 'access' => \Sabre\DAV\Sharing\Plugin::ACCESS_READWRITE, + 'inviteStatus' => \Sabre\DAV\Sharing\Plugin::INVITE_ACCEPTED, + ]) + ] + ); + + $result = $backend->getInvites($calendar['id']); + $expected = [ + $ownerSharee, + new Sharee([ + 'href' => 'mailto:user@example.org', + 'principal' => 'principals/user2', + 'access' => \Sabre\DAV\Sharing\Plugin::ACCESS_READWRITE, + 'inviteStatus' => \Sabre\DAV\Sharing\Plugin::INVITE_ACCEPTED, + 'properties' => [ + '{DAV:}displayname' => 'User 2', + ], + ]) + ]; + $this->assertEquals($expected, $result); + + // Removing an invite + $backend->updateInvites( + $calendar['id'], + [ + new Sharee([ + 'href' => 'mailto:user@example.org', + 'access' => \Sabre\DAV\Sharing\Plugin::ACCESS_NOACCESS, + ]) + ] + ); + + $result = $backend->getInvites($calendar['id']); + $expected = [ + $ownerSharee + ]; + $this->assertEquals($expected, $result); + + // Preventing the owner share from being removed + $backend->updateInvites( + $calendar['id'], + [ + new Sharee([ + 'href' => 'principals/user2', + 'access' => \Sabre\DAV\Sharing\Plugin::ACCESS_NOACCESS, + ]) + ] + ); + + $result = $backend->getInvites($calendar['id']); + $expected = [ + new Sharee([ + 'href' => 'principals/user1', + 'principal' => 'principals/user1', + 'access' => \Sabre\DAV\Sharing\Plugin::ACCESS_SHAREDOWNER, + 'inviteStatus' => \Sabre\DAV\Sharing\Plugin::INVITE_ACCEPTED, + ]), + ]; + $this->assertEquals($expected, $result); + + } + + /** + * @depends testUpdateInvites + * @expectedException \InvalidArgumentException + */ + function testUpdateInvitesBadId() { + + $backend = new PDO($this->pdo); + // Add a new invite + $backend->updateInvites( + 'bad-id', + [] + ); + + } + + /** + * @depends testUpdateInvites + */ + function testUpdateInvitesNoPrincipal() { + + $backend = new PDO($this->pdo); + + // creating a new calendar + $backend->createCalendar('principals/user1', 'somerandomid', []); + $calendar = $backend->getCalendarsForUser('principals/user1')[0]; + + $ownerSharee = new Sharee([ + 'href' => 'principals/user1', + 'principal' => 'principals/user1', + 'access' => \Sabre\DAV\Sharing\Plugin::ACCESS_SHAREDOWNER, + 'inviteStatus' => \Sabre\DAV\Sharing\Plugin::INVITE_ACCEPTED, + ]); + + // Add a new invite + $backend->updateInvites( + $calendar['id'], + [ + new Sharee([ + 'href' => 'mailto:user@example.org', + 'principal' => null, + 'access' => \Sabre\DAV\Sharing\Plugin::ACCESS_READ, + 'inviteStatus' => \Sabre\DAV\Sharing\Plugin::INVITE_ACCEPTED, + 'properties' => ['{DAV:}displayname' => 'User 2'], + ]) + ] + ); + + $result = $backend->getInvites($calendar['id']); + $expected = [ + $ownerSharee, + new Sharee([ + 'href' => 'mailto:user@example.org', + 'principal' => null, + 'access' => \Sabre\DAV\Sharing\Plugin::ACCESS_READ, + 'inviteStatus' => \Sabre\DAV\Sharing\Plugin::INVITE_INVALID, + 'properties' => [ + '{DAV:}displayname' => 'User 2', + ], + ]) + ]; + $this->assertEquals($expected, $result, null, 0.0, 10, true); // Last argument is $canonicalize = true, which allows us to compare, ignoring the order, because it's different between MySQL and Sqlite. + + } + + /** + * @depends testUpdateInvites + */ + function testDeleteSharedCalendar() { + + $backend = new PDO($this->pdo); + + // creating a new calendar + $backend->createCalendar('principals/user1', 'somerandomid', []); + $calendar = $backend->getCalendarsForUser('principals/user1')[0]; + + $ownerSharee = new Sharee([ + 'href' => 'principals/user1', + 'principal' => 'principals/user1', + 'access' => \Sabre\DAV\Sharing\Plugin::ACCESS_SHAREDOWNER, + 'inviteStatus' => \Sabre\DAV\Sharing\Plugin::INVITE_ACCEPTED, + ]); + + // Add a new invite + $backend->updateInvites( + $calendar['id'], + [ + new Sharee([ + 'href' => 'mailto:user@example.org', + 'principal' => 'principals/user2', + 'access' => \Sabre\DAV\Sharing\Plugin::ACCESS_READ, + 'inviteStatus' => \Sabre\DAV\Sharing\Plugin::INVITE_ACCEPTED, + 'properties' => ['{DAV:}displayname' => 'User 2'], + ]) + ] + ); + + $expectedCalendar = [ + 'id' => [1,2], + 'principaluri' => 'principals/user2', + '{http://calendarserver.org/ns/}getctag' => 'http://sabre.io/ns/sync/1', + '{http://sabredav.org/ns}sync-token' => '1', + 'share-access' => \Sabre\DAV\Sharing\Plugin::ACCESS_READ, + 'read-only' => true, + 'share-resource-uri' => '/ns/share/1', + ]; + $calendars = $backend->getCalendarsForUser('principals/user2'); + + foreach ($expectedCalendar as $k => $v) { + $this->assertEquals( + $v, + $calendars[0][$k], + "Key " . $k . " in calendars array did not have the expected value." + ); + } + + // Removing the shared calendar. + $backend->deleteCalendar($calendars[0]['id']); + + $this->assertEquals( + [], + $backend->getCalendarsForUser('principals/user2') + ); + + $result = $backend->getInvites($calendar['id']); + $expected = [ + new Sharee([ + 'href' => 'principals/user1', + 'principal' => 'principals/user1', + 'access' => \Sabre\DAV\Sharing\Plugin::ACCESS_SHAREDOWNER, + 'inviteStatus' => \Sabre\DAV\Sharing\Plugin::INVITE_ACCEPTED, + ]), + ]; + $this->assertEquals($expected, $result); + + } + } diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/Backend/Mock.php b/vendor/sabre/dav/tests/Sabre/CalDAV/Backend/Mock.php index 4412e5531..d4dcc07dc 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/Backend/Mock.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/Backend/Mock.php @@ -81,6 +81,46 @@ class Mock extends AbstractBackend { } + /** + * Updates properties for a calendar. + * + * The list of mutations is stored in a Sabre\DAV\PropPatch object. + * To do the actual updates, you must tell this object which properties + * you're going to process with the handle() method. + * + * Calling the handle method is like telling the PropPatch object "I + * promise I can handle updating this property". + * + * Read the PropPatch documentation for more info and examples. + * + * @param mixed $calendarId + * @param \Sabre\DAV\PropPatch $propPatch + * @return void + */ + function updateCalendar($calendarId, \Sabre\DAV\PropPatch $propPatch) { + + $propPatch->handleRemaining(function($props) use ($calendarId) { + + foreach ($this->calendars as $k => $calendar) { + + if ($calendar['id'] === $calendarId) { + foreach ($props as $propName => $propValue) { + if (is_null($propValue)) { + unset($this->calendars[$k][$propName]); + } else { + $this->calendars[$k][$propName] = $propValue; + } + } + return true; + + } + + } + + }); + + } + /** * Delete a calendar and all it's objects * @@ -139,18 +179,22 @@ class Mock extends AbstractBackend { * Returns information from a single calendar object, based on it's object * uri. * + * The object uri is only the basename, or filename and not a full path. + * * The returned array must have the same keys as getCalendarObjects. The * 'calendardata' object is required here though, while it's not required * for getCalendarObjects. * - * @param string $calendarId + * This method must return null if the object did not exist. + * + * @param mixed $calendarId * @param string $objectUri - * @return array + * @return array|null */ function getCalendarObject($calendarId, $objectUri) { if (!isset($this->calendarData[$calendarId][$objectUri])) { - throw new DAV\Exception\NotFound('Object could not be found'); + return null; } $object = $this->calendarData[$calendarId][$objectUri]; $object['calendarid'] = $calendarId; @@ -207,8 +251,7 @@ class Mock extends AbstractBackend { */ function deleteCalendarObject($calendarId, $objectUri) { - throw new Exception('Not implemented'); - + unset($this->calendarData[$calendarId][$objectUri]); } diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/Backend/PDOMySQLTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/Backend/PDOMySQLTest.php index c215ca171..e068ff1e7 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/Backend/PDOMySQLTest.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/Backend/PDOMySQLTest.php @@ -2,38 +2,8 @@ namespace Sabre\CalDAV\Backend; -require_once 'Sabre/TestUtil.php'; -require_once 'Sabre/CalDAV/TestUtil.php'; -require_once 'Sabre/CalDAV/Backend/AbstractPDOTest.php'; - class PDOMySQLTest extends AbstractPDOTest { - function setup() { - - 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 calendarobjects, calendars, calendarchanges, calendarsubscriptions, schedulingobjects'); - - $queries = explode( - ';', - file_get_contents(__DIR__ . '/../../../../examples/sql/mysql.calendars.sql') - ); - - foreach ($queries as $query) { - $query = trim($query, " \r\n\t"); - if ($query) - $pdo->exec($query); - } - $this->pdo = $pdo; - - } - - function teardown() { - - $this->pdo = null; - - } + public $driver = 'mysql'; } diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/Backend/PDOSqliteTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/Backend/PDOSqliteTest.php index 4074259f2..90ad5a171 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/Backend/PDOSqliteTest.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/Backend/PDOSqliteTest.php @@ -2,36 +2,8 @@ namespace Sabre\CalDAV\Backend; -use Sabre\CalDAV; - -require_once 'Sabre/CalDAV/Backend/AbstractPDOTest.php'; - class PDOSqliteTest extends AbstractPDOTest { - function setup() { - - if (!SABRE_HASSQLITE) $this->markTestSkipped('SQLite driver is not available'); - - if (file_exists(SABRE_TEMPDIR . '/testdb.sqlite')) - unlink(SABRE_TEMPDIR . '/testdb.sqlite'); - - $pdo = new \PDO('sqlite:' . SABRE_TEMPDIR . '/testdb.sqlite'); - $pdo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION); - - // Yup this is definitely not 'fool proof', but good enough for now. - $queries = explode(';', file_get_contents(__DIR__ . '/../../../../examples/sql/sqlite.calendars.sql')); - foreach ($queries as $query) { - $pdo->exec($query); - } - $this->pdo = $pdo; - - } - - function teardown() { - - $this->pdo = null; - unlink(SABRE_TEMPDIR . '/testdb.sqlite'); - - } + public $driver = 'sqlite'; } diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/CalendarObjectTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/CalendarObjectTest.php index 9fc1eee4c..0d98922ff 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/CalendarObjectTest.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/CalendarObjectTest.php @@ -1,7 +1,6 @@ markTestSkipped('SQLite driver is not available'); $this->backend = TestUtil::getBackend(); $calendars = $this->backend->getCalendarsForUser('principals/user1'); - $this->assertEquals(2,count($calendars)); + $this->assertEquals(2, count($calendars)); $this->calendar = new Calendar($this->backend, $calendars[0]); } @@ -40,10 +38,10 @@ class CalendarObjectTest extends \PHPUnit_Framework_TestCase { $children = $this->calendar->getChildren(); $this->assertTrue($children[0] instanceof CalendarObject); - $this->assertInternalType('string',$children[0]->getName()); - $this->assertInternalType('string',$children[0]->get()); - $this->assertInternalType('string',$children[0]->getETag()); - $this->assertEquals('text/calendar; charset=utf-8; component=vevent', $children[0]->getContentType()); + $this->assertInternalType('string', $children[0]->getName()); + $this->assertInternalType('string', $children[0]->get()); + $this->assertInternalType('string', $children[0]->getETag()); + $this->assertEquals('text/calendar; charset=utf-8', $children[0]->getContentType()); } @@ -53,9 +51,9 @@ class CalendarObjectTest extends \PHPUnit_Framework_TestCase { function testInvalidArg1() { $obj = new CalendarObject( - new Backend\Mock(array(),array()), - array(), - array() + new Backend\Mock([], []), + [], + [] ); } @@ -66,9 +64,9 @@ class CalendarObjectTest extends \PHPUnit_Framework_TestCase { function testInvalidArg2() { $obj = new CalendarObject( - new Backend\Mock(array(),array()), - array(), - array('calendarid' => '1') + new Backend\Mock([], []), + [], + ['calendarid' => '1'] ); } @@ -96,7 +94,7 @@ class CalendarObjectTest extends \PHPUnit_Framework_TestCase { $this->assertTrue($children[0] instanceof CalendarObject); $newData = TestUtil::getTestCalendarData(); - $stream = fopen('php://temp','r+'); + $stream = fopen('php://temp', 'r+'); fwrite($stream, $newData); rewind($stream); $children[0]->put($stream); @@ -117,7 +115,7 @@ class CalendarObjectTest extends \PHPUnit_Framework_TestCase { $obj->delete(); $children2 = $this->calendar->getChildren(); - $this->assertEquals(count($children)-1, count($children2)); + $this->assertEquals(count($children) - 1, count($children2)); } @@ -132,7 +130,7 @@ class CalendarObjectTest extends \PHPUnit_Framework_TestCase { $obj = $children[0]; $lastMod = $obj->getLastModified(); - $this->assertTrue(is_int($lastMod) || ctype_digit($lastMod)); + $this->assertTrue(is_int($lastMod) || ctype_digit($lastMod) || is_null($lastMod)); } @@ -173,33 +171,33 @@ class CalendarObjectTest extends \PHPUnit_Framework_TestCase { function testGetACL() { - $expected = array( - array( + $expected = [ + [ 'privilege' => '{DAV:}read', 'principal' => 'principals/user1', 'protected' => true, - ), - array( + ], + [ 'privilege' => '{DAV:}read', 'principal' => 'principals/user1/calendar-proxy-write', 'protected' => true, - ), - array( + ], + [ 'privilege' => '{DAV:}read', 'principal' => 'principals/user1/calendar-proxy-read', 'protected' => true, - ), - array( + ], + [ 'privilege' => '{DAV:}write', 'principal' => 'principals/user1', 'protected' => true, - ), - array( + ], + [ 'privilege' => '{DAV:}write', 'principal' => 'principals/user1/calendar-proxy-write', 'protected' => true, - ), - ); + ], + ]; $children = $this->calendar->getChildren(); $this->assertTrue($children[0] instanceof CalendarObject); @@ -213,40 +211,30 @@ class CalendarObjectTest extends \PHPUnit_Framework_TestCase { $backend = new Backend\Mock([], []); $calendarObject = new CalendarObject($backend, ['principaluri' => 'principals/user1'], ['calendarid' => 1, 'uri' => 'foo']); - $expected = array( - array( - 'privilege' => '{DAV:}read', - 'principal' => 'principals/user1', - 'protected' => true, - ), - array( - 'privilege' => '{DAV:}write', + $expected = [ + [ + 'privilege' => '{DAV:}all', 'principal' => 'principals/user1', 'protected' => true, - ), - array( - 'privilege' => '{DAV:}read', + ], + [ + 'privilege' => '{DAV:}all', 'principal' => 'principals/user1/calendar-proxy-write', 'protected' => true, - ), - array( - 'privilege' => '{DAV:}write', - 'principal' => 'principals/user1/calendar-proxy-write', - 'protected' => true, - ), - array( + ], + [ 'privilege' => '{DAV:}read', 'principal' => 'principals/user1/calendar-proxy-read', 'protected' => true, - ), - ); + ], + ]; $this->assertEquals($expected, $calendarObject->getACL()); } /** - * @expectedException Sabre\DAV\Exception\MethodNotAllowed + * @expectedException \Sabre\DAV\Exception\Forbidden */ function testSetACL() { @@ -254,7 +242,7 @@ class CalendarObjectTest extends \PHPUnit_Framework_TestCase { $this->assertTrue($children[0] instanceof CalendarObject); $obj = $children[0]; - $obj->setACL(array()); + $obj->setACL([]); } @@ -306,15 +294,15 @@ END:VCALENDAR"; function testGetRefetch() { - $backend = new Backend\Mock(array(), array( - 1 => array( - 'foo' => array( + $backend = new Backend\Mock([], [ + 1 => [ + 'foo' => [ 'calendardata' => 'foo', - 'uri' => 'foo' - ), - ) - )); - $obj = new CalendarObject($backend, array('id' => 1), array('uri' => 'foo')); + 'uri' => 'foo' + ], + ] + ]); + $obj = new CalendarObject($backend, ['id' => 1], ['uri' => 'foo']); $this->assertEquals('foo', $obj->get()); @@ -322,15 +310,15 @@ END:VCALENDAR"; function testGetEtag1() { - $objectInfo = array( + $objectInfo = [ 'calendardata' => 'foo', - 'uri' => 'foo', - 'etag' => 'bar', - 'calendarid' => 1 - ); + 'uri' => 'foo', + 'etag' => 'bar', + 'calendarid' => 1 + ]; - $backend = new Backend\Mock(array(), array()); - $obj = new CalendarObject($backend, array(), $objectInfo); + $backend = new Backend\Mock([], []); + $obj = new CalendarObject($backend, [], $objectInfo); $this->assertEquals('bar', $obj->getETag()); @@ -338,14 +326,14 @@ END:VCALENDAR"; function testGetEtag2() { - $objectInfo = array( + $objectInfo = [ 'calendardata' => 'foo', - 'uri' => 'foo', - 'calendarid' => 1 - ); + 'uri' => 'foo', + 'calendarid' => 1 + ]; - $backend = new Backend\Mock(array(), array()); - $obj = new CalendarObject($backend, array(), $objectInfo); + $backend = new Backend\Mock([], []); + $obj = new CalendarObject($backend, [], $objectInfo); $this->assertEquals('"' . md5('foo') . '"', $obj->getETag()); @@ -353,42 +341,42 @@ END:VCALENDAR"; function testGetSupportedPrivilegesSet() { - $objectInfo = array( + $objectInfo = [ 'calendardata' => 'foo', - 'uri' => 'foo', - 'calendarid' => 1 - ); + 'uri' => 'foo', + 'calendarid' => 1 + ]; - $backend = new Backend\Mock(array(), array()); - $obj = new CalendarObject($backend, array(), $objectInfo); + $backend = new Backend\Mock([], []); + $obj = new CalendarObject($backend, [], $objectInfo); $this->assertNull($obj->getSupportedPrivilegeSet()); } function testGetSize1() { - $objectInfo = array( + $objectInfo = [ 'calendardata' => 'foo', - 'uri' => 'foo', - 'calendarid' => 1 - ); + 'uri' => 'foo', + 'calendarid' => 1 + ]; - $backend = new Backend\Mock(array(), array()); - $obj = new CalendarObject($backend, array(), $objectInfo); + $backend = new Backend\Mock([], []); + $obj = new CalendarObject($backend, [], $objectInfo); $this->assertEquals(3, $obj->getSize()); } function testGetSize2() { - $objectInfo = array( - 'uri' => 'foo', + $objectInfo = [ + 'uri' => 'foo', 'calendarid' => 1, - 'size' => 4, - ); + 'size' => 4, + ]; - $backend = new Backend\Mock(array(), array()); - $obj = new CalendarObject($backend, array(), $objectInfo); + $backend = new Backend\Mock([], []); + $obj = new CalendarObject($backend, [], $objectInfo); $this->assertEquals(4, $obj->getSize()); } diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/CalendarQueryVAlarmTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/CalendarQueryVAlarmTest.php index 9de24d3aa..ca06d8ffa 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/CalendarQueryVAlarmTest.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/CalendarQueryVAlarmTest.php @@ -26,32 +26,32 @@ class CalendarQueryVAlarmTest extends \PHPUnit_Framework_TestCase { $vcalendar->add($vevent); - $filter = array( - 'name' => 'VCALENDAR', + $filter = [ + 'name' => 'VCALENDAR', 'is-not-defined' => false, - 'time-range' => null, - 'prop-filters' => array(), - 'comp-filters' => array( - array( - 'name' => 'VEVENT', + 'time-range' => null, + 'prop-filters' => [], + 'comp-filters' => [ + [ + 'name' => 'VEVENT', 'is-not-defined' => false, - 'time-range' => null, - 'prop-filters' => array(), - 'comp-filters' => array( - array( - 'name' => 'VALARM', + 'time-range' => null, + 'prop-filters' => [], + 'comp-filters' => [ + [ + 'name' => 'VALARM', 'is-not-defined' => false, - 'prop-filters' => array(), - 'comp-filters' => array(), - 'time-range' => array( + 'prop-filters' => [], + 'comp-filters' => [], + 'time-range' => [ 'start' => new \DateTime('2012-05-10'), - 'end' => new \DateTime('2012-05-20'), - ), - ), - ), - ), - ), - ); + 'end' => new \DateTime('2012-05-20'), + ], + ], + ], + ], + ], + ]; $validator = new CalendarQueryValidator(); $this->assertTrue($validator->validate($vcalendar, $filter)); @@ -87,32 +87,32 @@ class CalendarQueryVAlarmTest extends \PHPUnit_Framework_TestCase { $vcalendar->add($vevent); - $filter = array( - 'name' => 'VCALENDAR', + $filter = [ + 'name' => 'VCALENDAR', 'is-not-defined' => false, - 'time-range' => null, - 'prop-filters' => array(), - 'comp-filters' => array( - array( - 'name' => 'VEVENT', + 'time-range' => null, + 'prop-filters' => [], + 'comp-filters' => [ + [ + 'name' => 'VEVENT', 'is-not-defined' => false, - 'time-range' => null, - 'prop-filters' => array(), - 'comp-filters' => array( - array( - 'name' => 'VALARM', + 'time-range' => null, + 'prop-filters' => [], + 'comp-filters' => [ + [ + 'name' => 'VALARM', 'is-not-defined' => false, - 'prop-filters' => array(), - 'comp-filters' => array(), - 'time-range' => array( + 'prop-filters' => [], + 'comp-filters' => [], + 'time-range' => [ 'start' => new \DateTime('2011-12-10'), - 'end' => new \DateTime('2011-12-20'), - ), - ), - ), - ), - ), - ); + 'end' => new \DateTime('2011-12-20'), + ], + ], + ], + ], + ], + ]; $validator = new CalendarQueryValidator(); $this->assertTrue($validator->validate($vcalendar, $filter)); diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/CalendarQueryValidatorTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/CalendarQueryValidatorTest.php index 9822e82e2..4c2558a9b 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/CalendarQueryValidatorTest.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/CalendarQueryValidatorTest.php @@ -1,8 +1,8 @@ 'VCALENDAR', - 'comp-filters' => array($filters), - 'prop-filters' => array(), + $filters = [ + 'name' => 'VCALENDAR', + 'comp-filters' => [$filters], + 'prop-filters' => [], 'is-not-defined' => false, - 'time-range' => null, - ); + 'time-range' => null, + ]; $vObject = VObject\Reader::read($icalObject); - switch($outcome) { + switch ($outcome) { case 0 : $this->assertFalse($validator->validate($vObject, $filters)); break; @@ -392,13 +392,13 @@ END:VEVENT END:VCALENDAR yow; - $filter1 = array( - 'name' => 'VEVENT', - 'comp-filters' => array(), - 'prop-filters' => array(), + $filter1 = [ + 'name' => 'VEVENT', + 'comp-filters' => [], + 'prop-filters' => [], 'is-not-defined' => false, - 'time-range' => null, - ); + 'time-range' => null, + ]; $filter2 = $filter1; $filter2['name'] = 'VTODO'; @@ -410,25 +410,25 @@ yow; $filter4['is-not-defined'] = true; $filter5 = $filter1; - $filter5['comp-filters'] = array( - array( - 'name' => 'VALARM', + $filter5['comp-filters'] = [ + [ + 'name' => 'VALARM', 'is-not-defined' => false, - 'comp-filters' => array(), - 'prop-filters' => array(), - 'time-range' => null, - ), - ); + 'comp-filters' => [], + 'prop-filters' => [], + 'time-range' => null, + ], + ]; $filter6 = $filter1; - $filter6['prop-filters'] = array( - array( - 'name' => 'SUMMARY', + $filter6['prop-filters'] = [ + [ + 'name' => 'SUMMARY', 'is-not-defined' => false, - 'param-filters' => array(), - 'time-range' => null, - 'text-match' => null, - ), - ); + 'param-filters' => [], + 'time-range' => null, + 'text-match' => null, + ], + ]; $filter7 = $filter6; $filter7['prop-filters'][0]['name'] = 'DESCRIPTION'; @@ -443,21 +443,21 @@ yow; // Param filters $filter11 = $filter1; - $filter11['prop-filters'] = array( - array( - 'name' => 'DTSTART', + $filter11['prop-filters'] = [ + [ + 'name' => 'DTSTART', 'is-not-defined' => false, - 'param-filters' => array( - array( - 'name' => 'VALUE', + 'param-filters' => [ + [ + 'name' => 'VALUE', 'is-not-defined' => false, - 'text-match' => null, - ), - ), + 'text-match' => null, + ], + ], 'time-range' => null, 'text-match' => null, - ), - ); + ], + ]; $filter12 = $filter11; $filter12['prop-filters'][0]['param-filters'][0]['name'] = 'TZID'; @@ -470,11 +470,11 @@ yow; // Param text filter $filter15 = $filter11; - $filter15['prop-filters'][0]['param-filters'][0]['text-match'] = array( - 'collation' => 'i;ascii-casemap', - 'value' => 'dAtE', + $filter15['prop-filters'][0]['param-filters'][0]['text-match'] = [ + 'collation' => 'i;ascii-casemap', + 'value' => 'dAtE', 'negate-condition' => false, - ); + ]; $filter16 = $filter15; $filter16['prop-filters'][0]['param-filters'][0]['text-match']['collation'] = 'i;octet'; @@ -487,31 +487,31 @@ yow; // prop + text $filter19 = $filter5; - $filter19['comp-filters'][0]['prop-filters'] = array( - array( - 'name' => 'action', + $filter19['comp-filters'][0]['prop-filters'] = [ + [ + 'name' => 'action', 'is-not-defined' => false, - 'time-range' => null, - 'param-filters' => array(), - 'text-match' => array( - 'collation' => 'i;ascii-casemap', - 'value' => 'display', + 'time-range' => null, + 'param-filters' => [], + 'text-match' => [ + 'collation' => 'i;ascii-casemap', + 'value' => 'display', 'negate-condition' => false, - ), - ), - ); + ], + ], + ]; // Time range - $filter20 = array( - 'name' => 'VEVENT', - 'comp-filters' => array(), - 'prop-filters' => array(), + $filter20 = [ + 'name' => 'VEVENT', + 'comp-filters' => [], + 'prop-filters' => [], 'is-not-defined' => false, - 'time-range' => array( + 'time-range' => [ 'start' => new \DateTime('2011-01-01 10:00:00', new \DateTimeZone('GMT')), - 'end' => new \DateTime('2011-01-01 13:00:00', new \DateTimeZone('GMT')), - ), - ); + 'end' => new \DateTime('2011-01-01 13:00:00', new \DateTimeZone('GMT')), + ], + ]; // Time range, no end date $filter21 = $filter20; $filter21['time-range']['end'] = null; @@ -522,105 +522,105 @@ yow; // Time range, other dates $filter23 = $filter20; - $filter23['time-range'] = array( + $filter23['time-range'] = [ 'start' => new \DateTime('2011-02-01 10:00:00', new \DateTimeZone('GMT')), - 'end' => new \DateTime('2011-02-01 13:00:00', new \DateTimeZone('GMT')), - ); + 'end' => new \DateTime('2011-02-01 13:00:00', new \DateTimeZone('GMT')), + ]; // Time range - $filter24 = array( - 'name' => 'VTODO', - 'comp-filters' => array(), - 'prop-filters' => array(), + $filter24 = [ + 'name' => 'VTODO', + 'comp-filters' => [], + 'prop-filters' => [], 'is-not-defined' => false, - 'time-range' => array( + 'time-range' => [ 'start' => new \DateTime('2011-01-01 12:45:00', new \DateTimeZone('GMT')), - 'end' => new \DateTime('2011-01-01 13:15:00', new \DateTimeZone('GMT')), - ), - ); + 'end' => new \DateTime('2011-01-01 13:15:00', new \DateTimeZone('GMT')), + ], + ]; // Time range, other dates (1 month in the future) $filter25 = $filter24; - $filter25['time-range'] = array( + $filter25['time-range'] = [ 'start' => new \DateTime('2011-02-01 10:00:00', new \DateTimeZone('GMT')), - 'end' => new \DateTime('2011-02-01 13:00:00', new \DateTimeZone('GMT')), - ); + 'end' => new \DateTime('2011-02-01 13:00:00', new \DateTimeZone('GMT')), + ]; $filter26 = $filter24; - $filter26['time-range'] = array( + $filter26['time-range'] = [ 'start' => new \DateTime('2011-01-01 11:45:00', new \DateTimeZone('GMT')), - 'end' => new \DateTime('2011-01-01 12:15:00', new \DateTimeZone('GMT')), - ); + 'end' => new \DateTime('2011-01-01 12:15:00', new \DateTimeZone('GMT')), + ]; // Time range for VJOURNAL - $filter27 = array( - 'name' => 'VJOURNAL', - 'comp-filters' => array(), - 'prop-filters' => array(), + $filter27 = [ + 'name' => 'VJOURNAL', + 'comp-filters' => [], + 'prop-filters' => [], 'is-not-defined' => false, - 'time-range' => array( + 'time-range' => [ 'start' => new \DateTime('2011-01-01 12:45:00', new \DateTimeZone('GMT')), - 'end' => new \DateTime('2011-01-01 13:15:00', new \DateTimeZone('GMT')), - ), - ); + 'end' => new \DateTime('2011-01-01 13:15:00', new \DateTimeZone('GMT')), + ], + ]; $filter28 = $filter27; - $filter28['time-range'] = array( + $filter28['time-range'] = [ 'start' => new \DateTime('2011-01-01 11:45:00', new \DateTimeZone('GMT')), - 'end' => new \DateTime('2011-01-01 12:15:00', new \DateTimeZone('GMT')), - ); + 'end' => new \DateTime('2011-01-01 12:15:00', new \DateTimeZone('GMT')), + ]; // Time range for VFREEBUSY - $filter29 = array( - 'name' => 'VFREEBUSY', - 'comp-filters' => array(), - 'prop-filters' => array(), + $filter29 = [ + 'name' => 'VFREEBUSY', + 'comp-filters' => [], + 'prop-filters' => [], 'is-not-defined' => false, - 'time-range' => array( + 'time-range' => [ 'start' => new \DateTime('2011-01-01 12:45:00', new \DateTimeZone('GMT')), - 'end' => new \DateTime('2011-01-01 13:15:00', new \DateTimeZone('GMT')), - ), - ); + 'end' => new \DateTime('2011-01-01 13:15:00', new \DateTimeZone('GMT')), + ], + ]; // Time range filter on property - $filter30 = array( - 'name' => 'VEVENT', - 'comp-filters' => array(), - 'prop-filters' => array( - array( - 'name' => 'DTSTART', + $filter30 = [ + 'name' => 'VEVENT', + 'comp-filters' => [], + 'prop-filters' => [ + [ + 'name' => 'DTSTART', 'is-not-defined' => false, - 'param-filters' => array(), - 'time-range' => array( + 'param-filters' => [], + 'time-range' => [ 'start' => new \DateTime('2011-01-01 10:00:00', new \DateTimeZone('GMT')), - 'end' => new \DateTime('2011-01-01 13:00:00', new \DateTimeZone('GMT')), - ), + 'end' => new \DateTime('2011-01-01 13:00:00', new \DateTimeZone('GMT')), + ], 'text-match' => null, - ), - ), + ], + ], 'is-not-defined' => false, - 'time-range' => null, - ); + 'time-range' => null, + ]; // Time range for alarm - $filter31 = array( - 'name' => 'VEVENT', - 'prop-filters' => array(), - 'comp-filters' => array( - array( - 'name' => 'VALARM', + $filter31 = [ + 'name' => 'VEVENT', + 'prop-filters' => [], + 'comp-filters' => [ + [ + 'name' => 'VALARM', 'is-not-defined' => false, - 'comp-filters' => array(), - 'prop-filters' => array(), - 'time-range' => array( + 'comp-filters' => [], + 'prop-filters' => [], + 'time-range' => [ 'start' => new \DateTime('2011-01-01 10:45:00', new \DateTimeZone('GMT')), - 'end' => new \DateTime('2011-01-01 11:15:00', new \DateTimeZone('GMT')), - ), + 'end' => new \DateTime('2011-01-01 11:15:00', new \DateTimeZone('GMT')), + ], 'text-match' => null, - ), - ), + ], + ], 'is-not-defined' => false, - 'time-range' => null, - ); + 'time-range' => null, + ]; $filter32 = $filter31; - $filter32['comp-filters'][0]['time-range'] = array( + $filter32['comp-filters'][0]['time-range'] = [ 'start' => new \DateTime('2011-01-01 11:45:00', new \DateTimeZone('GMT')), - 'end' => new \DateTime('2011-01-01 12:15:00', new \DateTimeZone('GMT')), - ); + 'end' => new \DateTime('2011-01-01 12:15:00', new \DateTimeZone('GMT')), + ]; $filter33 = $filter31; $filter33['name'] = 'VTODO'; @@ -632,194 +632,194 @@ yow; $filter36['name'] = 'VJOURNAL'; // Time range filter on non-datetime property - $filter37 = array( - 'name' => 'VEVENT', - 'comp-filters' => array(), - 'prop-filters' => array( - array( - 'name' => 'SUMMARY', + $filter37 = [ + 'name' => 'VEVENT', + 'comp-filters' => [], + 'prop-filters' => [ + [ + 'name' => 'SUMMARY', 'is-not-defined' => false, - 'param-filters' => array(), - 'time-range' => array( + 'param-filters' => [], + 'time-range' => [ 'start' => new \DateTime('2011-01-01 10:00:00', new \DateTimeZone('GMT')), - 'end' => new \DateTime('2011-01-01 13:00:00', new \DateTimeZone('GMT')), - ), + 'end' => new \DateTime('2011-01-01 13:00:00', new \DateTimeZone('GMT')), + ], 'text-match' => null, - ), - ), + ], + ], 'is-not-defined' => false, - 'time-range' => null, - ); + 'time-range' => null, + ]; - $filter38 = array( - 'name' => 'VEVENT', - 'comp-filters' => array(), - 'prop-filters' => array(), + $filter38 = [ + 'name' => 'VEVENT', + 'comp-filters' => [], + 'prop-filters' => [], 'is-not-defined' => false, - 'time-range' => array( + 'time-range' => [ 'start' => new \DateTime('2012-07-01 00:00:00', new \DateTimeZone('UTC')), - 'end' => new \DateTime('2012-08-01 00:00:00', new \DateTimeZone('UTC')), - ) - ); - $filter39 = array( - 'name' => 'VEVENT', - 'comp-filters' => array( - array( - 'name' => 'VALARM', - 'comp-filters' => array(), - 'prop-filters' => array(), + 'end' => new \DateTime('2012-08-01 00:00:00', new \DateTimeZone('UTC')), + ] + ]; + $filter39 = [ + 'name' => 'VEVENT', + 'comp-filters' => [ + [ + 'name' => 'VALARM', + 'comp-filters' => [], + 'prop-filters' => [], 'is-not-defined' => false, - 'time-range' => array( + 'time-range' => [ 'start' => new \DateTime('2012-09-01 00:00:00', new \DateTimeZone('UTC')), - 'end' => new \DateTime('2012-10-01 00:00:00', new \DateTimeZone('UTC')), - ) - ), - ), - 'prop-filters' => array(), + 'end' => new \DateTime('2012-10-01 00:00:00', new \DateTimeZone('UTC')), + ] + ], + ], + 'prop-filters' => [], 'is-not-defined' => false, - 'time-range' => null, - ); + 'time-range' => null, + ]; - return array( + return [ // Component check - array($blob1, $filter1, 1), - array($blob1, $filter2, 0), - array($blob1, $filter3, 0), - array($blob1, $filter4, 1), + [$blob1, $filter1, 1], + [$blob1, $filter2, 0], + [$blob1, $filter3, 0], + [$blob1, $filter4, 1], // Subcomponent check (4) - array($blob1, $filter5, 0), - array($blob2, $filter5, 1), + [$blob1, $filter5, 0], + [$blob2, $filter5, 1], // Property checki (6) - array($blob1, $filter6, 1), - array($blob1, $filter7, 0), - array($blob1, $filter8, 0), - array($blob1, $filter9, 1), + [$blob1, $filter6, 1], + [$blob1, $filter7, 0], + [$blob1, $filter8, 0], + [$blob1, $filter9, 1], // Subcomponent + property (10) - array($blob2, $filter10, 1), + [$blob2, $filter10, 1], // Param filter (11) - array($blob3, $filter11, 1), - array($blob3, $filter12, 0), - array($blob3, $filter13, 0), - array($blob3, $filter14, 1), + [$blob3, $filter11, 1], + [$blob3, $filter12, 0], + [$blob3, $filter13, 0], + [$blob3, $filter14, 1], // Param + text (15) - array($blob3, $filter15, 1), - array($blob3, $filter16, 0), - array($blob3, $filter17, 0), - array($blob3, $filter18, 1), + [$blob3, $filter15, 1], + [$blob3, $filter16, 0], + [$blob3, $filter17, 0], + [$blob3, $filter18, 1], // Prop + text (19) - array($blob2, $filter19, 1), + [$blob2, $filter19, 1], // Incorrect object (vcard) (20) - array($blob4, $filter1, -1), + [$blob4, $filter1, -1], // Time-range for event (21) - array($blob5, $filter20, 1), - array($blob6, $filter20, 1), - array($blob7, $filter20, 1), - array($blob8, $filter20, 1), + [$blob5, $filter20, 1], + [$blob6, $filter20, 1], + [$blob7, $filter20, 1], + [$blob8, $filter20, 1], - array($blob5, $filter21, 1), - array($blob5, $filter22, 1), + [$blob5, $filter21, 1], + [$blob5, $filter22, 1], - array($blob5, $filter23, 0), - array($blob6, $filter23, 0), - array($blob7, $filter23, 0), - array($blob8, $filter23, 0), + [$blob5, $filter23, 0], + [$blob6, $filter23, 0], + [$blob7, $filter23, 0], + [$blob8, $filter23, 0], // Time-range for todo (31) - array($blob9, $filter24, 1), - array($blob9, $filter25, 0), - array($blob9, $filter26, 1), - array($blob10, $filter24, 1), - array($blob10, $filter25, 0), - array($blob10, $filter26, 1), + [$blob9, $filter24, 1], + [$blob9, $filter25, 0], + [$blob9, $filter26, 1], + [$blob10, $filter24, 1], + [$blob10, $filter25, 0], + [$blob10, $filter26, 1], - array($blob11, $filter24, 0), - array($blob11, $filter25, 0), - array($blob11, $filter26, 1), + [$blob11, $filter24, 0], + [$blob11, $filter25, 0], + [$blob11, $filter26, 1], - array($blob12, $filter24, 1), - array($blob12, $filter25, 0), - array($blob12, $filter26, 0), + [$blob12, $filter24, 1], + [$blob12, $filter25, 0], + [$blob12, $filter26, 0], - array($blob13, $filter24, 1), - array($blob13, $filter25, 0), - array($blob13, $filter26, 1), + [$blob13, $filter24, 1], + [$blob13, $filter25, 0], + [$blob13, $filter26, 1], - array($blob14, $filter24, 1), - array($blob14, $filter25, 0), - array($blob14, $filter26, 0), + [$blob14, $filter24, 1], + [$blob14, $filter25, 0], + [$blob14, $filter26, 0], - array($blob15, $filter24, 1), - array($blob15, $filter25, 1), - array($blob15, $filter26, 1), + [$blob15, $filter24, 1], + [$blob15, $filter25, 1], + [$blob15, $filter26, 1], - array($blob16, $filter24, 1), - array($blob16, $filter25, 1), - array($blob16, $filter26, 1), + [$blob16, $filter24, 1], + [$blob16, $filter25, 1], + [$blob16, $filter26, 1], // Time-range for journals (55) - array($blob17, $filter27, 0), - array($blob17, $filter28, 0), - array($blob18, $filter27, 0), - array($blob18, $filter28, 1), - array($blob19, $filter27, 1), - array($blob19, $filter28, 1), + [$blob17, $filter27, 0], + [$blob17, $filter28, 0], + [$blob18, $filter27, 0], + [$blob18, $filter28, 1], + [$blob19, $filter27, 1], + [$blob19, $filter28, 1], // Time-range for free-busy (61) - array($blob20, $filter29, -1), + [$blob20, $filter29, -1], // Time-range on property (62) - array($blob5, $filter30, 1), - array($blob3, $filter37, -1), - array($blob3, $filter30, 0), + [$blob5, $filter30, 1], + [$blob3, $filter37, -1], + [$blob3, $filter30, 0], // Time-range on alarm in vevent (65) - array($blob21, $filter31, 1), - array($blob21, $filter32, 0), - array($blob22, $filter31, 1), - array($blob22, $filter32, 0), - array($blob23, $filter31, 1), - array($blob23, $filter32, 0), - array($blob24, $filter31, 1), - array($blob24, $filter32, 0), - array($blob25, $filter31, 1), - array($blob25, $filter32, 0), - array($blob26, $filter31, 1), - array($blob26, $filter32, 0), + [$blob21, $filter31, 1], + [$blob21, $filter32, 0], + [$blob22, $filter31, 1], + [$blob22, $filter32, 0], + [$blob23, $filter31, 1], + [$blob23, $filter32, 0], + [$blob24, $filter31, 1], + [$blob24, $filter32, 0], + [$blob25, $filter31, 1], + [$blob25, $filter32, 0], + [$blob26, $filter31, 1], + [$blob26, $filter32, 0], // Time-range on alarm for vtodo (77) - array($blob27, $filter33, 1), - array($blob27, $filter34, 0), + [$blob27, $filter33, 1], + [$blob27, $filter34, 0], // Time-range on alarm for vjournal (79) - array($blob28, $filter35, -1), - array($blob28, $filter36, -1), + [$blob28, $filter35, -1], + [$blob28, $filter36, -1], // Time-range on alarm with duration (81) - array($blob29, $filter31, 1), - array($blob29, $filter32, 0), - array($blob30, $filter31, 0), - array($blob30, $filter32, 0), + [$blob29, $filter31, 1], + [$blob29, $filter32, 0], + [$blob30, $filter31, 0], + [$blob30, $filter32, 0], // Time-range with RRULE (85) - array($blob31, $filter20, 1), - array($blob32, $filter20, 0), + [$blob31, $filter20, 1], + [$blob32, $filter20, 0], // Bug reported on mailing list, related to all-day events (87) //array($blob33, $filter38, 1), // Event in timerange, but filtered alarm is in the far future (88). - array($blob34, $filter39, 0), - ); + [$blob34, $filter39, 0], + ]; } diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/CalendarTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/CalendarTest.php index ea744d2cf..df85b6ded 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/CalendarTest.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/CalendarTest.php @@ -3,7 +3,6 @@ namespace Sabre\CalDAV; use Sabre\DAV\PropPatch; -use Sabre\DAVACL; require_once 'Sabre/CalDAV/TestUtil.php'; @@ -25,8 +24,6 @@ class CalendarTest extends \PHPUnit_Framework_TestCase { function setup() { - if (!SABRE_HASSQLITE) $this->markTestSkipped('SQLite driver is not available'); - $this->backend = TestUtil::getBackend(); $this->calendars = $this->backend->getCalendarsForUser('principals/user1'); @@ -63,7 +60,7 @@ class CalendarTest extends \PHPUnit_Framework_TestCase { $this->assertEquals(true, $result); $calendars2 = $this->backend->getCalendarsForUser('principals/user1'); - $this->assertEquals('NewName',$calendars2[0]['{DAV:}displayname']); + $this->assertEquals('NewName', $calendars2[0]['{DAV:}displayname']); } @@ -72,15 +69,15 @@ class CalendarTest extends \PHPUnit_Framework_TestCase { */ function testGetProperties() { - $question = array( + $question = [ '{urn:ietf:params:xml:ns:caldav}supported-calendar-component-set', - ); + ]; $result = $this->calendar->getProperties($question); - foreach($question as $q) $this->assertArrayHasKey($q,$result); + foreach ($question as $q) $this->assertArrayHasKey($q, $result); - $this->assertEquals(array('VEVENT','VTODO'), $result['{urn:ietf:params:xml:ns:caldav}supported-calendar-component-set']->getValue()); + $this->assertEquals(['VEVENT', 'VTODO'], $result['{urn:ietf:params:xml:ns:caldav}supported-calendar-component-set']->getValue()); } @@ -100,7 +97,7 @@ class CalendarTest extends \PHPUnit_Framework_TestCase { function testGetChildren() { $children = $this->calendar->getChildren(); - $this->assertEquals(1,count($children)); + $this->assertEquals(1, count($children)); $this->assertTrue($children[0] instanceof CalendarObject); @@ -145,11 +142,11 @@ class CalendarTest extends \PHPUnit_Framework_TestCase { function testCreateFile() { - $file = fopen('php://memory','r+'); - fwrite($file,TestUtil::getTestCalendarData()); + $file = fopen('php://memory', 'r+'); + fwrite($file, TestUtil::getTestCalendarData()); rewind($file); - $this->calendar->createFile('hello',$file); + $this->calendar->createFile('hello', $file); $file = $this->calendar->getChild('hello'); $this->assertTrue($file instanceof CalendarObject); @@ -158,12 +155,12 @@ class CalendarTest extends \PHPUnit_Framework_TestCase { function testCreateFileNoSupportedComponents() { - $file = fopen('php://memory','r+'); - fwrite($file,TestUtil::getTestCalendarData()); + $file = fopen('php://memory', 'r+'); + fwrite($file, TestUtil::getTestCalendarData()); rewind($file); $calendar = new Calendar($this->backend, $this->calendars[1]); - $calendar->createFile('hello',$file); + $calendar->createFile('hello', $file); $file = $calendar->getChild('hello'); $this->assertTrue($file instanceof CalendarObject); @@ -180,7 +177,7 @@ class CalendarTest extends \PHPUnit_Framework_TestCase { function testGetOwner() { - $this->assertEquals('principals/user1',$this->calendar->getOwner()); + $this->assertEquals('principals/user1', $this->calendar->getOwner()); } @@ -192,98 +189,68 @@ class CalendarTest extends \PHPUnit_Framework_TestCase { function testGetACL() { - $expected = array( - array( + $expected = [ + [ 'privilege' => '{DAV:}read', 'principal' => 'principals/user1', 'protected' => true, - ), - array( + ], + [ 'privilege' => '{DAV:}read', 'principal' => 'principals/user1/calendar-proxy-write', 'protected' => true, - ), - array( + ], + [ 'privilege' => '{DAV:}read', 'principal' => 'principals/user1/calendar-proxy-read', 'protected' => true, - ), - array( + ], + [ 'privilege' => '{' . Plugin::NS_CALDAV . '}read-free-busy', 'principal' => '{DAV:}authenticated', 'protected' => true, - ), - array( + ], + [ 'privilege' => '{DAV:}write', 'principal' => 'principals/user1', 'protected' => true, - ), - array( + ], + [ 'privilege' => '{DAV:}write', 'principal' => 'principals/user1/calendar-proxy-write', 'protected' => true, - ), - ); + ], + ]; $this->assertEquals($expected, $this->calendar->getACL()); } /** - * @expectedException Sabre\DAV\Exception\MethodNotAllowed + * @expectedException \Sabre\DAV\Exception\Forbidden */ function testSetACL() { - $this->calendar->setACL(array()); - - } - - function testGetSupportedPrivilegesSet() { - - $result = $this->calendar->getSupportedPrivilegeSet(); - - $this->assertEquals( - '{' . Plugin::NS_CALDAV . '}read-free-busy', - $result['aggregates'][0]['aggregates'][2]['privilege'] - ); + $this->calendar->setACL([]); } function testGetSyncToken() { - $this->assertEquals(2, $this->calendar->getSyncToken()); - - } - function testGetSyncToken2() { - - $calendar = new Calendar(new Backend\Mock([],[]), [ - '{DAV:}sync-token' => 2 - ]); - $this->assertEquals(2, $this->calendar->getSyncToken()); + $this->assertNull($this->calendar->getSyncToken()); } function testGetSyncTokenNoSyncSupport() { - $calendar = new Calendar(new Backend\Mock([],[]), []); + $calendar = new Calendar(new Backend\Mock([], []), []); $this->assertNull($calendar->getSyncToken()); } function testGetChanges() { - $this->assertEquals([ - 'syncToken' => 2, - 'modified' => [], - 'deleted' => [], - 'added' => ['UUID-2345'], - ], $this->calendar->getChanges(1, 1)); + $this->assertNull($this->calendar->getChanges(1, 1)); } - function testGetChangesNoSyncSupport() { - - $calendar = new Calendar(new Backend\Mock([],[]), []); - $this->assertNull($calendar->getChanges(1,null)); - - } } diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/ExpandEventsDoubleEventsTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/ExpandEventsDoubleEventsTest.php index b64fb122a..3a22e03d4 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/ExpandEventsDoubleEventsTest.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/ExpandEventsDoubleEventsTest.php @@ -19,18 +19,18 @@ class ExpandEventsDoubleEventsTest extends \Sabre\DAVServerTest { protected $setupCalDAV = true; - protected $caldavCalendars = array( - array( - 'id' => 1, - 'name' => 'Calendar', + protected $caldavCalendars = [ + [ + 'id' => 1, + 'name' => 'Calendar', 'principaluri' => 'principals/user1', - 'uri' => 'calendar1', - ) - ); + 'uri' => 'calendar1', + ] + ]; - protected $caldavCalendarObjects = array( - 1 => array( - 'event.ics' => array( + protected $caldavCalendarObjects = [ + 1 => [ + 'event.ics' => [ 'calendardata' => 'BEGIN:VCALENDAR VERSION:2.0 BEGIN:VEVENT @@ -50,17 +50,17 @@ RECURRENCE-ID;TZID=Europe/Berlin:20120208T181500 END:VEVENT END:VCALENDAR ', - ), - ), - ); + ], + ], + ]; function testExpand() { $request = HTTP\Sapi::createFromServerArray([ - 'REQUEST_METHOD' => 'REPORT', + 'REQUEST_METHOD' => 'REPORT', 'HTTP_CONTENT_TYPE' => 'application/xml', - 'REQUEST_URI' => '/calendars/user1/calendar1', - 'HTTP_DEPTH' => '1', + 'REQUEST_URI' => '/calendars/user1/calendar1', + 'HTTP_DEPTH' => '1', ]); $request->setBody(' @@ -88,12 +88,12 @@ END:VCALENDAR $start = strpos($response->body, 'BEGIN:VCALENDAR'), strpos($response->body, 'END:VCALENDAR') - $start + 13 ); - $body = str_replace(' ','',$body); + $body = str_replace(' ', '', $body); $vObject = VObject\Reader::read($body); // We only expect 3 events - $this->assertEquals(3, count($vObject->VEVENT),'We got 6 events instead of 3. Output: ' . $body); + $this->assertEquals(3, count($vObject->VEVENT), 'We got 6 events instead of 3. Output: ' . $body); // TZID should be gone $this->assertFalse(isset($vObject->VEVENT->DTSTART['TZID'])); @@ -101,4 +101,3 @@ END:VCALENDAR } } - diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/FreeBusyReportTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/FreeBusyReportTest.php index 84f05f3c0..7a756774f 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/FreeBusyReportTest.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/FreeBusyReportTest.php @@ -3,7 +3,6 @@ namespace Sabre\CalDAV; use Sabre\DAV; -use Sabre\DAVACL; use Sabre\HTTP; require_once 'Sabre/CalDAV/Backend/Mock.php'; @@ -31,8 +30,8 @@ END:VEVENT END:VCALENDAR ics; - $obj2 = fopen('php://memory','r+'); - fwrite($obj2,<< [ 'obj1' => [ - 'calendarid' => 1, - 'uri' => 'event1.ics', + 'calendarid' => 1, + 'uri' => 'event1.ics', 'calendardata' => $obj1, ], 'obj2' => [ - 'calendarid' => 1, - 'uri' => 'event2.ics', + 'calendarid' => 1, + 'uri' => 'event2.ics', 'calendardata' => $obj2 ], 'obj3' => [ - 'calendarid' => 1, - 'uri' => 'event3.ics', + 'calendarid' => 1, + 'uri' => 'event3.ics', 'calendardata' => $obj3 ] ], @@ -76,9 +75,9 @@ ics; $caldavBackend = new Backend\Mock([], $calendarData); $calendar = new Calendar($caldavBackend, [ - 'id' => 1, - 'uri' => 'calendar', - 'principaluri' => 'principals/user1', + 'id' => 1, + 'uri' => 'calendar', + 'principaluri' => 'principals/user1', '{' . Plugin::NS_CALDAV . '}calendar-timezone' => "BEGIN:VCALENDAR\r\nBEGIN:VTIMEZONE\r\nTZID:Europe/Berlin\r\nEND:VTIMEZONE\r\nEND:VCALENDAR", ]); @@ -105,13 +104,13 @@ ics; XML; $report = $this->server->xml->parse($reportXML, null, $rootElem); - $this->plugin->report($rootElem, $report); + $this->plugin->report($rootElem, $report, null); $this->assertEquals(200, $this->server->httpResponse->status); $this->assertEquals('text/calendar', $this->server->httpResponse->getHeader('Content-Type')); - $this->assertTrue(strpos($this->server->httpResponse->body, 'BEGIN:VFREEBUSY')!==false); - $this->assertTrue(strpos($this->server->httpResponse->body, '20111005T120000Z/20111005T130000Z')!==false); - $this->assertTrue(strpos($this->server->httpResponse->body, '20111006T100000Z/20111006T110000Z')!==false); + $this->assertTrue(strpos($this->server->httpResponse->body, 'BEGIN:VFREEBUSY') !== false); + $this->assertTrue(strpos($this->server->httpResponse->body, '20111005T120000Z/20111005T130000Z') !== false); + $this->assertTrue(strpos($this->server->httpResponse->body, '20111006T100000Z/20111006T110000Z') !== false); } @@ -127,7 +126,6 @@ XML; XML; $report = $this->server->xml->parse($reportXML, null, $rootElem); - $this->plugin->report($rootElem, $report); } @@ -136,9 +134,9 @@ XML; */ function testFreeBusyReportWrongNode() { - $request = HTTP\Sapi::createFromServerArray(array( + $request = HTTP\Sapi::createFromServerArray([ 'REQUEST_URI' => '/', - )); + ]); $this->server->httpRequest = $request; $reportXML = <<server->xml->parse($reportXML, null, $rootElem); - $this->plugin->report($rootElem, $report); + $this->plugin->report($rootElem, $report, null); } @@ -170,7 +168,7 @@ XML; XML; $report = $this->server->xml->parse($reportXML, null, $rootElem); - $this->plugin->report($rootElem, $report); + $this->plugin->report($rootElem, $report, null); } } diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/GetEventsByTimerangeTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/GetEventsByTimerangeTest.php index c3c97e8f6..5fd8d29a1 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/GetEventsByTimerangeTest.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/GetEventsByTimerangeTest.php @@ -75,7 +75,7 @@ END:VCALENDAR $response = $this->request($request); - $this->assertTrue(strpos($response->body, 'BEGIN:VCALENDAR')!==false); + $this->assertTrue(strpos($response->body, 'BEGIN:VCALENDAR') !== false); } diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/ICSExportPluginTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/ICSExportPluginTest.php index c123bd0c1..9719529fb 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/ICSExportPluginTest.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/ICSExportPluginTest.php @@ -7,657 +7,380 @@ use Sabre\HTTP; use Sabre\VObject; use Sabre\DAVACL; -require_once 'Sabre/CalDAV/TestUtil.php'; -require_once 'Sabre/HTTP/ResponseMock.php'; +class ICSExportPluginTest extends \Sabre\DAVServerTest { -class ICSExportPluginTest extends \PHPUnit_Framework_TestCase { + protected $setupCalDAV = true; + + protected $icsExportPlugin; function setUp() { - if (!SABRE_HASSQLITE) $this->markTestSkipped('SQLite driver is not available'); + parent::setUp(); + $this->icsExportPlugin = new ICSExportPlugin(); + $this->server->addPlugin( + $this->icsExportPlugin + ); - } + $id = $this->caldavBackend->createCalendar( + 'principals/admin', + 'UUID-123467', + [ + '{DAV:}displayname' => 'Hello!', + '{http://apple.com/ns/ical/}calendar-color' => '#AA0000FF', + ] + ); - function testInit() { + $this->caldavBackend->createCalendarObject( + $id, + 'event-1', + <<caldavBackend->createCalendarObject( + $id, + 'todo-1', + <<addPlugin($p); - $this->assertEquals($p, $s->getPlugin('ics-export')); - $this->assertEquals('ics-export', $p->getPluginInfo()['name']); } - function testBeforeMethod() { + function testInit() { - $cbackend = TestUtil::getBackend(); - - $props = [ - 'uri'=>'UUID-123467', - 'principaluri' => 'admin', - 'id' => 1, - '{DAV:}displayname' => 'Hello!', - '{http://apple.com/ns/ical/}calendar-color' => '#AA0000FF', - ]; - $tree = [ - new Calendar($cbackend,$props), - ]; - - $p = new ICSExportPlugin(); - - $s = new DAV\Server($tree); - $s->addPlugin($p); - $s->addPlugin(new Plugin()); - - $h = HTTP\Sapi::createFromServerArray([ - 'REQUEST_URI' => '/UUID-123467?export', - 'REQUEST_METHOD' => 'GET', - ]); - - $s->httpRequest = $h; - $s->httpResponse = new HTTP\ResponseMock(); - - $this->assertFalse($p->httpGet($h, $s->httpResponse)); - - $this->assertEquals(200, $s->httpResponse->status); - $this->assertEquals([ - 'Content-Type' => ['text/calendar'], - ], $s->httpResponse->getHeaders()); - - $obj = VObject\Reader::read($s->httpResponse->body); - - $this->assertEquals(7,count($obj->children())); - $this->assertEquals(1,count($obj->VERSION)); - $this->assertEquals(1,count($obj->CALSCALE)); - $this->assertEquals(1,count($obj->PRODID)); - $this->assertTrue(strpos((string)$obj->PRODID, DAV\Version::VERSION)!==false); - $this->assertEquals(1,count($obj->VTIMEZONE)); - $this->assertEquals(1,count($obj->VEVENT)); - $this->assertEquals("Hello!", $obj->{"X-WR-CALNAME"}); - $this->assertEquals("#AA0000FF", $obj->{"X-APPLE-CALENDAR-COLOR"}); + $this->assertEquals( + $this->icsExportPlugin, + $this->server->getPlugin('ics-export') + ); + $this->assertEquals($this->icsExportPlugin, $this->server->getPlugin('ics-export')); + $this->assertEquals('ics-export', $this->icsExportPlugin->getPluginInfo()['name']); } - function testBeforeMethodNoVersion() { - if (!SABRE_HASSQLITE) $this->markTestSkipped('SQLite driver is not available'); - $cbackend = TestUtil::getBackend(); + function testBeforeMethod() { - $props = [ - 'uri'=>'UUID-123467', - 'principaluri' => 'admin', - 'id' => 1, - ]; - $tree = [ - new Calendar($cbackend,$props), - ]; + $request = new HTTP\Request( + 'GET', + '/calendars/admin/UUID-123467?export' + ); - $p = new ICSExportPlugin(); + $response = $this->request($request); - $s = new DAV\Server($tree); + $this->assertEquals(200, $response->getStatus()); + $this->assertEquals('text/calendar', $response->getHeader('Content-Type')); - $s->addPlugin($p); - $s->addPlugin(new Plugin()); + $obj = VObject\Reader::read($response->body); - $h = HTTP\Sapi::createFromServerArray([ - 'REQUEST_URI' => '/UUID-123467?export', - 'REQUEST_METHOD' => 'GET', - ]); + $this->assertEquals(8, count($obj->children())); + $this->assertEquals(1, count($obj->VERSION)); + $this->assertEquals(1, count($obj->CALSCALE)); + $this->assertEquals(1, count($obj->PRODID)); + $this->assertTrue(strpos((string)$obj->PRODID, DAV\Version::VERSION) !== false); + $this->assertEquals(1, count($obj->VTIMEZONE)); + $this->assertEquals(1, count($obj->VEVENT)); + $this->assertEquals("Hello!", $obj->{"X-WR-CALNAME"}); + $this->assertEquals("#AA0000FF", $obj->{"X-APPLE-CALENDAR-COLOR"}); - $s->httpRequest = $h; - $s->httpResponse = new HTTP\ResponseMock(); + } + function testBeforeMethodNoVersion() { + $request = new HTTP\Request( + 'GET', + '/calendars/admin/UUID-123467?export' + ); DAV\Server::$exposeVersion = false; - $this->assertFalse($p->httpGet($h, $s->httpResponse)); + $response = $this->request($request); DAV\Server::$exposeVersion = true; - $this->assertEquals(200, $s->httpResponse->status); - $this->assertEquals([ - 'Content-Type' => ['text/calendar'], - ], $s->httpResponse->getHeaders()); + $this->assertEquals(200, $response->getStatus()); + $this->assertEquals('text/calendar', $response->getHeader('Content-Type')); - $obj = VObject\Reader::read($s->httpResponse->body); + $obj = VObject\Reader::read($response->body); - $this->assertEquals(5,count($obj->children())); - $this->assertEquals(1,count($obj->VERSION)); - $this->assertEquals(1,count($obj->CALSCALE)); - $this->assertEquals(1,count($obj->PRODID)); - $this->assertFalse(strpos((string)$obj->PRODID, DAV\Version::VERSION)!==false); - $this->assertEquals(1,count($obj->VTIMEZONE)); - $this->assertEquals(1,count($obj->VEVENT)); + $this->assertEquals(8, count($obj->children())); + $this->assertEquals(1, count($obj->VERSION)); + $this->assertEquals(1, count($obj->CALSCALE)); + $this->assertEquals(1, count($obj->PRODID)); + $this->assertFalse(strpos((string)$obj->PRODID, DAV\Version::VERSION) !== false); + $this->assertEquals(1, count($obj->VTIMEZONE)); + $this->assertEquals(1, count($obj->VEVENT)); } function testBeforeMethodNoExport() { - $p = new ICSExportPlugin(); - - $s = new DAV\Server(); - $s->addPlugin($p); - - $h = HTTP\Sapi::createFromServerArray([ - 'REQUEST_URI' => '/UUID-123467', - 'REQUEST_METHOD' => 'GET', - ]); - $this->assertNull($p->httpGet($h, $s->httpResponse)); + $request = new HTTP\Request( + 'GET', + '/calendars/admin/UUID-123467' + ); + $response = new HTTP\Response(); + $this->assertNull($this->icsExportPlugin->httpGet($request, $response)); } function testACLIntegrationBlocked() { - $cbackend = TestUtil::getBackend(); - - $props = array( - 'uri'=>'UUID-123467', - 'principaluri' => 'admin', - 'id' => 1, + $aclPlugin = new DAVACL\Plugin(); + $aclPlugin->allowUnauthenticatedAccess = false; + $this->server->addPlugin( + $aclPlugin ); - $tree = array( - new Calendar($cbackend,$props), - ); - - $p = new ICSExportPlugin(); - - $s = new DAV\Server($tree); - $s->addPlugin($p); - $s->addPlugin(new Plugin()); - $s->addPlugin(new DAVACL\Plugin()); - - $h = HTTP\Sapi::createFromServerArray([ - 'REQUEST_URI' => '/UUID-123467?export', - ]); - $s->httpRequest = $h; - $s->httpResponse = new HTTP\ResponseMock(); - - $p->httpGet($h, $s->httpResponse); + $request = new HTTP\Request( + 'GET', + '/calendars/admin/UUID-123467?export' + ); - // If the ACL system blocked this request, the effect will be that - // there's no response, because the calendar information could not be - // fetched. - $this->assertNull($s->httpResponse->getStatus()); + $this->request($request, 403); } function testACLIntegrationNotBlocked() { - $cbackend = TestUtil::getBackend(); - $pbackend = new DAVACL\PrincipalBackend\Mock(); - - $props = array( - 'uri'=>'UUID-123467', - 'principaluri' => 'admin', - 'id' => 1, + $aclPlugin = new DAVACL\Plugin(); + $aclPlugin->allowUnauthenticatedAccess = false; + $this->server->addPlugin( + $aclPlugin ); - $tree = array( - new Calendar($cbackend,$props), - new DAVACL\PrincipalCollection($pbackend), + $this->server->addPlugin( + new Plugin() ); - $p = new ICSExportPlugin(); + $this->autoLogin('admin'); - $s = new DAV\Server($tree); - $s->sapi = new HTTP\SapiMock(); - $s->addPlugin($p); - $s->addPlugin(new Plugin()); - $s->addPlugin(new DAVACL\Plugin()); - $s->addPlugin(new DAV\Auth\Plugin(new DAV\Auth\Backend\Mock(),'SabreDAV')); - - // Forcing login - $s->getPlugin('acl')->adminPrincipals = array('principals/admin'); - - - $h = HTTP\Sapi::createFromServerArray([ - 'REQUEST_URI' => '/UUID-123467?export', - 'REQUEST_METHOD' => 'GET', - ]); - - $s->httpRequest = $h; - $s->httpResponse = new HTTP\ResponseMock(); - - $s->exec(); + $request = new HTTP\Request( + 'GET', + '/calendars/admin/UUID-123467?export' + ); - $this->assertEquals(200, $s->httpResponse->status,'Invalid status received. Response body: '. $s->httpResponse->body); - $this->assertEquals(array( - 'X-Sabre-Version' => [DAV\Version::VERSION], - 'Content-Type' => ['text/calendar'], - ), $s->httpResponse->getHeaders()); + $response = $this->request($request, 200); + $this->assertEquals('text/calendar', $response->getHeader('Content-Type')); - $obj = VObject\Reader::read($s->httpResponse->body); + $obj = VObject\Reader::read($response->body); - $this->assertEquals(5,count($obj->children())); - $this->assertEquals(1,count($obj->VERSION)); - $this->assertEquals(1,count($obj->CALSCALE)); - $this->assertEquals(1,count($obj->PRODID)); - $this->assertEquals(1,count($obj->VTIMEZONE)); - $this->assertEquals(1,count($obj->VEVENT)); + $this->assertEquals(8, count($obj->children())); + $this->assertEquals(1, count($obj->VERSION)); + $this->assertEquals(1, count($obj->CALSCALE)); + $this->assertEquals(1, count($obj->PRODID)); + $this->assertTrue(strpos((string)$obj->PRODID, DAV\Version::VERSION) !== false); + $this->assertEquals(1, count($obj->VTIMEZONE)); + $this->assertEquals(1, count($obj->VEVENT)); } function testBadStartParam() { - $cbackend = TestUtil::getBackend(); - $pbackend = new DAVACL\PrincipalBackend\Mock(); - - $props = array( - 'uri'=>'UUID-123467', - 'principaluri' => 'admin', - 'id' => 1, - ); - $tree = array( - new Calendar($cbackend,$props), - new DAVACL\PrincipalCollection($pbackend), + $request = new HTTP\Request( + 'GET', + '/calendars/admin/UUID-123467?export&start=foo' ); - - $p = new ICSExportPlugin(); - - $s = new DAV\Server($tree); - $s->sapi = new HTTP\SapiMock(); - $s->addPlugin($p); - $s->addPlugin(new Plugin()); - - $h = HTTP\Sapi::createFromServerArray([ - 'REQUEST_URI' => '/UUID-123467?export&start=foo', - 'REQUEST_METHOD' => 'GET', - ]); - - $s->httpRequest = $h; - $s->httpResponse = new HTTP\ResponseMock(); - - $s->exec(); - - $this->assertEquals(400, $s->httpResponse->status,'Invalid status received. Response body: '. $s->httpResponse->body); + $this->request($request, 400); } function testBadEndParam() { - $cbackend = TestUtil::getBackend(); - $pbackend = new DAVACL\PrincipalBackend\Mock(); - - $props = array( - 'uri'=>'UUID-123467', - 'principaluri' => 'admin', - 'id' => 1, + $request = new HTTP\Request( + 'GET', + '/calendars/admin/UUID-123467?export&end=foo' ); - $tree = array( - new Calendar($cbackend,$props), - new DAVACL\PrincipalCollection($pbackend), - ); - - $p = new ICSExportPlugin(); - - $s = new DAV\Server($tree); - $s->sapi = new HTTP\SapiMock(); - $s->addPlugin($p); - $s->addPlugin(new Plugin()); - - $h = HTTP\Sapi::createFromServerArray([ - 'REQUEST_URI' => '/UUID-123467?export&end=foo', - 'REQUEST_METHOD' => 'GET', - ]); - - $s->httpRequest = $h; - $s->httpResponse = new HTTP\ResponseMock(); - - $s->exec(); - - $this->assertEquals(400, $s->httpResponse->status,'Invalid status received. Response body: '. $s->httpResponse->body); + $this->request($request, 400); } function testFilterStartEnd() { - $cbackend = TestUtil::getBackend(); - $pbackend = new DAVACL\PrincipalBackend\Mock(); - - $props = array( - 'uri'=>'UUID-123467', - 'principaluri' => 'admin', - 'id' => 1, + $request = new HTTP\Request( + 'GET', + '/calendars/admin/UUID-123467?export&start=1&end=2' ); - $tree = array( - new Calendar($cbackend,$props), - new DAVACL\PrincipalCollection($pbackend), - ); - - $p = new ICSExportPlugin(); - - $s = new DAV\Server($tree); - $s->sapi = new HTTP\SapiMock(); - $s->addPlugin($p); - $s->addPlugin(new Plugin()); - - $h = HTTP\Sapi::createFromServerArray([ - 'REQUEST_URI' => '/UUID-123467?export&start=1&end=2', - 'REQUEST_METHOD' => 'GET', - ]); + $response = $this->request($request, 200); - $s->httpRequest = $h; - $s->httpResponse = new HTTP\ResponseMock(); + $obj = VObject\Reader::read($response->getBody()); - $s->exec(); - - $this->assertEquals(200, $s->httpResponse->status,'Invalid status received. Response body: '. $s->httpResponse->body); - $obj = VObject\Reader::read($s->httpResponse->body); - - $this->assertEquals(0,count($obj->VTIMEZONE)); - $this->assertEquals(0,count($obj->VEVENT)); + $this->assertEquals(0, count($obj->VTIMEZONE)); + $this->assertEquals(0, count($obj->VEVENT)); } function testExpandNoStart() { - $cbackend = TestUtil::getBackend(); - $pbackend = new DAVACL\PrincipalBackend\Mock(); - - $props = array( - 'uri'=>'UUID-123467', - 'principaluri' => 'admin', - 'id' => 1, + $request = new HTTP\Request( + 'GET', + '/calendars/admin/UUID-123467?export&expand=1&end=2' ); - $tree = array( - new Calendar($cbackend,$props), - new DAVACL\PrincipalCollection($pbackend), - ); - - $p = new ICSExportPlugin(); - - $s = new DAV\Server($tree); - $s->sapi = new HTTP\SapiMock(); - $s->addPlugin($p); - $s->addPlugin(new Plugin()); - - $h = HTTP\Sapi::createFromServerArray([ - 'REQUEST_URI' => '/UUID-123467?export&expand=1&end=1', - 'REQUEST_METHOD' => 'GET', - ]); - - $s->httpRequest = $h; - $s->httpResponse = new HTTP\ResponseMock(); - - $s->exec(); - - $this->assertEquals(400, $s->httpResponse->status,'Invalid status received. Response body: '. $s->httpResponse->body); + $this->request($request, 400); } function testExpand() { - $cbackend = TestUtil::getBackend(); - $pbackend = new DAVACL\PrincipalBackend\Mock(); - - $props = array( - 'uri'=>'UUID-123467', - 'principaluri' => 'admin', - 'id' => 1, + $request = new HTTP\Request( + 'GET', + '/calendars/admin/UUID-123467?export&start=1&end=2000000000&expand=1' ); - $tree = array( - new Calendar($cbackend,$props), - new DAVACL\PrincipalCollection($pbackend), - ); - - $p = new ICSExportPlugin(); - - $s = new DAV\Server($tree); - $s->sapi = new HTTP\SapiMock(); - $s->addPlugin($p); - $s->addPlugin(new Plugin()); - - $h = HTTP\Sapi::createFromServerArray([ - 'REQUEST_URI' => '/UUID-123467?export&start=1&end=2000000000&expand=1', - 'REQUEST_METHOD' => 'GET', - ]); + $response = $this->request($request, 200); - $s->httpRequest = $h; - $s->httpResponse = new HTTP\ResponseMock(); + $obj = VObject\Reader::read($response->getBody()); - $s->exec(); - - $this->assertEquals(200, $s->httpResponse->status,'Invalid status received. Response body: '. $s->httpResponse->body); - $obj = VObject\Reader::read($s->httpResponse->body); - - $this->assertEquals(0,count($obj->VTIMEZONE)); - $this->assertEquals(1,count($obj->VEVENT)); + $this->assertEquals(0, count($obj->VTIMEZONE)); + $this->assertEquals(1, count($obj->VEVENT)); } function testJCal() { - $cbackend = TestUtil::getBackend(); - $pbackend = new DAVACL\PrincipalBackend\Mock(); - - $props = array( - 'uri'=>'UUID-123467', - 'principaluri' => 'admin', - 'id' => 1, + $request = new HTTP\Request( + 'GET', + '/calendars/admin/UUID-123467?export', + ['Accept' => 'application/calendar+json'] ); - $tree = array( - new Calendar($cbackend,$props), - new DAVACL\PrincipalCollection($pbackend), - ); - - $p = new ICSExportPlugin(); - - $s = new DAV\Server($tree); - $s->sapi = new HTTP\SapiMock(); - $s->addPlugin($p); - $s->addPlugin(new Plugin()); - - $h = HTTP\Sapi::createFromServerArray([ - 'REQUEST_URI' => '/UUID-123467?export', - 'REQUEST_METHOD' => 'GET', - 'HTTP_ACCEPT' => 'application/calendar+json', - ]); - $s->httpRequest = $h; - $s->httpResponse = new HTTP\ResponseMock(); - - $s->exec(); - - $this->assertEquals(200, $s->httpResponse->status,'Invalid status received. Response body: '. $s->httpResponse->body); - $this->assertEquals('application/calendar+json', $s->httpResponse->getHeader('Content-Type')); + $response = $this->request($request, 200); + $this->assertEquals('application/calendar+json', $response->getHeader('Content-Type')); } function testJCalInUrl() { - $cbackend = TestUtil::getBackend(); - $pbackend = new DAVACL\PrincipalBackend\Mock(); - - $props = array( - 'uri'=>'UUID-123467', - 'principaluri' => 'admin', - 'id' => 1, - ); - $tree = array( - new Calendar($cbackend,$props), - new DAVACL\PrincipalCollection($pbackend), + $request = new HTTP\Request( + 'GET', + '/calendars/admin/UUID-123467?export&accept=jcal' ); - $p = new ICSExportPlugin(); - - $s = new DAV\Server($tree); - $s->sapi = new HTTP\SapiMock(); - $s->addPlugin($p); - $s->addPlugin(new Plugin()); - - $h = HTTP\Sapi::createFromServerArray([ - 'REQUEST_URI' => '/UUID-123467?export&accept=jcal', - 'REQUEST_METHOD' => 'GET', - ]); - - $s->httpRequest = $h; - $s->httpResponse = new HTTP\ResponseMock(); - - $s->exec(); - - $this->assertEquals(200, $s->httpResponse->status,'Invalid status received. Response body: '. $s->httpResponse->body); - $this->assertEquals('application/calendar+json', $s->httpResponse->getHeader('Content-Type')); + $response = $this->request($request, 200); + $this->assertEquals('application/calendar+json', $response->getHeader('Content-Type')); } function testNegotiateDefault() { - $cbackend = TestUtil::getBackend(); - $pbackend = new DAVACL\PrincipalBackend\Mock(); - - $props = array( - 'uri'=>'UUID-123467', - 'principaluri' => 'admin', - 'id' => 1, - ); - $tree = array( - new Calendar($cbackend,$props), - new DAVACL\PrincipalCollection($pbackend), + $request = new HTTP\Request( + 'GET', + '/calendars/admin/UUID-123467?export', + ['Accept' => 'text/plain'] ); - $p = new ICSExportPlugin(); - - $s = new DAV\Server($tree); - $s->sapi = new HTTP\SapiMock(); - $s->addPlugin($p); - $s->addPlugin(new Plugin()); - - $h = HTTP\Sapi::createFromServerArray([ - 'REQUEST_URI' => '/UUID-123467?export', - 'REQUEST_METHOD' => 'GET', - 'HTTP_ACCEPT' => 'text/plain', - ]); - - $s->httpRequest = $h; - $s->httpResponse = new HTTP\ResponseMock(); - - $s->exec(); - - $this->assertEquals(200, $s->httpResponse->status,'Invalid status received. Response body: '. $s->httpResponse->body); - $this->assertEquals('text/calendar', $s->httpResponse->getHeader('Content-Type')); + $response = $this->request($request, 200); + $this->assertEquals('text/calendar', $response->getHeader('Content-Type')); } function testFilterComponentVEVENT() { - $cbackend = TestUtil::getBackend(); - $pbackend = new DAVACL\PrincipalBackend\Mock(); - - $props = array( - 'uri'=>'UUID-123467', - 'principaluri' => 'admin', - 'id' => 1, - ); - // add a todo to the calendar (see /tests/Sabre/TestUtil) - $cbackend->createCalendarObject(1, 'UUID-3456', TestUtil::getTestTODO()); - - $tree = array( - new Calendar($cbackend,$props), - new DAVACL\PrincipalCollection($pbackend), + $request = new HTTP\Request( + 'GET', + '/calendars/admin/UUID-123467?export&componentType=VEVENT' ); - $p = new ICSExportPlugin(); + $response = $this->request($request, 200); - $s = new DAV\Server($tree); - $s->sapi = new HTTP\SapiMock(); - $s->addPlugin($p); - $s->addPlugin(new Plugin()); - - $h = HTTP\Sapi::createFromServerArray([ - 'REQUEST_URI' => '/UUID-123467?export&componentType=VEVENT', - 'REQUEST_METHOD' => 'GET', - ]); - - $s->httpRequest = $h; - $s->httpResponse = new HTTP\ResponseMock(); - - $s->exec(); - - $this->assertEquals(200, $s->httpResponse->status,'Invalid status received. Response body: '. $s->httpResponse->body); - $obj = VObject\Reader::read($s->httpResponse->body); - - $this->assertEquals(1,count($obj->VTIMEZONE)); - $this->assertEquals(1,count($obj->VEVENT)); - $this->assertEquals(0,count($obj->VTODO)); + $obj = VObject\Reader::read($response->body); + $this->assertEquals(1, count($obj->VTIMEZONE)); + $this->assertEquals(1, count($obj->VEVENT)); + $this->assertEquals(0, count($obj->VTODO)); } function testFilterComponentVTODO() { - $cbackend = TestUtil::getBackend(); - $pbackend = new DAVACL\PrincipalBackend\Mock(); + $request = new HTTP\Request( + 'GET', + '/calendars/admin/UUID-123467?export&componentType=VTODO' + ); - $props = [ - 'uri'=>'UUID-123467', - 'principaluri' => 'admin', - 'id' => 1, - ]; - // add a todo to the calendar (see /tests/Sabre/TestUtil) - $cbackend->createCalendarObject(1, 'UUID-3456', TestUtil::getTestTODO()); + $response = $this->request($request, 200); - $tree = [ - new Calendar($cbackend,$props), - new DAVACL\PrincipalCollection($pbackend), - ]; + $obj = VObject\Reader::read($response->body); - $p = new ICSExportPlugin(); + $this->assertEquals(0, count($obj->VTIMEZONE)); + $this->assertEquals(0, count($obj->VEVENT)); + $this->assertEquals(1, count($obj->VTODO)); - $s = new DAV\Server($tree); - $s->sapi = new HTTP\SapiMock(); - $s->addPlugin($p); - $s->addPlugin(new Plugin()); + } - $h = HTTP\Sapi::createFromServerArray([ - 'REQUEST_URI' => '/UUID-123467?export&componentType=VTODO', - 'REQUEST_METHOD' => 'GET', - ]); + function testFilterComponentBadComponent() { - $s->httpRequest = $h; - $s->httpResponse = new HTTP\ResponseMock(); + $request = new HTTP\Request( + 'GET', + '/calendars/admin/UUID-123467?export&componentType=VVOODOO' + ); - $s->exec(); + $response = $this->request($request, 400); - $this->assertEquals(200, $s->httpResponse->status,'Invalid status received. Response body: '. $s->httpResponse->body); - $obj = VObject\Reader::read($s->httpResponse->body); + } - $this->assertEquals(0,count($obj->VTIMEZONE)); - $this->assertEquals(0,count($obj->VEVENT)); - $this->assertEquals(1,count($obj->VTODO)); + function testContentDisposition() { - } + $request = new HTTP\Request( + 'GET', + '/calendars/admin/UUID-123467?export' + ); - function testFilterComponentBadComponent() { + $response = $this->request($request, 200); + $this->assertEquals('text/calendar', $response->getHeader('Content-Type')); + $this->assertEquals( + 'attachment; filename="UUID-123467-' . date('Y-m-d') . '.ics"', + $response->getHeader('Content-Disposition') + ); - $cbackend = TestUtil::getBackend(); - $pbackend = new DAVACL\PrincipalBackend\Mock(); + } - $props = [ - 'uri'=>'UUID-123467', - 'principaluri' => 'admin', - 'id' => 1, - ]; - // add a todo to the calendar (see /tests/Sabre/TestUtil) - $cbackend->createCalendarObject(1, 'UUID-3456', TestUtil::getTestTODO()); + function testContentDispositionJson() { - $tree = [ - new Calendar($cbackend,$props), - new DAVACL\PrincipalCollection($pbackend), - ]; + $request = new HTTP\Request( + 'GET', + '/calendars/admin/UUID-123467?export', + ['Accept' => 'application/calendar+json'] + ); - $p = new ICSExportPlugin(); + $response = $this->request($request, 200); + $this->assertEquals('application/calendar+json', $response->getHeader('Content-Type')); + $this->assertEquals( + 'attachment; filename="UUID-123467-' . date('Y-m-d') . '.json"', + $response->getHeader('Content-Disposition') + ); - $s = new DAV\Server($tree); - $s->sapi = new HTTP\SapiMock(); - $s->addPlugin($p); - $s->addPlugin(new Plugin()); + } - $h = HTTP\Sapi::createFromServerArray([ - 'REQUEST_URI' => '/UUID-123467?export&componentType=VVOODOO', - 'REQUEST_METHOD' => 'GET', - ]); + function testContentDispositionBadChars() { - $s->httpRequest = $h; - $s->httpResponse = new HTTP\ResponseMock(); + $this->caldavBackend->createCalendar( + 'principals/admin', + 'UUID-b_ad"(ch)ars', + [ + '{DAV:}displayname' => 'Test bad characters', + '{http://apple.com/ns/ical/}calendar-color' => '#AA0000FF', + ] + ); - $s->exec(); + $request = new HTTP\Request( + 'GET', + '/calendars/admin/UUID-b_ad"(ch)ars?export', + ['Accept' => 'application/calendar+json'] + ); - $this->assertEquals(400, $s->httpResponse->status,'Invalid status received. Response body: '. $s->httpResponse->body); + $response = $this->request($request, 200); + $this->assertEquals('application/calendar+json', $response->getHeader('Content-Type')); + $this->assertEquals( + 'attachment; filename="UUID-b_adchars-' . date('Y-m-d') . '.json"', + $response->getHeader('Content-Disposition') + ); } + } diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/Issue166Test.php b/vendor/sabre/dav/tests/Sabre/CalDAV/Issue166Test.php index f925224f2..a1a9b7c04 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/Issue166Test.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/Issue166Test.php @@ -1,8 +1,8 @@ 'VCALENDAR', - 'comp-filters' => array( - array( - 'name' => 'VEVENT', - 'comp-filters' => array(), - 'prop-filters' => array(), + $filters = [ + 'name' => 'VCALENDAR', + 'comp-filters' => [ + [ + 'name' => 'VEVENT', + 'comp-filters' => [], + 'prop-filters' => [], 'is-not-defined' => false, - 'time-range' => array( + 'time-range' => [ 'start' => new \DateTime('2011-12-01'), 'end' => new \DateTime('2012-02-01'), - ), - ), - ), - 'prop-filters' => array(), + ], + ], + ], + 'prop-filters' => [], 'is-not-defined' => false, - 'time-range' => null, - ); + 'time-range' => null, + ]; $input = VObject\Reader::read($input); - $this->assertTrue($validator->validate($input,$filters)); + $this->assertTrue($validator->validate($input, $filters)); } diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/Issue172Test.php b/vendor/sabre/dav/tests/Sabre/CalDAV/Issue172Test.php index ce6d364f6..e2b85c2bc 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/Issue172Test.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/Issue172Test.php @@ -1,8 +1,8 @@ 'VCALENDAR', - 'comp-filters' => array( - array( - 'name' => 'VEVENT', - 'comp-filters' => array(), - 'prop-filters' => array(), + $filters = [ + 'name' => 'VCALENDAR', + 'comp-filters' => [ + [ + 'name' => 'VEVENT', + 'comp-filters' => [], + 'prop-filters' => [], 'is-not-defined' => false, - 'time-range' => array( + 'time-range' => [ 'start' => new \DateTime('2012-01-18 21:00:00 GMT-08:00'), 'end' => new \DateTime('2012-01-18 21:00:00 GMT-08:00'), - ), - ), - ), - 'prop-filters' => array(), - ); + ], + ], + ], + 'prop-filters' => [], + ]; $input = VObject\Reader::read($input); - $this->assertTrue($validator->validate($input,$filters)); + $this->assertTrue($validator->validate($input, $filters)); } // Pacific Standard Time, translates to America/Los_Angeles (GMT-8 in January) @@ -65,24 +65,24 @@ END:VEVENT END:VCALENDAR HI; $validator = new CalendarQueryValidator(); - $filters = array( - 'name' => 'VCALENDAR', - 'comp-filters' => array( - array( - 'name' => 'VEVENT', - 'comp-filters' => array(), - 'prop-filters' => array(), + $filters = [ + 'name' => 'VCALENDAR', + 'comp-filters' => [ + [ + 'name' => 'VEVENT', + 'comp-filters' => [], + 'prop-filters' => [], 'is-not-defined' => false, - 'time-range' => array( + 'time-range' => [ 'start' => new \DateTime('2012-01-13 10:30:00 GMT-08:00'), 'end' => new \DateTime('2012-01-13 10:30:00 GMT-08:00'), - ), - ), - ), - 'prop-filters' => array(), - ); + ], + ], + ], + 'prop-filters' => [], + ]; $input = VObject\Reader::read($input); - $this->assertTrue($validator->validate($input,$filters)); + $this->assertTrue($validator->validate($input, $filters)); } // X-LIC-LOCATION, translates to America/Los_Angeles (GMT-8 in January) @@ -113,23 +113,23 @@ END:VEVENT END:VCALENDAR HI; $validator = new CalendarQueryValidator(); - $filters = array( - 'name' => 'VCALENDAR', - 'comp-filters' => array( - array( - 'name' => 'VEVENT', - 'comp-filters' => array(), - 'prop-filters' => array(), + $filters = [ + 'name' => 'VCALENDAR', + 'comp-filters' => [ + [ + 'name' => 'VEVENT', + 'comp-filters' => [], + 'prop-filters' => [], 'is-not-defined' => false, - 'time-range' => array( + 'time-range' => [ 'start' => new \DateTime('2012-01-13 10:30:00 GMT-08:00'), 'end' => new \DateTime('2012-01-13 10:30:00 GMT-08:00'), - ), - ), - ), - 'prop-filters' => array(), - ); + ], + ], + ], + 'prop-filters' => [], + ]; $input = VObject\Reader::read($input); - $this->assertTrue($validator->validate($input,$filters)); + $this->assertTrue($validator->validate($input, $filters)); } } diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/Issue205Test.php b/vendor/sabre/dav/tests/Sabre/CalDAV/Issue205Test.php index 4a53fcbe2..ce40a90b0 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/Issue205Test.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/Issue205Test.php @@ -1,6 +1,7 @@ 1, - 'name' => 'Calendar', + protected $caldavCalendars = [ + [ + 'id' => 1, + 'name' => 'Calendar', 'principaluri' => 'principals/user1', - 'uri' => 'calendar1', - ) - ); + 'uri' => 'calendar1', + ] + ]; - protected $caldavCalendarObjects = array( - 1 => array( - 'event.ics' => array( + protected $caldavCalendarObjects = [ + 1 => [ + 'event.ics' => [ 'calendardata' => 'BEGIN:VCALENDAR VERSION:2.0 BEGIN:VEVENT @@ -44,18 +45,18 @@ END:VALARM END:VEVENT END:VCALENDAR ', - ), - ), - ); + ], + ], + ]; function testIssue205() { - $request = HTTP\Sapi::createFromServerArray(array( - 'REQUEST_METHOD' => 'REPORT', + $request = HTTP\Sapi::createFromServerArray([ + 'REQUEST_METHOD' => 'REPORT', 'HTTP_CONTENT_TYPE' => 'application/xml', - 'REQUEST_URI' => '/calendars/user1/calendar1', - 'HTTP_DEPTH' => '1', - )); + 'REQUEST_URI' => '/calendars/user1/calendar1', + 'HTTP_DEPTH' => '1', + ]); $request->setBody(' @@ -87,7 +88,7 @@ END:VCALENDAR $start = strpos($response->body, 'BEGIN:VCALENDAR'), strpos($response->body, 'END:VCALENDAR') - $start + 13 ); - $body = str_replace(' ','',$body); + $body = str_replace(' ', '', $body); $vObject = VObject\Reader::read($body); diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/Issue211Test.php b/vendor/sabre/dav/tests/Sabre/CalDAV/Issue211Test.php index f291e5e57..950629fd8 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/Issue211Test.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/Issue211Test.php @@ -1,8 +1,8 @@ 1, - 'name' => 'Calendar', + protected $caldavCalendars = [ + [ + 'id' => 1, + 'name' => 'Calendar', 'principaluri' => 'principals/user1', - 'uri' => 'calendar1', - ) - ); + 'uri' => 'calendar1', + ] + ]; - protected $caldavCalendarObjects = array( - 1 => array( - 'event.ics' => array( + protected $caldavCalendarObjects = [ + 1 => [ + 'event.ics' => [ 'calendardata' => 'BEGIN:VCALENDAR VERSION:2.0 BEGIN:VEVENT @@ -49,18 +49,18 @@ END:VALARM END:VEVENT END:VCALENDAR ', - ), - ), - ); + ], + ], + ]; function testIssue211() { - $request = HTTP\Sapi::createFromServerArray(array( - 'REQUEST_METHOD' => 'REPORT', + $request = HTTP\Sapi::createFromServerArray([ + 'REQUEST_METHOD' => 'REPORT', 'HTTP_CONTENT_TYPE' => 'application/xml', - 'REQUEST_URI' => '/calendars/user1/calendar1', - 'HTTP_DEPTH' => '1', - )); + 'REQUEST_URI' => '/calendars/user1/calendar1', + 'HTTP_DEPTH' => '1', + ]); $request->setBody(' diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/Issue220Test.php b/vendor/sabre/dav/tests/Sabre/CalDAV/Issue220Test.php index 7b5dbfe63..c3c0b5b48 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/Issue220Test.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/Issue220Test.php @@ -15,18 +15,18 @@ class Issue220Test extends \Sabre\DAVServerTest { protected $setupCalDAV = true; - protected $caldavCalendars = array( - array( - 'id' => 1, - 'name' => 'Calendar', + protected $caldavCalendars = [ + [ + 'id' => 1, + 'name' => 'Calendar', 'principaluri' => 'principals/user1', - 'uri' => 'calendar1', - ) - ); + 'uri' => 'calendar1', + ] + ]; - protected $caldavCalendarObjects = array( - 1 => array( - 'event.ics' => array( + protected $caldavCalendarObjects = [ + 1 => [ + 'event.ics' => [ 'calendardata' => 'BEGIN:VCALENDAR VERSION:2.0 BEGIN:VEVENT @@ -59,18 +59,18 @@ UID:b64f14c5-dccc-4eda-947f-bdb1f763fbcd END:VEVENT END:VCALENDAR ', - ), - ), - ); + ], + ], + ]; function testIssue220() { - $request = HTTP\Sapi::createFromServerArray(array( - 'REQUEST_METHOD' => 'REPORT', + $request = HTTP\Sapi::createFromServerArray([ + 'REQUEST_METHOD' => 'REPORT', 'HTTP_CONTENT_TYPE' => 'application/xml', - 'REQUEST_URI' => '/calendars/user1/calendar1', - 'HTTP_DEPTH' => '1', - )); + 'REQUEST_URI' => '/calendars/user1/calendar1', + 'HTTP_DEPTH' => '1', + ]); $request->setBody(' diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/Issue228Test.php b/vendor/sabre/dav/tests/Sabre/CalDAV/Issue228Test.php index ccc6b303a..d0783701d 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/Issue228Test.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/Issue228Test.php @@ -1,6 +1,7 @@ 1, - 'name' => 'Calendar', + protected $caldavCalendars = [ + [ + 'id' => 1, + 'name' => 'Calendar', 'principaluri' => 'principals/user1', - 'uri' => 'calendar1', - ) - ); + 'uri' => 'calendar1', + ] + ]; - protected $caldavCalendarObjects = array( - 1 => array( - 'event.ics' => array( + protected $caldavCalendarObjects = [ + 1 => [ + 'event.ics' => [ 'calendardata' => 'BEGIN:VCALENDAR VERSION:2.0 BEGIN:VEVENT @@ -38,18 +39,18 @@ TRANSP:TRANSPARENT END:VEVENT END:VCALENDAR ', - ), - ), - ); + ], + ], + ]; function testIssue228() { - $request = HTTP\Sapi::createFromServerArray(array( - 'REQUEST_METHOD' => 'REPORT', + $request = HTTP\Sapi::createFromServerArray([ + 'REQUEST_METHOD' => 'REPORT', 'HTTP_CONTENT_TYPE' => 'application/xml', - 'REQUEST_URI' => '/calendars/user1/calendar1', - 'HTTP_DEPTH' => '1', - )); + 'REQUEST_URI' => '/calendars/user1/calendar1', + 'HTTP_DEPTH' => '1', + ]); $request->setBody(' diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/Notifications/CollectionTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/Notifications/CollectionTest.php index 68035184f..6585f85c3 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/Notifications/CollectionTest.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/Notifications/CollectionTest.php @@ -14,13 +14,13 @@ class CollectionTest extends \PHPUnit_Framework_TestCase { $this->principalUri = 'principals/user1'; - $this->notification = new CalDAV\Xml\Notification\SystemStatus(1,'"1"'); + $this->notification = new CalDAV\Xml\Notification\SystemStatus(1, '"1"'); - $this->caldavBackend = new CalDAV\Backend\MockSharing(array(),array(), array( - 'principals/user1' => array( + $this->caldavBackend = new CalDAV\Backend\MockSharing([], [], [ + 'principals/user1' => [ $this->notification - ) - )); + ] + ]); return new Collection($this->caldavBackend, $this->principalUri); @@ -31,9 +31,9 @@ class CollectionTest extends \PHPUnit_Framework_TestCase { $col = $this->getInstance(); $this->assertEquals('notifications', $col->getName()); - $this->assertEquals(array( + $this->assertEquals([ new Node($this->caldavBackend, $this->principalUri, $this->notification) - ), $col->getChildren()); + ], $col->getChildren()); } @@ -54,30 +54,25 @@ class CollectionTest extends \PHPUnit_Framework_TestCase { function testGetACL() { $col = $this->getInstance(); - $expected = array( - array( - 'privilege' => '{DAV:}read', - 'principal' => $this->principalUri, + $expected = [ + [ + 'privilege' => '{DAV:}all', + 'principal' => '{DAV:}owner', 'protected' => true, - ), - array( - 'privilege' => '{DAV:}write', - 'principal' => $this->principalUri, - 'protected' => true, - ), - ); + ], + ]; $this->assertEquals($expected, $col->getACL()); } /** - * @expectedException Sabre\DAV\Exception\NotImplemented + * @expectedException \Sabre\DAV\Exception\Forbidden */ function testSetACL() { $col = $this->getInstance(); - $col->setACL(array()); + $col->setACL([]); } diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/Notifications/NodeTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/Notifications/NodeTest.php index d546116fc..6c6e02da8 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/Notifications/NodeTest.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/Notifications/NodeTest.php @@ -13,7 +13,7 @@ class NodeTest extends \PHPUnit_Framework_TestCase { $principalUri = 'principals/user1'; - $this->systemStatus = new CalDAV\Xml\Notification\SystemStatus(1,'"1"'); + $this->systemStatus = new CalDAV\Xml\Notification\SystemStatus(1, '"1"'); $this->caldavBackend = new CalDAV\Backend\MockSharing([], [], [ 'principals/user1' => [ @@ -51,7 +51,7 @@ class NodeTest extends \PHPUnit_Framework_TestCase { $node = $this->getInstance(); $node->delete(); - $this->assertEquals(array(), $this->caldavBackend->getNotificationsForPrincipal('principals/user1')); + $this->assertEquals([], $this->caldavBackend->getNotificationsForPrincipal('principals/user1')); } @@ -65,30 +65,25 @@ class NodeTest extends \PHPUnit_Framework_TestCase { function testGetACL() { $node = $this->getInstance(); - $expected = array( - array( - 'privilege' => '{DAV:}read', - 'principal' => 'principals/user1', + $expected = [ + [ + 'privilege' => '{DAV:}all', + 'principal' => '{DAV:}owner', 'protected' => true, - ), - array( - 'privilege' => '{DAV:}write', - 'principal' => 'principals/user1', - 'protected' => true, - ), - ); + ], + ]; $this->assertEquals($expected, $node->getACL()); } /** - * @expectedException Sabre\DAV\Exception\NotImplemented + * @expectedException \Sabre\DAV\Exception\Forbidden */ function testSetACL() { $node = $this->getInstance(); - $node->setACL(array()); + $node->setACL([]); } diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/PluginTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/PluginTest.php index 138012ffa..8d538dee5 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/PluginTest.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/PluginTest.php @@ -81,12 +81,14 @@ class PluginTest extends \PHPUnit_Framework_TestCase { $this->server->addPlugin($this->plugin); // Adding ACL plugin - $this->server->addPlugin(new DAVACL\Plugin()); + $aclPlugin = new DAVACL\Plugin(); + $aclPlugin->allowUnauthenticatedAccess = false; + $this->server->addPlugin($aclPlugin); // Adding Auth plugin, and ensuring that we are logged in. $authBackend = new DAV\Auth\Backend\Mock(); $authBackend->setPrincipal('principals/user1'); - $authPlugin = new DAV\Auth\Plugin($authBackend, 'SabreDAV'); + $authPlugin = new DAV\Auth\Plugin($authBackend); $authPlugin->beforeMethod(new \Sabre\HTTP\Request(), new \Sabre\HTTP\Response()); $this->server->addPlugin($authPlugin); @@ -480,8 +482,9 @@ END:VCALENDAR'; $this->assertInstanceOf('\\Sabre\\DAV\\Xml\\Property\\SupportedReportSet', $prop); $value = [ '{DAV:}expand-property', + '{DAV:}principal-match', '{DAV:}principal-property-search', - '{DAV:}principal-search-property-set' + '{DAV:}principal-search-property-set', ]; $this->assertEquals($value, $prop->getValue()); @@ -508,6 +511,7 @@ END:VCALENDAR'; '{urn:ietf:params:xml:ns:caldav}calendar-query', '{urn:ietf:params:xml:ns:caldav}free-busy-query', '{DAV:}expand-property', + '{DAV:}principal-match', '{DAV:}principal-property-search', '{DAV:}principal-search-property-set' ]; @@ -533,6 +537,7 @@ END:VCALENDAR'; $value = [ '{DAV:}sync-collection', '{DAV:}expand-property', + '{DAV:}principal-match', '{DAV:}principal-property-search', '{DAV:}principal-search-property-set', ]; @@ -719,7 +724,7 @@ XML; ''; $request = new HTTP\Request('REPORT', '/calendars/user1/UUID-123467', [ - 'Depth' => '0', + 'Depth' => '0', 'User-Agent' => 'MSFT-WP/8.10.14219 (gzip)', ]); diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/Principal/CollectionTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/Principal/CollectionTest.php index 625f64211..23c248825 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/Principal/CollectionTest.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/Principal/CollectionTest.php @@ -1,6 +1,7 @@ getChildForPrincipal(array( + $r = $col->getChildForPrincipal([ 'uri' => 'principals/admin', - )); + ]); $this->assertInstanceOf('Sabre\\CalDAV\\Principal\\User', $r); } diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/Principal/ProxyReadTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/Principal/ProxyReadTest.php index 1ee999a92..fe07f0131 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/Principal/ProxyReadTest.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/Principal/ProxyReadTest.php @@ -1,6 +1,7 @@ 'principal/user', - )); + ]); $this->backend = $backend; return $principal; @@ -61,7 +62,7 @@ class ProxyReadTest extends \PHPUnit_Framework_TestCase { function testGetAlternateUriSet() { $i = $this->getInstance(); - $this->assertEquals(array(), $i->getAlternateUriSet()); + $this->assertEquals([], $i->getAlternateUriSet()); } @@ -75,25 +76,25 @@ class ProxyReadTest extends \PHPUnit_Framework_TestCase { function testGetGroupMemberSet() { $i = $this->getInstance(); - $this->assertEquals(array(), $i->getGroupMemberSet()); + $this->assertEquals([], $i->getGroupMemberSet()); } function testGetGroupMembership() { $i = $this->getInstance(); - $this->assertEquals(array(), $i->getGroupMembership()); + $this->assertEquals([], $i->getGroupMembership()); } function testSetGroupMemberSet() { $i = $this->getInstance(); - $i->setGroupMemberSet(array('principals/foo')); + $i->setGroupMemberSet(['principals/foo']); - $expected = array( - $i->getPrincipalUrl() => array('principals/foo') - ); + $expected = [ + $i->getPrincipalUrl() => ['principals/foo'] + ]; $this->assertEquals($expected, $this->backend->groupMembers); diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/Principal/ProxyWriteTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/Principal/ProxyWriteTest.php index c0186ff0d..6cdb9b30e 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/Principal/ProxyWriteTest.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/Principal/ProxyWriteTest.php @@ -1,6 +1,7 @@ 'principal/user', - )); + ]); $this->backend = $backend; return $principal; diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/Principal/UserTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/Principal/UserTest.php index 37b5eae97..420bb3b1a 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/Principal/UserTest.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/Principal/UserTest.php @@ -1,6 +1,7 @@ addPrincipal(array( + $backend->addPrincipal([ 'uri' => 'principals/user/calendar-proxy-read', - )); - $backend->addPrincipal(array( + ]); + $backend->addPrincipal([ 'uri' => 'principals/user/calendar-proxy-write', - )); - $backend->addPrincipal(array( + ]); + $backend->addPrincipal([ 'uri' => 'principals/user/random', - )); - return new User($backend, array( + ]); + return new User($backend, [ 'uri' => 'principals/user', - )); + ]); } @@ -100,23 +101,23 @@ class UserTest extends \PHPUnit_Framework_TestCase { function testGetACL() { - $expected = array( - array( - 'privilege' => '{DAV:}read', - 'principal' => '{DAV:}authenticated', + $expected = [ + [ + 'privilege' => '{DAV:}all', + 'principal' => '{DAV:}owner', 'protected' => true, - ), - array( + ], + [ 'privilege' => '{DAV:}read', 'principal' => 'principals/user/calendar-proxy-read', 'protected' => true, - ), - array( + ], + [ 'privilege' => '{DAV:}read', 'principal' => 'principals/user/calendar-proxy-write', 'protected' => true, - ), - ); + ], + ]; $u = $this->getInstance(); $this->assertEquals($expected, $u->getACL()); diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/Schedule/OutboxTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/Schedule/OutboxTest.php index 933c7157b..04d4b1237 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/Schedule/OutboxTest.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/Schedule/OutboxTest.php @@ -1,6 +1,7 @@ assertEquals('outbox', $outbox->getName()); - $this->assertEquals(array(), $outbox->getChildren()); + $this->assertEquals([], $outbox->getChildren()); $this->assertEquals('principals/user1', $outbox->getOwner()); $this->assertEquals(null, $outbox->getGroup()); - $this->assertEquals(array( - array( - 'privilege' => '{' . CalDAV\Plugin::NS_CALDAV . '}schedule-query-freebusy', - 'principal' => 'principals/user1', - 'protected' => true, - ), - - array( - 'privilege' => '{' . CalDAV\Plugin::NS_CALDAV . '}schedule-post-vevent', + $this->assertEquals([ + [ + 'privilege' => '{' . CalDAV\Plugin::NS_CALDAV . '}schedule-send', 'principal' => 'principals/user1', 'protected' => true, - ), - array( + ], + [ 'privilege' => '{DAV:}read', 'principal' => 'principals/user1', 'protected' => true, - ), - array( - 'privilege' => '{' . CalDAV\Plugin::NS_CALDAV . '}schedule-query-freebusy', + ], + [ + 'privilege' => '{' . CalDAV\Plugin::NS_CALDAV . '}schedule-send', 'principal' => 'principals/user1/calendar-proxy-write', 'protected' => true, - ), - array( - 'privilege' => '{' . CalDAV\Plugin::NS_CALDAV . '}schedule-post-vevent', - 'principal' => 'principals/user1/calendar-proxy-write', - 'protected' => true, - ), - array( + ], + [ 'privilege' => '{DAV:}read', 'principal' => 'principals/user1/calendar-proxy-read', 'protected' => true, - ), - array( + ], + [ 'privilege' => '{DAV:}read', 'principal' => 'principals/user1/calendar-proxy-write', 'protected' => true, - ), - ), $outbox->getACL()); - - $ok = false; - try { - $outbox->setACL(array()); - } catch (DAV\Exception\MethodNotAllowed $e) { - $ok = true; - } - if (!$ok) { - $this->fail('Exception was not emitted'); - } - - } - - function testGetSupportedPrivilegeSet() { - - $outbox = new Outbox('principals/user1'); - $r = $outbox->getSupportedPrivilegeSet(); - - $ok = 0; - foreach($r['aggregates'] as $priv) { - - if ($priv['privilege'] == '{' . CalDAV\Plugin::NS_CALDAV . '}schedule-query-freebusy') { - $ok++; - } - if ($priv['privilege'] == '{' . CalDAV\Plugin::NS_CALDAV . '}schedule-post-vevent') { - $ok++; - } - } - - $this->assertEquals(2, $ok, "We're missing one or more privileges"); + ], + ], $outbox->getACL()); } - } diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/SharedCalendarTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/SharedCalendarTest.php index 337b658f4..f71c19523 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/SharedCalendarTest.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/SharedCalendarTest.php @@ -2,7 +2,8 @@ namespace Sabre\CalDAV; -use Sabre\DAVACL; +use Sabre\DAV\Sharing; +use Sabre\DAV\Xml\Element\Sharee; class SharedCalendarTest extends \PHPUnit_Framework_TestCase { @@ -11,96 +12,95 @@ class SharedCalendarTest extends \PHPUnit_Framework_TestCase { function getInstance(array $props = null) { if (is_null($props)) { - $props = array( - 'id' => 1, + $props = [ + 'id' => 1, '{http://calendarserver.org/ns/}shared-url' => 'calendars/owner/original', - '{http://sabredav.org/ns}owner-principal' => 'principals/owner', - '{http://sabredav.org/ns}read-only' => false, - 'principaluri' => 'principals/sharee', - ); + '{http://sabredav.org/ns}owner-principal' => 'principals/owner', + '{http://sabredav.org/ns}read-only' => false, + 'share-access' => Sharing\Plugin::ACCESS_READWRITE, + 'principaluri' => 'principals/sharee', + ]; } $this->backend = new Backend\MockSharing( - array($props), - array(), - array() + [$props], + [], + [] ); - $this->backend->updateShares(1, array( - array( - 'href' => 'mailto:removeme@example.org', - 'commonName' => 'To be removed', - 'readOnly' => true, - ), - ), array()); + + $sharee = new Sharee(); + $sharee->href = 'mailto:removeme@example.org'; + $sharee->properties['{DAV:}displayname'] = 'To be removed'; + $sharee->access = Sharing\Plugin::ACCESS_READ; + $this->backend->updateInvites(1, [$sharee]); return new SharedCalendar($this->backend, $props); } - function testGetSharedUrl() { - $this->assertEquals('calendars/owner/original', $this->getInstance()->getSharedUrl()); - } + function testGetInvites() { - function testGetShares() { + $sharee = new Sharee(); + $sharee->href = 'mailto:removeme@example.org'; + $sharee->properties['{DAV:}displayname'] = 'To be removed'; + $sharee->access = Sharing\Plugin::ACCESS_READ; + $sharee->inviteStatus = Sharing\Plugin::INVITE_NORESPONSE; - $this->assertEquals(array(array( - 'href' => 'mailto:removeme@example.org', - 'commonName' => 'To be removed', - 'readOnly' => true, - 'status' => SharingPlugin::STATUS_NORESPONSE, - )), $this->getInstance()->getShares()); + $this->assertEquals( + [$sharee], + $this->getInstance()->getInvites() + ); } function testGetOwner() { - $this->assertEquals('principals/owner', $this->getInstance()->getOwner()); + $this->assertEquals('principals/sharee', $this->getInstance()->getOwner()); } function testGetACL() { - $expected = array( - array( - 'privilege' => '{DAV:}read', - 'principal' => 'principals/owner', + $expected = [ + [ + 'privilege' => '{DAV:}write', + 'principal' => 'principals/sharee', 'protected' => true, - ), - - array( - 'privilege' => '{DAV:}read', - 'principal' => 'principals/owner/calendar-proxy-write', + ], + [ + 'privilege' => '{DAV:}write', + 'principal' => 'principals/sharee/calendar-proxy-write', 'protected' => true, - ), - array( - 'privilege' => '{DAV:}read', - 'principal' => 'principals/owner/calendar-proxy-read', + ], + [ + 'privilege' => '{DAV:}write-properties', + 'principal' => 'principals/sharee', 'protected' => true, - ), - array( - 'privilege' => '{' . Plugin::NS_CALDAV . '}read-free-busy', - 'principal' => '{DAV:}authenticated', + ], + [ + 'privilege' => '{DAV:}write-properties', + 'principal' => 'principals/sharee/calendar-proxy-write', 'protected' => true, - ), - array( - 'privilege' => '{DAV:}write', - 'principal' => 'principals/owner', + ], + [ + 'privilege' => '{DAV:}read', + 'principal' => 'principals/sharee', 'protected' => true, - ), - array( - 'privilege' => '{DAV:}write', - 'principal' => 'principals/owner/calendar-proxy-write', + ], + [ + 'privilege' => '{DAV:}read', + 'principal' => 'principals/sharee/calendar-proxy-read', 'protected' => true, - ), - array( + ], + [ 'privilege' => '{DAV:}read', - 'principal' => 'principals/sharee', + 'principal' => 'principals/sharee/calendar-proxy-write', 'protected' => true, - ), - array( - 'privilege' => '{DAV:}write', - 'principal' => 'principals/sharee', + ], + [ + 'privilege' => '{' . Plugin::NS_CALDAV . '}read-free-busy', + 'principal' => '{DAV:}authenticated', 'protected' => true, - ), - ); + ], + ]; $this->assertEquals($expected, $this->getInstance()->getACL()); @@ -108,96 +108,69 @@ class SharedCalendarTest extends \PHPUnit_Framework_TestCase { function testGetChildACL() { - $expected = array( - array( - 'privilege' => '{DAV:}read', - 'principal' => 'principals/owner', - 'protected' => true, - ), - array( - 'privilege' => '{DAV:}read', - 'principal' => 'principals/owner/calendar-proxy-write', - 'protected' => true, - ), - array( - 'privilege' => '{DAV:}read', - 'principal' => 'principals/owner/calendar-proxy-read', - 'protected' => true, - ), - array( + $expected = [ + [ 'privilege' => '{DAV:}write', - 'principal' => 'principals/owner', + 'principal' => 'principals/sharee', 'protected' => true, - ), - array( + ], + [ 'privilege' => '{DAV:}write', - 'principal' => 'principals/owner/calendar-proxy-write', + 'principal' => 'principals/sharee/calendar-proxy-write', 'protected' => true, - ), - array( + ], + [ 'privilege' => '{DAV:}read', 'principal' => 'principals/sharee', 'protected' => true, - ), - array( - 'privilege' => '{DAV:}write', - 'principal' => 'principals/sharee', + ], + [ + 'privilege' => '{DAV:}read', + 'principal' => 'principals/sharee/calendar-proxy-write', 'protected' => true, - ), - ); + ], + [ + 'privilege' => '{DAV:}read', + 'principal' => 'principals/sharee/calendar-proxy-read', + 'protected' => true, + ], + + ]; $this->assertEquals($expected, $this->getInstance()->getChildACL()); } - function testGetChildACLReadOnly() { + function testUpdateInvites() { - $expected = array( - array( - 'privilege' => '{DAV:}read', - 'principal' => 'principals/owner', - 'protected' => true, - ), - array( - 'privilege' => '{DAV:}read', - 'principal' => 'principals/owner/calendar-proxy-write', - 'protected' => true, - ), - array( - 'privilege' => '{DAV:}read', - 'principal' => 'principals/owner/calendar-proxy-read', - 'protected' => true, - ), - array( - 'privilege' => '{DAV:}read', - 'principal' => 'principals/sharee', - 'protected' => true, - ), - ); + $instance = $this->getInstance(); + $newSharees = [ + new Sharee(), + new Sharee() + ]; + $newSharees[0]->href = 'mailto:test@example.org'; + $newSharees[0]->properties['{DAV:}displayname'] = 'Foo Bar'; + $newSharees[0]->comment = 'Booh'; + $newSharees[0]->access = Sharing\Plugin::ACCESS_READWRITE; - $props = array( - 'id' => 1, - '{http://calendarserver.org/ns/}shared-url' => 'calendars/owner/original', - '{http://sabredav.org/ns}owner-principal' => 'principals/owner', - '{http://sabredav.org/ns}read-only' => true, - 'principaluri' => 'principals/sharee', - ); - $this->assertEquals($expected, $this->getInstance($props)->getChildACL()); + $newSharees[1]->href = 'mailto:removeme@example.org'; + $newSharees[1]->access = Sharing\Plugin::ACCESS_NOACCESS; + + $instance->updateInvites($newSharees); + + $expected = [ + clone $newSharees[0] + ]; + $expected[0]->inviteStatus = Sharing\Plugin::INVITE_NORESPONSE; + $this->assertEquals($expected, $instance->getInvites()); } - /** - * @expectedException InvalidArgumentException - */ - public function testCreateInstanceMissingArg() { + function testPublish() { - $this->getInstance(array( - 'id' => 1, - '{http://calendarserver.org/ns/}shared-url' => 'calendars/owner/original', - '{http://sabredav.org/ns}read-only' => false, - 'principaluri' => 'principals/sharee', - )); + $instance = $this->getInstance(); + $this->assertNull($instance->setPublishStatus(true)); + $this->assertNull($instance->setPublishStatus(false)); } - } diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/SharingPluginTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/SharingPluginTest.php index b4270da7d..6e9e88419 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/SharingPluginTest.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/SharingPluginTest.php @@ -3,6 +3,7 @@ namespace Sabre\CalDAV; use Sabre\DAV; +use Sabre\DAV\Xml\Element\Sharee; use Sabre\HTTP; class SharingPluginTest extends \Sabre\DAVServerTest { @@ -14,31 +15,28 @@ class SharingPluginTest extends \Sabre\DAVServerTest { function setUp() { - $this->caldavCalendars = array( - array( + $this->caldavCalendars = [ + [ 'principaluri' => 'principals/user1', - 'id' => 1, - 'uri' => 'cal1', - ), - array( + 'id' => 1, + 'uri' => 'cal1', + ], + [ 'principaluri' => 'principals/user1', - 'id' => 2, - 'uri' => 'cal2', - '{' . Plugin::NS_CALENDARSERVER . '}shared-url' => 'calendars/user1/cal2', - '{http://sabredav.org/ns}owner-principal' => 'principals/user2', - '{http://sabredav.org/ns}read-only' => 'true', - ), - array( + 'id' => 2, + 'uri' => 'cal2', + 'share-access' => \Sabre\DAV\Sharing\Plugin::ACCESS_READWRITE, + ], + [ 'principaluri' => 'principals/user1', - 'id' => 3, - 'uri' => 'cal3', - ), - ); + 'id' => 3, + 'uri' => 'cal3', + ], + ]; parent::setUp(); // Making the logged in user an admin, for full access: - $this->aclPlugin->adminPrincipals[] = 'principals/user1'; $this->aclPlugin->adminPrincipals[] = 'principals/user2'; } @@ -53,9 +51,21 @@ class SharingPluginTest extends \Sabre\DAVServerTest { } + /** + * @expectedException \LogicException + */ + function testSetupWithoutCoreSharingPlugin() { + + $server = new DAV\Server(); + $server->addPlugin( + new SharingPlugin() + ); + + } + function testGetFeatures() { - $this->assertEquals(array('calendarserver-sharing'), $this->caldavSharingPlugin->getFeatures()); + $this->assertEquals(['calendarserver-sharing'], $this->caldavSharingPlugin->getFeatures()); } @@ -63,10 +73,10 @@ class SharingPluginTest extends \Sabre\DAVServerTest { // Forcing the server to authenticate: $this->authPlugin->beforeMethod(new HTTP\Request(), new HTTP\Response()); - $props = $this->server->getProperties('calendars/user1/cal1', array( + $props = $this->server->getProperties('calendars/user1/cal1', [ '{' . Plugin::NS_CALENDARSERVER . '}invite', '{' . Plugin::NS_CALENDARSERVER . '}allowed-sharing-modes', - )); + ]); $this->assertInstanceOf('Sabre\\CalDAV\\Xml\\Property\\Invite', $props['{' . Plugin::NS_CALENDARSERVER . '}invite']); $this->assertInstanceOf('Sabre\\CalDAV\\Xml\\Property\\AllowedSharingModes', $props['{' . Plugin::NS_CALENDARSERVER . '}allowed-sharing-modes']); @@ -75,56 +85,55 @@ class SharingPluginTest extends \Sabre\DAVServerTest { function testBeforeGetSharedCalendar() { - $props = $this->server->getProperties('calendars/user1/cal2', array( + $props = $this->server->getProperties('calendars/user1/cal2', [ '{' . Plugin::NS_CALENDARSERVER . '}shared-url', '{' . Plugin::NS_CALENDARSERVER . '}invite', - )); + ]); $this->assertInstanceOf('Sabre\\CalDAV\\Xml\\Property\\Invite', $props['{' . Plugin::NS_CALENDARSERVER . '}invite']); - $this->assertInstanceOf('Sabre\\DAV\\Xml\\Property\\Href', $props['{' . Plugin::NS_CALENDARSERVER . '}shared-url']); + //$this->assertInstanceOf('Sabre\\DAV\\Xml\\Property\\Href', $props['{' . Plugin::NS_CALENDARSERVER . '}shared-url']); } - function testUpdateProperties() { + function testUpdateResourceType() { - $this->caldavBackend->updateShares(1, - array( - array( + $this->caldavBackend->updateInvites(1, + [ + new Sharee([ 'href' => 'mailto:joe@example.org', - ), - ), - array() + ]) + ] ); - $result = $this->server->updateProperties('calendars/user1/cal1', array( + $result = $this->server->updateProperties('calendars/user1/cal1', [ '{DAV:}resourcetype' => new DAV\Xml\Property\ResourceType(['{DAV:}collection']) - )); + ]); $this->assertEquals([ '{DAV:}resourcetype' => 200 ], $result); - $this->assertEquals(0, count($this->caldavBackend->getShares(1))); + $this->assertEquals(0, count($this->caldavBackend->getInvites(1))); } function testUpdatePropertiesPassThru() { - $result = $this->server->updateProperties('calendars/user1/cal3', array( + $result = $this->server->updateProperties('calendars/user1/cal3', [ '{DAV:}foo' => 'bar', - )); + ]); - $this->assertEquals(array( - '{DAV:}foo' => 403, - ), $result); + $this->assertEquals([ + '{DAV:}foo' => 200, + ], $result); } function testUnknownMethodNoPOST() { - $request = HTTP\Sapi::createFromServerArray(array( + $request = HTTP\Sapi::createFromServerArray([ 'REQUEST_METHOD' => 'PATCH', 'REQUEST_URI' => '/', - )); + ]); $response = $this->request($request); @@ -134,11 +143,11 @@ class SharingPluginTest extends \Sabre\DAVServerTest { function testUnknownMethodNoXML() { - $request = HTTP\Sapi::createFromServerArray(array( + $request = HTTP\Sapi::createFromServerArray([ 'REQUEST_METHOD' => 'POST', 'REQUEST_URI' => '/', 'CONTENT_TYPE' => 'text/plain', - )); + ]); $response = $this->request($request); @@ -148,11 +157,11 @@ class SharingPluginTest extends \Sabre\DAVServerTest { function testUnknownMethodNoNode() { - $request = HTTP\Sapi::createFromServerArray(array( + $request = HTTP\Sapi::createFromServerArray([ 'REQUEST_METHOD' => 'POST', 'REQUEST_URI' => '/foo', 'CONTENT_TYPE' => 'text/xml', - )); + ]); $response = $this->request($request); @@ -162,11 +171,7 @@ class SharingPluginTest extends \Sabre\DAVServerTest { function testShareRequest() { - $request = HTTP\Sapi::createFromServerArray(array( - 'REQUEST_METHOD' => 'POST', - 'REQUEST_URI' => '/calendars/user1/cal1', - 'CONTENT_TYPE' => 'text/xml', - )); + $request = new HTTP\Request('POST', '/calendars/user1/cal1', ['Content-Type' => 'text/xml']); $xml = << @@ -184,19 +189,28 @@ RRR; $request->setBody($xml); - $response = $this->request($request); - $this->assertEquals(200, $response->status, $response->body); + $response = $this->request($request, 200); + + $this->assertEquals( + [ + new Sharee([ + 'href' => 'mailto:joe@example.org', + 'properties' => [ + '{DAV:}displayname' => 'Joe Shmoe', + ], + 'access' => \Sabre\DAV\Sharing\Plugin::ACCESS_READWRITE, + 'inviteStatus' => \Sabre\DAV\Sharing\Plugin::INVITE_NORESPONSE, + 'comment' => '', + ]), + ], + $this->caldavBackend->getInvites(1) + ); - $this->assertEquals(array(array( - 'href' => 'mailto:joe@example.org', - 'commonName' => 'Joe Shmoe', - 'readOnly' => false, - 'status' => SharingPlugin::STATUS_NORESPONSE, - 'summary' => '', - )), $this->caldavBackend->getShares(1)); + // Wiping out tree cache + $this->server->tree->markDirty(''); // Verifying that the calendar is now marked shared. - $props = $this->server->getProperties('calendars/user1/cal1', array('{DAV:}resourcetype')); + $props = $this->server->getProperties('calendars/user1/cal1', ['{DAV:}resourcetype']); $this->assertTrue( $props['{DAV:}resourcetype']->is('{http://calendarserver.org/ns/}shared-owner') ); @@ -205,11 +219,11 @@ RRR; function testShareRequestNoShareableCalendar() { - $request = HTTP\Sapi::createFromServerArray(array( - 'REQUEST_METHOD' => 'POST', - 'REQUEST_URI' => '/calendars/user1/cal2', - 'CONTENT_TYPE' => 'text/xml', - )); + $request = new HTTP\Request( + 'POST', + '/calendars/user1/cal2', + ['Content-Type' => 'text/xml'] + ); $xml = ' @@ -226,18 +240,17 @@ RRR; $request->setBody($xml); - $response = $this->request($request); - $this->assertEquals(501, $response->status, $response->body); + $response = $this->request($request, 403); } function testInviteReply() { - $request = HTTP\Sapi::createFromServerArray(array( + $request = HTTP\Sapi::createFromServerArray([ 'REQUEST_METHOD' => 'POST', 'REQUEST_URI' => '/calendars/user1', 'CONTENT_TYPE' => 'text/xml', - )); + ]); $xml = ' @@ -254,11 +267,11 @@ RRR; function testInviteBadXML() { - $request = HTTP\Sapi::createFromServerArray(array( + $request = HTTP\Sapi::createFromServerArray([ 'REQUEST_METHOD' => 'POST', 'REQUEST_URI' => '/calendars/user1', 'CONTENT_TYPE' => 'text/xml', - )); + ]); $xml = ' @@ -272,11 +285,11 @@ RRR; function testInviteWrongUrl() { - $request = HTTP\Sapi::createFromServerArray(array( + $request = HTTP\Sapi::createFromServerArray([ 'REQUEST_METHOD' => 'POST', 'REQUEST_URI' => '/calendars/user1/cal1', 'CONTENT_TYPE' => 'text/xml', - )); + ]); $xml = ' @@ -295,11 +308,7 @@ RRR; function testPublish() { - $request = HTTP\Sapi::createFromServerArray(array( - 'REQUEST_METHOD' => 'POST', - 'REQUEST_URI' => '/calendars/user1/cal1', - 'CONTENT_TYPE' => 'text/xml', - )); + $request = new HTTP\Request('POST', '/calendars/user1/cal1', ['Content-Type' => 'text/xml']); $xml = ' @@ -312,13 +321,14 @@ RRR; } + function testUnpublish() { - $request = HTTP\Sapi::createFromServerArray(array( - 'REQUEST_METHOD' => 'POST', - 'REQUEST_URI' => '/calendars/user1/cal1', - 'CONTENT_TYPE' => 'text/xml', - )); + $request = new HTTP\Request( + 'POST', + '/calendars/user1/cal1', + ['Content-Type' => 'text/xml'] + ); $xml = ' @@ -333,49 +343,46 @@ RRR; function testPublishWrongUrl() { - $request = HTTP\Sapi::createFromServerArray(array( - 'REQUEST_METHOD' => 'POST', - 'REQUEST_URI' => '/calendars/user1/cal2', - 'CONTENT_TYPE' => 'text/xml', - )); + $request = new HTTP\Request( + 'POST', + '/calendars/user1', + ['Content-Type' => 'text/xml'] + ); $xml = ' '; $request->setBody($xml); - - $response = $this->request($request); - $this->assertEquals(501, $response->status, $response->body); + $this->request($request, 501); } function testUnpublishWrongUrl() { - $request = HTTP\Sapi::createFromServerArray(array( - 'REQUEST_METHOD' => 'POST', - 'REQUEST_URI' => '/calendars/user1/cal2', - 'CONTENT_TYPE' => 'text/xml', - )); - + $request = new HTTP\Request( + 'POST', + '/calendars/user1', + ['Content-Type' => 'text/xml'] + ); $xml = ' '; $request->setBody($xml); - $response = $this->request($request); - $this->assertEquals(501, $response->status, $response->body); + $this->request($request, 501); } function testUnknownXmlDoc() { - $request = HTTP\Sapi::createFromServerArray(array( - 'REQUEST_METHOD' => 'POST', - 'REQUEST_URI' => '/calendars/user1/cal2', - 'CONTENT_TYPE' => 'text/xml', - )); + + $request = new HTTP\Request( + 'POST', + '/calendars/user1/cal2', + ['Content-Type' => 'text/xml'] + ); $xml = ' '; diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/TestUtil.php b/vendor/sabre/dav/tests/Sabre/CalDAV/TestUtil.php index 19acea200..673d39c0a 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/TestUtil.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/TestUtil.php @@ -6,48 +6,29 @@ class TestUtil { static function getBackend() { - $backend = new Backend\PDO(self::getSQLiteDB()); - return $backend; - - } - - static function getSQLiteDB() { - - if (file_exists(SABRE_TEMPDIR . '/testdb.sqlite')) - unlink(SABRE_TEMPDIR . '/testdb.sqlite'); - - $pdo = new \PDO('sqlite:' . SABRE_TEMPDIR . '/testdb.sqlite'); - $pdo->setAttribute(\PDO::ATTR_ERRMODE,\PDO::ERRMODE_EXCEPTION); - - // Yup this is definitely not 'fool proof', but good enough for now. - $queries = explode(';', file_get_contents(__DIR__ . '/../../../examples/sql/sqlite.calendars.sql')); - foreach($queries as $query) { - $pdo->exec($query); - } - // Inserting events through a backend class. - $backend = new Backend\PDO($pdo); + $backend = new Backend\Mock(); $calendarId = $backend->createCalendar( 'principals/user1', 'UUID-123467', - array( - '{DAV:}displayname' => 'user1 calendar', + [ + '{DAV:}displayname' => 'user1 calendar', '{urn:ietf:params:xml:ns:caldav}calendar-description' => 'Calendar description', - '{http://apple.com/ns/ical/}calendar-order' => '1', - '{http://apple.com/ns/ical/}calendar-color' => '#FF0000', - ) + '{http://apple.com/ns/ical/}calendar-order' => '1', + '{http://apple.com/ns/ical/}calendar-color' => '#FF0000', + ] ); $backend->createCalendar( 'principals/user1', 'UUID-123468', - array( - '{DAV:}displayname' => 'user1 calendar2', + [ + '{DAV:}displayname' => 'user1 calendar2', '{urn:ietf:params:xml:ns:caldav}calendar-description' => 'Calendar description', - '{http://apple.com/ns/ical/}calendar-order' => '1', - '{http://apple.com/ns/ical/}calendar-color' => '#FF0000', - ) + '{http://apple.com/ns/ical/}calendar-order' => '1', + '{http://apple.com/ns/ical/}calendar-color' => '#FF0000', + ] ); $backend->createCalendarObject($calendarId, 'UUID-2345', self::getTestCalendarData()); - return $pdo; + return $backend; } @@ -80,37 +61,37 @@ TRANSP:TRANSPARENT SUMMARY:Something here DTSTAMP:20100228T130202Z'; - switch($type) { + switch ($type) { case 1 : - $calendarData.="\nDTSTART;TZID=Asia/Seoul:20100223T060000\nDTEND;TZID=Asia/Seoul:20100223T070000\n"; + $calendarData .= "\nDTSTART;TZID=Asia/Seoul:20100223T060000\nDTEND;TZID=Asia/Seoul:20100223T070000\n"; break; case 2 : - $calendarData.="\nDTSTART:20100223T060000\nDTEND:20100223T070000\n"; + $calendarData .= "\nDTSTART:20100223T060000\nDTEND:20100223T070000\n"; break; case 3 : - $calendarData.="\nDTSTART;VALUE=DATE:20100223\nDTEND;VALUE=DATE:20100223\n"; + $calendarData .= "\nDTSTART;VALUE=DATE:20100223\nDTEND;VALUE=DATE:20100223\n"; break; case 4 : - $calendarData.="\nDTSTART;TZID=Asia/Seoul:20100223T060000\nDURATION:PT1H\n"; + $calendarData .= "\nDTSTART;TZID=Asia/Seoul:20100223T060000\nDURATION:PT1H\n"; break; case 5 : - $calendarData.="\nDTSTART;TZID=Asia/Seoul:20100223T060000\nDURATION:-P5D\n"; + $calendarData .= "\nDTSTART;TZID=Asia/Seoul:20100223T060000\nDURATION:-P5D\n"; break; case 6 : - $calendarData.="\nDTSTART;VALUE=DATE:20100223\n"; + $calendarData .= "\nDTSTART;VALUE=DATE:20100223\n"; break; case 7 : - $calendarData.="\nDTSTART;VALUE=DATETIME:20100223T060000\n"; + $calendarData .= "\nDTSTART;VALUE=DATETIME:20100223T060000\n"; break; // No DTSTART, so intentionally broken case 'X' : - $calendarData.="\n"; + $calendarData .= "\n"; break; } - $calendarData.='ATTENDEE;PARTSTAT=NEEDS-ACTION:mailto:lisa@example.com + $calendarData .= 'ATTENDEE;PARTSTAT=NEEDS-ACTION:mailto:lisa@example.com SEQUENCE:2 END:VEVENT END:VCALENDAR'; @@ -121,7 +102,7 @@ END:VCALENDAR'; static function getTestTODO($type = 'due') { - switch($type) { + switch ($type) { case 'due' : $extra = "DUE:20100104T000000Z"; diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/ValidateICalTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/ValidateICalTest.php index be166d9e6..629df90c1 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/ValidateICalTest.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/ValidateICalTest.php @@ -21,20 +21,20 @@ class ValidateICalTest extends \PHPUnit_Framework_TestCase { function setUp() { - $calendars = array( - array( - 'id' => 'calendar1', - 'principaluri' => 'principals/admin', - 'uri' => 'calendar1', - '{urn:ietf:params:xml:ns:caldav}supported-calendar-component-set' => new Xml\Property\SupportedCalendarComponentSet( ['VEVENT','VTODO','VJOURNAL'] ), - ), - array( - 'id' => 'calendar2', - 'principaluri' => 'principals/admin', - 'uri' => 'calendar2', - '{urn:ietf:params:xml:ns:caldav}supported-calendar-component-set' => new Xml\Property\SupportedCalendarComponentSet( ['VTODO','VJOURNAL'] ), - ) - ); + $calendars = [ + [ + 'id' => 'calendar1', + 'principaluri' => 'principals/admin', + 'uri' => 'calendar1', + '{urn:ietf:params:xml:ns:caldav}supported-calendar-component-set' => new Xml\Property\SupportedCalendarComponentSet(['VEVENT', 'VTODO', 'VJOURNAL']), + ], + [ + 'id' => 'calendar2', + 'principaluri' => 'principals/admin', + 'uri' => 'calendar2', + '{urn:ietf:params:xml:ns:caldav}supported-calendar-component-set' => new Xml\Property\SupportedCalendarComponentSet(['VTODO', 'VJOURNAL']), + ] + ]; $this->calBackend = new Backend\Mock($calendars, []); $principalBackend = new DAVACL\PrincipalBackend\Mock(); @@ -66,10 +66,10 @@ class ValidateICalTest extends \PHPUnit_Framework_TestCase { function testCreateFile() { - $request = HTTP\Sapi::createFromServerArray(array( + $request = HTTP\Sapi::createFromServerArray([ 'REQUEST_METHOD' => 'PUT', - 'REQUEST_URI' => '/calendars/admin/calendar1/blabla.ics', - )); + 'REQUEST_URI' => '/calendars/admin/calendar1/blabla.ics', + ]); $response = $this->request($request); @@ -79,66 +79,168 @@ class ValidateICalTest extends \PHPUnit_Framework_TestCase { function testCreateFileValid() { - $request = HTTP\Sapi::createFromServerArray(array( - 'REQUEST_METHOD' => 'PUT', - 'REQUEST_URI' => '/calendars/admin/calendar1/blabla.ics', - )); - $request->setBody("BEGIN:VCALENDAR\r\nBEGIN:VEVENT\r\nUID:foo\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n"); + $request = new HTTP\Request( + 'PUT', + '/calendars/admin/calendar1/blabla.ics', + ['Prefer' => 'handling=strict'] + ); + + $ics = <<setBody($ics); $response = $this->request($request); $this->assertEquals(201, $response->status, 'Incorrect status returned! Full response body: ' . $response->body); - $this->assertEquals(array( + $this->assertEquals([ 'X-Sabre-Version' => [DAV\Version::VERSION], - 'Content-Length' => ['0'], - 'ETag' => ['"' . md5("BEGIN:VCALENDAR\r\nBEGIN:VEVENT\r\nUID:foo\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n") . '"'], - ), $response->getHeaders()); + 'Content-Length' => ['0'], + 'ETag' => ['"' . md5($ics) . '"'], + ], $response->getHeaders()); - $expected = array( + $expected = [ 'uri' => 'blabla.ics', - 'calendardata' => "BEGIN:VCALENDAR\r\nBEGIN:VEVENT\r\nUID:foo\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n", + 'calendardata' => $ics, 'calendarid' => 'calendar1', 'lastmodified' => null, + ]; + + $this->assertEquals($expected, $this->calBackend->getCalendarObject('calendar1', 'blabla.ics')); + + } + + function testCreateFileNoVersion() { + + $request = new HTTP\Request( + 'PUT', + '/calendars/admin/calendar1/blabla.ics', + ['Prefer' => 'handling=strict'] ); - $this->assertEquals($expected, $this->calBackend->getCalendarObject('calendar1','blabla.ics')); + $ics = <<setBody($ics); + + $response = $this->request($request); + + $this->assertEquals(415, $response->status, 'Incorrect status returned! Full response body: ' . $response->body); } - function testCreateFileNoComponents() { + function testCreateFileNoVersionFixed() { - $request = HTTP\Sapi::createFromServerArray(array( - 'REQUEST_METHOD' => 'PUT', - 'REQUEST_URI' => '/calendars/admin/calendar1/blabla.ics', - )); - $request->setBody("BEGIN:VCALENDAR\r\nEND:VCALENDAR\r\n"); + $request = new HTTP\Request( + 'PUT', + '/calendars/admin/calendar1/blabla.ics', + ['Prefer' => 'handling=lenient'] + ); + + $ics = <<setBody($ics); $response = $this->request($request); - $this->assertEquals(400, $response->status, 'Incorrect status returned! Full response body: ' . $response->body); + $this->assertEquals(201, $response->status, 'Incorrect status returned! Full response body: ' . $response->body); + $this->assertEquals([ + 'X-Sabre-Version' => [DAV\Version::VERSION], + 'Content-Length' => ['0'], + 'X-Sabre-Ew-Gross' => ['iCalendar validation warning: VERSION MUST appear exactly once in a VCALENDAR component'], + ], $response->getHeaders()); + + $ics = << 'blabla.ics', + 'calendardata' => $ics, + 'calendarid' => 'calendar1', + 'lastmodified' => null, + ]; + + $this->assertEquals($expected, $this->calBackend->getCalendarObject('calendar1', 'blabla.ics')); + + } + + function testCreateFileNoComponents() { + + $request = new HTTP\Request( + 'PUT', + '/calendars/admin/calendar1/blabla.ics', + ['Prefer' => 'handling=strict'] + ); + $ics = <<setBody($ics); + + $response = $this->request($request); + $this->assertEquals(403, $response->status, 'Incorrect status returned! Full response body: ' . $response->body); } function testCreateFileNoUID() { - $request = HTTP\Sapi::createFromServerArray(array( + $request = HTTP\Sapi::createFromServerArray([ 'REQUEST_METHOD' => 'PUT', - 'REQUEST_URI' => '/calendars/admin/calendar1/blabla.ics', - )); + 'REQUEST_URI' => '/calendars/admin/calendar1/blabla.ics', + ]); $request->setBody("BEGIN:VCALENDAR\r\nBEGIN:VEVENT\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n"); $response = $this->request($request); - $this->assertEquals(400, $response->status, 'Incorrect status returned! Full response body: ' . $response->body); + $this->assertEquals(415, $response->status, 'Incorrect status returned! Full response body: ' . $response->body); } function testCreateFileVCard() { - $request = HTTP\Sapi::createFromServerArray(array( + $request = HTTP\Sapi::createFromServerArray([ 'REQUEST_METHOD' => 'PUT', - 'REQUEST_URI' => '/calendars/admin/calendar1/blabla.ics', - )); + 'REQUEST_URI' => '/calendars/admin/calendar1/blabla.ics', + ]); $request->setBody("BEGIN:VCARD\r\nEND:VCARD\r\n"); $response = $this->request($request); @@ -149,53 +251,53 @@ class ValidateICalTest extends \PHPUnit_Framework_TestCase { function testCreateFile2Components() { - $request = HTTP\Sapi::createFromServerArray(array( + $request = HTTP\Sapi::createFromServerArray([ 'REQUEST_METHOD' => 'PUT', - 'REQUEST_URI' => '/calendars/admin/calendar1/blabla.ics', - )); + 'REQUEST_URI' => '/calendars/admin/calendar1/blabla.ics', + ]); $request->setBody("BEGIN:VCALENDAR\r\nBEGIN:VEVENT\r\nUID:foo\r\nEND:VEVENT\r\nBEGIN:VJOURNAL\r\nUID:foo\r\nEND:VJOURNAL\r\nEND:VCALENDAR\r\n"); $response = $this->request($request); - $this->assertEquals(400, $response->status, 'Incorrect status returned! Full response body: ' . $response->body); + $this->assertEquals(415, $response->status, 'Incorrect status returned! Full response body: ' . $response->body); } function testCreateFile2UIDS() { - $request = HTTP\Sapi::createFromServerArray(array( + $request = HTTP\Sapi::createFromServerArray([ 'REQUEST_METHOD' => 'PUT', - 'REQUEST_URI' => '/calendars/admin/calendar1/blabla.ics', - )); + 'REQUEST_URI' => '/calendars/admin/calendar1/blabla.ics', + ]); $request->setBody("BEGIN:VCALENDAR\r\nBEGIN:VTIMEZONE\r\nEND:VTIMEZONE\r\nBEGIN:VEVENT\r\nUID:foo\r\nEND:VEVENT\r\nBEGIN:VEVENT\r\nUID:bar\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n"); $response = $this->request($request); - $this->assertEquals(400, $response->status, 'Incorrect status returned! Full response body: ' . $response->body); + $this->assertEquals(415, $response->status, 'Incorrect status returned! Full response body: ' . $response->body); } function testCreateFileWrongComponent() { - $request = HTTP\Sapi::createFromServerArray(array( + $request = HTTP\Sapi::createFromServerArray([ 'REQUEST_METHOD' => 'PUT', - 'REQUEST_URI' => '/calendars/admin/calendar1/blabla.ics', - )); + 'REQUEST_URI' => '/calendars/admin/calendar1/blabla.ics', + ]); $request->setBody("BEGIN:VCALENDAR\r\nBEGIN:VTIMEZONE\r\nEND:VTIMEZONE\r\nBEGIN:VFREEBUSY\r\nUID:foo\r\nEND:VFREEBUSY\r\nEND:VCALENDAR\r\n"); $response = $this->request($request); - $this->assertEquals(400, $response->status, 'Incorrect status returned! Full response body: ' . $response->body); + $this->assertEquals(403, $response->status, 'Incorrect status returned! Full response body: ' . $response->body); } function testUpdateFile() { - $this->calBackend->createCalendarObject('calendar1','blabla.ics','foo'); - $request = HTTP\Sapi::createFromServerArray(array( + $this->calBackend->createCalendarObject('calendar1', 'blabla.ics', 'foo'); + $request = HTTP\Sapi::createFromServerArray([ 'REQUEST_METHOD' => 'PUT', - 'REQUEST_URI' => '/calendars/admin/calendar1/blabla.ics', - )); + 'REQUEST_URI' => '/calendars/admin/calendar1/blabla.ics', + ]); $response = $this->request($request); @@ -205,35 +307,45 @@ class ValidateICalTest extends \PHPUnit_Framework_TestCase { function testUpdateFileParsableBody() { - $this->calBackend->createCalendarObject('calendar1','blabla.ics','foo'); - $request = HTTP\Sapi::createFromServerArray(array( - 'REQUEST_METHOD' => 'PUT', - 'REQUEST_URI' => '/calendars/admin/calendar1/blabla.ics', - )); - $body = "BEGIN:VCALENDAR\r\nBEGIN:VEVENT\r\nUID:foo\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n"; - $request->setBody($body); - + $this->calBackend->createCalendarObject('calendar1', 'blabla.ics', 'foo'); + $request = new HTTP\Request( + 'PUT', + '/calendars/admin/calendar1/blabla.ics' + ); + $ics = <<setBody($ics); $response = $this->request($request); $this->assertEquals(204, $response->status); - $expected = array( + $expected = [ 'uri' => 'blabla.ics', - 'calendardata' => $body, + 'calendardata' => $ics, 'calendarid' => 'calendar1', 'lastmodified' => null, - ); + ]; - $this->assertEquals($expected, $this->calBackend->getCalendarObject('calendar1','blabla.ics')); + $this->assertEquals($expected, $this->calBackend->getCalendarObject('calendar1', 'blabla.ics')); } function testCreateFileInvalidComponent() { - $request = HTTP\Sapi::createFromServerArray(array( + $request = HTTP\Sapi::createFromServerArray([ 'REQUEST_METHOD' => 'PUT', - 'REQUEST_URI' => '/calendars/admin/calendar2/blabla.ics', - )); + 'REQUEST_URI' => '/calendars/admin/calendar2/blabla.ics', + ]); $request->setBody("BEGIN:VCALENDAR\r\nBEGIN:VTIMEZONE\r\nEND:VTIMEZONE\r\nBEGIN:VEVENT\r\nUID:foo\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n"); $response = $this->request($request); @@ -244,11 +356,11 @@ class ValidateICalTest extends \PHPUnit_Framework_TestCase { function testUpdateFileInvalidComponent() { - $this->calBackend->createCalendarObject('calendar2','blabla.ics','foo'); - $request = HTTP\Sapi::createFromServerArray(array( + $this->calBackend->createCalendarObject('calendar2', 'blabla.ics', 'foo'); + $request = HTTP\Sapi::createFromServerArray([ 'REQUEST_METHOD' => 'PUT', - 'REQUEST_URI' => '/calendars/admin/calendar2/blabla.ics', - )); + 'REQUEST_URI' => '/calendars/admin/calendar2/blabla.ics', + ]); $request->setBody("BEGIN:VCALENDAR\r\nBEGIN:VTIMEZONE\r\nEND:VTIMEZONE\r\nBEGIN:VEVENT\r\nUID:foo\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n"); $response = $this->request($request); @@ -266,11 +378,24 @@ class ValidateICalTest extends \PHPUnit_Framework_TestCase { */ function testCreateFileModified() { - $request = HTTP\Sapi::createFromServerArray(array( - 'REQUEST_METHOD' => 'PUT', - 'REQUEST_URI' => '/calendars/admin/calendar1/blabla.ics', - )); - $request->setBody("BEGIN:VCALENDAR\r\nBEGIN:VEVENT\r\nUID:foo\r\nSUMMARY:Meeting in M\xfcnster\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n"); + $request = new HTTP\Request( + 'PUT', + '/calendars/admin/calendar1/blabla.ics' + ); + $ics = <<setBody($ics); $response = $this->request($request); diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/AbstractPluginTest.php b/vendor/sabre/dav/tests/Sabre/CardDAV/AbstractPluginTest.php index a123099a0..552e2ba77 100644 --- a/vendor/sabre/dav/tests/Sabre/CardDAV/AbstractPluginTest.php +++ b/vendor/sabre/dav/tests/Sabre/CardDAV/AbstractPluginTest.php @@ -26,13 +26,13 @@ abstract class AbstractPluginTest extends \PHPUnit_Framework_TestCase { $this->backend = new Backend\Mock(); $principalBackend = new DAVACL\PrincipalBackend\Mock(); - $tree = array( + $tree = [ new AddressBookRoot($principalBackend, $this->backend), new DAVACL\PrincipalCollection($principalBackend) - ); + ]; $this->plugin = new Plugin(); - $this->plugin->directories = array('directory'); + $this->plugin->directories = ['directory']; $this->server = new DAV\Server($tree); $this->server->sapi = new HTTP\SapiMock(); $this->server->addPlugin($this->plugin); diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookQueryTest.php b/vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookQueryTest.php index 478f6beb5..2c3171bf3 100644 --- a/vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookQueryTest.php +++ b/vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookQueryTest.php @@ -12,11 +12,11 @@ class AddressBookQueryTest extends AbstractPluginTest { function testQuery() { - $request = HTTP\Sapi::createFromServerArray(array( - 'REQUEST_METHOD' => 'REPORT', - 'REQUEST_URI' => '/addressbooks/user1/book1', - 'HTTP_DEPTH' => '1', - )); + $request = new HTTP\Request( + 'REPORT', + '/addressbooks/user1/book1', + ['Depth' => '1'] + ); $request->setBody( ' @@ -40,33 +40,33 @@ class AddressBookQueryTest extends AbstractPluginTest { $this->assertEquals(207, $response->status, 'Incorrect status code. Full response body:' . $response->body); // using the client for parsing - $client = new DAV\Client(array('baseUri'=>'/')); + $client = new DAV\Client(['baseUri' => '/']); $result = $client->parseMultiStatus($response->body); - $this->assertEquals(array( - '/addressbooks/user1/book1/card1' => array( - 200 => array( + $this->assertEquals([ + '/addressbooks/user1/book1/card1' => [ + 200 => [ '{DAV:}getetag' => '"' . md5("BEGIN:VCARD\nVERSION:3.0\nUID:12345\nEND:VCARD") . '"', - ), - ), - '/addressbooks/user1/book1/card2' => array( - 404 => array( + ], + ], + '/addressbooks/user1/book1/card2' => [ + 404 => [ '{DAV:}getetag' => null, - ), - ) - ), $result); + ], + ] + ], $result); } function testQueryDepth0() { - $request = HTTP\Sapi::createFromServerArray(array( - 'REQUEST_METHOD' => 'REPORT', - 'REQUEST_URI' => '/addressbooks/user1/book1/card1', - 'HTTP_DEPTH' => '0', - )); + $request = new HTTP\Request( + 'REPORT', + '/addressbooks/user1/book1/card1', + ['Depth' => '0'] + ); $request->setBody( ' @@ -90,28 +90,28 @@ class AddressBookQueryTest extends AbstractPluginTest { $this->assertEquals(207, $response->status, 'Incorrect status code. Full response body:' . $response->body); // using the client for parsing - $client = new DAV\Client(array('baseUri'=>'/')); + $client = new DAV\Client(['baseUri' => '/']); $result = $client->parseMultiStatus($response->body); - $this->assertEquals(array( - '/addressbooks/user1/book1/card1' => array( - 200 => array( + $this->assertEquals([ + '/addressbooks/user1/book1/card1' => [ + 200 => [ '{DAV:}getetag' => '"' . md5("BEGIN:VCARD\nVERSION:3.0\nUID:12345\nEND:VCARD") . '"', - ), - ), - ), $result); + ], + ], + ], $result); } function testQueryNoMatch() { - $request = HTTP\Sapi::createFromServerArray(array( - 'REQUEST_METHOD' => 'REPORT', - 'REQUEST_URI' => '/addressbooks/user1/book1', - 'HTTP_DEPTH' => '1', - )); + $request = new HTTP\Request( + 'REPORT', + '/addressbooks/user1/book1', + ['Depth' => '1'] + ); $request->setBody( ' @@ -135,21 +135,21 @@ class AddressBookQueryTest extends AbstractPluginTest { $this->assertEquals(207, $response->status, 'Incorrect status code. Full response body:' . $response->body); // using the client for parsing - $client = new DAV\Client(array('baseUri'=>'/')); + $client = new DAV\Client(['baseUri' => '/']); $result = $client->parseMultiStatus($response->body); - $this->assertEquals(array(), $result); + $this->assertEquals([], $result); } function testQueryLimit() { - $request = HTTP\Sapi::createFromServerArray(array( + $request = HTTP\Sapi::createFromServerArray([ 'REQUEST_METHOD' => 'REPORT', - 'REQUEST_URI' => '/addressbooks/user1/book1', - 'HTTP_DEPTH' => '1', - )); + 'REQUEST_URI' => '/addressbooks/user1/book1', + 'HTTP_DEPTH' => '1', + ]); $request->setBody( ' @@ -174,17 +174,17 @@ class AddressBookQueryTest extends AbstractPluginTest { $this->assertEquals(207, $response->status, 'Incorrect status code. Full response body:' . $response->body); // using the client for parsing - $client = new DAV\Client(array('baseUri'=>'/')); + $client = new DAV\Client(['baseUri' => '/']); $result = $client->parseMultiStatus($response->body); - $this->assertEquals(array( - '/addressbooks/user1/book1/card1' => array( - 200 => array( - '{DAV:}getetag' => '"' . md5("BEGIN:VCARD\nVERSION:3.0\nUID:12345\nEND:VCARD"). '"', - ), - ), - ), $result); + $this->assertEquals([ + '/addressbooks/user1/book1/card1' => [ + 200 => [ + '{DAV:}getetag' => '"' . md5("BEGIN:VCARD\nVERSION:3.0\nUID:12345\nEND:VCARD") . '"', + ], + ], + ], $result); } @@ -217,20 +217,20 @@ class AddressBookQueryTest extends AbstractPluginTest { $this->assertEquals(207, $response->status, 'Incorrect status code. Full response body:' . $response->body); // using the client for parsing - $client = new DAV\Client(array('baseUri'=>'/')); + $client = new DAV\Client(['baseUri' => '/']); $result = $client->parseMultiStatus($response->body); $vobjVersion = \Sabre\VObject\Version::VERSION; - $this->assertEquals(array( - '/addressbooks/user1/book1/card1' => array( - 200 => array( - '{DAV:}getetag' => '"' . md5("BEGIN:VCARD\nVERSION:3.0\nUID:12345\nEND:VCARD"). '"', + $this->assertEquals([ + '/addressbooks/user1/book1/card1' => [ + 200 => [ + '{DAV:}getetag' => '"' . md5("BEGIN:VCARD\nVERSION:3.0\nUID:12345\nEND:VCARD") . '"', '{urn:ietf:params:xml:ns:carddav}address-data' => '["vcard",[["version",{},"text","4.0"],["prodid",{},"text","-\/\/Sabre\/\/Sabre VObject ' . $vobjVersion . '\/\/EN"],["uid",{},"text","12345"]]]', - ), - ), - ), $result); + ], + ], + ], $result); } @@ -262,20 +262,20 @@ class AddressBookQueryTest extends AbstractPluginTest { $this->assertEquals(207, $response->status, 'Incorrect status code. Full response body:' . $response->body); // using the client for parsing - $client = new DAV\Client(array('baseUri'=>'/')); + $client = new DAV\Client(['baseUri' => '/']); $result = $client->parseMultiStatus($response->body); $vobjVersion = \Sabre\VObject\Version::VERSION; - $this->assertEquals(array( - '/addressbooks/user1/book1/card1' => array( - 200 => array( - '{DAV:}getetag' => '"' . md5("BEGIN:VCARD\nVERSION:3.0\nUID:12345\nEND:VCARD"). '"', + $this->assertEquals([ + '/addressbooks/user1/book1/card1' => [ + 200 => [ + '{DAV:}getetag' => '"' . md5("BEGIN:VCARD\nVERSION:3.0\nUID:12345\nEND:VCARD") . '"', '{urn:ietf:params:xml:ns:carddav}address-data' => "BEGIN:VCARD\r\nVERSION:4.0\r\nPRODID:-//Sabre//Sabre VObject $vobjVersion//EN\r\nUID:12345\r\nEND:VCARD\r\n", - ), - ), - ), $result); + ], + ], + ], $result); } diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookTest.php b/vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookTest.php index fe8ba9025..1a36fd10c 100644 --- a/vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookTest.php +++ b/vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookTest.php @@ -4,10 +4,10 @@ namespace Sabre\CardDAV; use Sabre\DAV\PropPatch; -require_once 'Sabre/CardDAV/Backend/Mock.php'; - class AddressBookTest extends \PHPUnit_Framework_TestCase { + use \Sabre\DAV\DbTestHelperTrait; + /** * @var Sabre\CardDAV\AddressBook */ @@ -19,12 +19,12 @@ class AddressBookTest extends \PHPUnit_Framework_TestCase { $this->backend = new Backend\Mock(); $this->ab = new AddressBook( $this->backend, - array( - 'uri' => 'book1', - 'id' => 'foo', + [ + 'uri' => 'book1', + 'id' => 'foo', '{DAV:}displayname' => 'd-name', - 'principaluri' => 'principals/user1', - ) + 'principaluri' => 'principals/user1', + ] ); } @@ -73,10 +73,10 @@ class AddressBookTest extends \PHPUnit_Framework_TestCase { function testCreateFile() { - $file = fopen('php://memory','r+'); - fwrite($file,'foo'); + $file = fopen('php://memory', 'r+'); + fwrite($file, 'foo'); rewind($file); - $this->ab->createFile('card2',$file); + $this->ab->createFile('card2', $file); $this->assertEquals('foo', $this->backend->cards['foo']['card2']); @@ -85,7 +85,7 @@ class AddressBookTest extends \PHPUnit_Framework_TestCase { function testDelete() { $this->ab->delete(); - $this->assertEquals(array(), $this->backend->addressBooks); + $this->assertEquals([], $this->backend->addressBooks); } @@ -118,10 +118,10 @@ class AddressBookTest extends \PHPUnit_Framework_TestCase { function testGetProperties() { - $props = $this->ab->getProperties(array('{DAV:}displayname')); - $this->assertEquals(array( + $props = $this->ab->getProperties(['{DAV:}displayname']); + $this->assertEquals([ '{DAV:}displayname' => 'd-name', - ), $props); + ], $props); } @@ -129,27 +129,22 @@ class AddressBookTest extends \PHPUnit_Framework_TestCase { $this->assertEquals('principals/user1', $this->ab->getOwner()); $this->assertNull($this->ab->getGroup()); - $this->assertEquals(array( - array( - 'privilege' => '{DAV:}read', - 'principal' => 'principals/user1', - 'protected' => true, - ), - array( - 'privilege' => '{DAV:}write', - 'principal' => 'principals/user1', + $this->assertEquals([ + [ + 'privilege' => '{DAV:}all', + 'principal' => '{DAV:}owner', 'protected' => true, - ), - ), $this->ab->getACL()); + ], + ], $this->ab->getACL()); } /** - * @expectedException Sabre\DAV\Exception\MethodNotAllowed + * @expectedException Sabre\DAV\Exception\Forbidden */ function testSetACL() { - $this->ab->setACL(array()); + $this->ab->setACL([]); } @@ -168,45 +163,32 @@ class AddressBookTest extends \PHPUnit_Framework_TestCase { } function testGetChangesNoSyncSupport() { - $this->assertNull($this->ab->getChanges(1,null)); + $this->assertNull($this->ab->getChanges(1, null)); } function testGetSyncToken() { - if (!SABRE_HASSQLITE) { - $this->markTestSkipped('Sqlite is required for this test to run'); - } - $ab = new AddressBook(TestUtil::getBackend(), [ 'id' => 1, '{DAV:}sync-token' => 2]); + $this->driver = 'sqlite'; + $this->dropTables(['addressbooks', 'cards', 'addressbookchanges']); + $this->createSchema('addressbooks'); + $backend = new Backend\PDO( + $this->getPDO() + ); + $ab = new AddressBook($backend, [ 'id' => 1, '{DAV:}sync-token' => 2]); $this->assertEquals(2, $ab->getSyncToken()); - TestUtil::deleteSQLiteDB(); } function testGetSyncToken2() { - if (!SABRE_HASSQLITE) { - $this->markTestSkipped('Sqlite is required for this test to run'); - } - $ab = new AddressBook(TestUtil::getBackend(), [ 'id' => 1, '{http://sabredav.org/ns}sync-token' => 2]); + $this->driver = 'sqlite'; + $this->dropTables(['addressbooks', 'cards', 'addressbookchanges']); + $this->createSchema('addressbooks'); + $backend = new Backend\PDO( + $this->getPDO() + ); + $ab = new AddressBook($backend, [ 'id' => 1, '{http://sabredav.org/ns}sync-token' => 2]); $this->assertEquals(2, $ab->getSyncToken()); - TestUtil::deleteSQLiteDB(); } - function testGetChanges() { - - if (!SABRE_HASSQLITE) { - $this->markTestSkipped('Sqlite is required for this test to run'); - } - $ab = new AddressBook(TestUtil::getBackend(), [ 'id' => 1, '{DAV:}sync-token' => 2]); - $this->assertEquals([ - 'syncToken' => 2, - 'modified' => [], - 'deleted' => [], - 'added' => ['UUID-2345'], - ], $ab->getChanges(1, 1)); - TestUtil::deleteSQLiteDB(); - - } - - } diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/Backend/AbstractPDOTest.php b/vendor/sabre/dav/tests/Sabre/CardDAV/Backend/AbstractPDOTest.php index d2ec278be..f62bfb1ae 100644 --- a/vendor/sabre/dav/tests/Sabre/CardDAV/Backend/AbstractPDOTest.php +++ b/vendor/sabre/dav/tests/Sabre/CardDAV/Backend/AbstractPDOTest.php @@ -7,52 +7,55 @@ use Sabre\DAV\PropPatch; abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { + use \Sabre\DAV\DbTestHelperTrait; + /** * @var CardDAV\Backend\PDO */ protected $backend; - /** - * @abstract - * @return PDO - */ - abstract function getPDO(); - - public function setUp() { + function setUp() { + $this->dropTables([ + 'addressbooks', + 'cards', + 'addressbookchanges', + ]); + $this->createSchema('addressbooks'); $pdo = $this->getPDO(); + $this->backend = new PDO($pdo); - $pdo->exec('INSERT INTO addressbooks (principaluri, displayname, uri, description, synctoken) VALUES ("principals/user1", "book1", "book1", "addressbook 1", 1)'); - $pdo->exec('INSERT INTO cards (addressbookid, carddata, uri, lastmodified, etag, size) VALUES (1, "card1", "card1", 0, "' . md5('card1') . '", 5)'); + $pdo->exec("INSERT INTO addressbooks (principaluri, displayname, uri, description, synctoken) VALUES ('principals/user1', 'book1', 'book1', 'addressbook 1', 1)"); + $pdo->exec("INSERT INTO cards (addressbookid, carddata, uri, lastmodified, etag, size) VALUES (1, 'card1', 'card1', 0, '" . md5('card1') . "', 5)"); } - public function testGetAddressBooksForUser() { + function testGetAddressBooksForUser() { $result = $this->backend->getAddressBooksForUser('principals/user1'); - $expected = array( - array( - 'id' => 1, - 'uri' => 'book1', - 'principaluri' => 'principals/user1', - '{DAV:}displayname' => 'book1', + $expected = [ + [ + 'id' => 1, + 'uri' => 'book1', + 'principaluri' => 'principals/user1', + '{DAV:}displayname' => 'book1', '{' . CardDAV\Plugin::NS_CARDDAV . '}addressbook-description' => 'addressbook 1', - '{http://calendarserver.org/ns/}getctag' => 1, - '{http://sabredav.org/ns}sync-token' => 1 - ) - ); + '{http://calendarserver.org/ns/}getctag' => 1, + '{http://sabredav.org/ns}sync-token' => 1 + ] + ]; $this->assertEquals($expected, $result); } - public function testUpdateAddressBookInvalidProp() { + function testUpdateAddressBookInvalidProp() { $propPatch = new PropPatch([ - '{DAV:}displayname' => 'updated', + '{DAV:}displayname' => 'updated', '{' . CardDAV\Plugin::NS_CARDDAV . '}addressbook-description' => 'updated', - '{DAV:}foo' => 'bar', + '{DAV:}foo' => 'bar', ]); $this->backend->updateAddressBook(1, $propPatch); @@ -62,23 +65,23 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { $result = $this->backend->getAddressBooksForUser('principals/user1'); - $expected = array( - array( - 'id' => 1, - 'uri' => 'book1', - 'principaluri' => 'principals/user1', - '{DAV:}displayname' => 'book1', + $expected = [ + [ + 'id' => 1, + 'uri' => 'book1', + 'principaluri' => 'principals/user1', + '{DAV:}displayname' => 'book1', '{' . CardDAV\Plugin::NS_CARDDAV . '}addressbook-description' => 'addressbook 1', - '{http://calendarserver.org/ns/}getctag' => 1, - '{http://sabredav.org/ns}sync-token' => 1 - ) - ); + '{http://calendarserver.org/ns/}getctag' => 1, + '{http://sabredav.org/ns}sync-token' => 1 + ] + ]; $this->assertEquals($expected, $result); } - public function testUpdateAddressBookNoProps() { + function testUpdateAddressBookNoProps() { $propPatch = new PropPatch([ ]); @@ -89,27 +92,27 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { $result = $this->backend->getAddressBooksForUser('principals/user1'); - $expected = array( - array( - 'id' => 1, - 'uri' => 'book1', - 'principaluri' => 'principals/user1', - '{DAV:}displayname' => 'book1', + $expected = [ + [ + 'id' => 1, + 'uri' => 'book1', + 'principaluri' => 'principals/user1', + '{DAV:}displayname' => 'book1', '{' . CardDAV\Plugin::NS_CARDDAV . '}addressbook-description' => 'addressbook 1', - '{http://calendarserver.org/ns/}getctag' => 1, - '{http://sabredav.org/ns}sync-token' => 1 - ) - ); + '{http://calendarserver.org/ns/}getctag' => 1, + '{http://sabredav.org/ns}sync-token' => 1 + ] + ]; $this->assertEquals($expected, $result); } - public function testUpdateAddressBookSuccess() { + function testUpdateAddressBookSuccess() { $propPatch = new PropPatch([ - '{DAV:}displayname' => 'updated', + '{DAV:}displayname' => 'updated', '{' . CardDAV\Plugin::NS_CARDDAV . '}addressbook-description' => 'updated', ]); @@ -120,104 +123,108 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { $result = $this->backend->getAddressBooksForUser('principals/user1'); - $expected = array( - array( - 'id' => 1, - 'uri' => 'book1', - 'principaluri' => 'principals/user1', - '{DAV:}displayname' => 'updated', + $expected = [ + [ + 'id' => 1, + 'uri' => 'book1', + 'principaluri' => 'principals/user1', + '{DAV:}displayname' => 'updated', '{' . CardDAV\Plugin::NS_CARDDAV . '}addressbook-description' => 'updated', - '{http://calendarserver.org/ns/}getctag' => 2, - '{http://sabredav.org/ns}sync-token' => 2 - ) - ); + '{http://calendarserver.org/ns/}getctag' => 2, + '{http://sabredav.org/ns}sync-token' => 2 + ] + ]; $this->assertEquals($expected, $result); } - public function testDeleteAddressBook() { + function testDeleteAddressBook() { $this->backend->deleteAddressBook(1); - $this->assertEquals(array(), $this->backend->getAddressBooksForUser('principals/user1')); + $this->assertEquals([], $this->backend->getAddressBooksForUser('principals/user1')); } /** * @expectedException Sabre\DAV\Exception\BadRequest */ - public function testCreateAddressBookUnsupportedProp() { + function testCreateAddressBookUnsupportedProp() { - $this->backend->createAddressBook('principals/user1','book2', array( + $this->backend->createAddressBook('principals/user1', 'book2', [ '{DAV:}foo' => 'bar', - )); + ]); } - public function testCreateAddressBookSuccess() { + function testCreateAddressBookSuccess() { - $this->backend->createAddressBook('principals/user1','book2', array( - '{DAV:}displayname' => 'book2', + $this->backend->createAddressBook('principals/user1', 'book2', [ + '{DAV:}displayname' => 'book2', '{' . CardDAV\Plugin::NS_CARDDAV . '}addressbook-description' => 'addressbook 2', - )); - - $expected = array( - array( - 'id' => 1, - 'uri' => 'book1', - 'principaluri' => 'principals/user1', - '{DAV:}displayname' => 'book1', + ]); + + $expected = [ + [ + 'id' => 1, + 'uri' => 'book1', + 'principaluri' => 'principals/user1', + '{DAV:}displayname' => 'book1', '{' . CardDAV\Plugin::NS_CARDDAV . '}addressbook-description' => 'addressbook 1', - '{http://calendarserver.org/ns/}getctag' => 1, - '{http://sabredav.org/ns}sync-token' => 1, - ), - array( - 'id' => 2, - 'uri' => 'book2', - 'principaluri' => 'principals/user1', - '{DAV:}displayname' => 'book2', + '{http://calendarserver.org/ns/}getctag' => 1, + '{http://sabredav.org/ns}sync-token' => 1, + ], + [ + 'id' => 2, + 'uri' => 'book2', + 'principaluri' => 'principals/user1', + '{DAV:}displayname' => 'book2', '{' . CardDAV\Plugin::NS_CARDDAV . '}addressbook-description' => 'addressbook 2', - '{http://calendarserver.org/ns/}getctag' => 1, - '{http://sabredav.org/ns}sync-token' => 1, - ) - ); + '{http://calendarserver.org/ns/}getctag' => 1, + '{http://sabredav.org/ns}sync-token' => 1, + ] + ]; $result = $this->backend->getAddressBooksForUser('principals/user1'); $this->assertEquals($expected, $result); } - public function testGetCards() { + function testGetCards() { $result = $this->backend->getCards(1); - $expected = array( - array( - 'id' => 1, - 'uri' => 'card1', + $expected = [ + [ + 'id' => 1, + 'uri' => 'card1', 'lastmodified' => 0, - 'etag' => '"' . md5('card1') . '"', - 'size' => 5 - ) - ); + 'etag' => '"' . md5('card1') . '"', + 'size' => 5 + ] + ]; $this->assertEquals($expected, $result); } - public function testGetCard() { + function testGetCard() { - $result = $this->backend->getCard(1,'card1'); + $result = $this->backend->getCard(1, 'card1'); - $expected = array( - 'id' => 1, - 'uri' => 'card1', - 'carddata' => 'card1', + $expected = [ + 'id' => 1, + 'uri' => 'card1', + 'carddata' => 'card1', 'lastmodified' => 0, - 'etag' => '"' . md5('card1') . '"', - 'size' => 5 - ); + 'etag' => '"' . md5('card1') . '"', + 'size' => 5 + ]; + + if (is_resource($result['carddata'])) { + $result['carddata'] = stream_get_contents($result['carddata']); + } $this->assertEquals($expected, $result); @@ -226,13 +233,16 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { /** * @depends testGetCard */ - public function testCreateCard() { + function testCreateCard() { $result = $this->backend->createCard(1, 'card2', 'data2'); $this->assertEquals('"' . md5('data2') . '"', $result); - $result = $this->backend->getCard(1,'card2'); + $result = $this->backend->getCard(1, 'card2'); $this->assertEquals(2, $result['id']); $this->assertEquals('card2', $result['uri']); + if (is_resource($result['carddata'])) { + $result['carddata'] = stream_get_contents($result['carddata']); + } $this->assertEquals('data2', $result['carddata']); } @@ -240,41 +250,52 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { /** * @depends testCreateCard */ - public function testGetMultiple() { + function testGetMultiple() { $result = $this->backend->createCard(1, 'card2', 'data2'); $result = $this->backend->createCard(1, 'card3', 'data3'); $check = [ [ - 'id' => 1, - 'uri' => 'card1', - 'carddata' => 'card1', + 'id' => 1, + 'uri' => 'card1', + 'carddata' => 'card1', 'lastmodified' => 0, ], [ - 'id' => 2, - 'uri' => 'card2', - 'carddata' => 'data2', + 'id' => 2, + 'uri' => 'card2', + 'carddata' => 'data2', 'lastmodified' => time(), ], [ - 'id' => 3, - 'uri' => 'card3', - 'carddata' => 'data3', + 'id' => 3, + 'uri' => 'card3', + 'carddata' => 'data3', 'lastmodified' => time(), ], ]; - $result = $this->backend->getMultipleCards(1, ['card1','card2','card3']); + $result = $this->backend->getMultipleCards(1, ['card1', 'card2', 'card3']); + + foreach ($check as $index => $node) { - foreach($check as $index=>$node) { + foreach ($node as $k => $v) { - foreach($node as $k=>$v) { + $expected = $v; + $actual = $result[$index][$k]; - if ($k!=='lastmodified') { - $this->assertEquals($v, $result[$index][$k]); - } else { - $this->assertTrue(isset($result[$index][$k])); + switch ($k) { + case 'lastmodified' : + $this->assertInternalType('int', $actual); + break; + case 'carddata' : + if (is_resource($actual)) { + $actual = stream_get_contents($actual); + } + // No break intended. + default : + $this->assertEquals($expected, $actual); + break; } } @@ -287,13 +308,16 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { /** * @depends testGetCard */ - public function testUpdateCard() { + function testUpdateCard() { $result = $this->backend->updateCard(1, 'card1', 'newdata'); $this->assertEquals('"' . md5('newdata') . '"', $result); - $result = $this->backend->getCard(1,'card1'); + $result = $this->backend->getCard(1, 'card1'); $this->assertEquals(1, $result['id']); + if (is_resource($result['carddata'])) { + $result['carddata'] = stream_get_contents($result['carddata']); + } $this->assertEquals('newdata', $result['carddata']); } @@ -301,10 +325,10 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { /** * @depends testGetCard */ - public function testDeleteCard() { + function testDeleteCard() { $this->backend->deleteCard(1, 'card1'); - $result = $this->backend->getCard(1,'card1'); + $result = $this->backend->getCard(1, 'card1'); $this->assertFalse($result); } @@ -347,4 +371,3 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { } } - diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/Backend/Mock.php b/vendor/sabre/dav/tests/Sabre/CardDAV/Backend/Mock.php index 3f96d3c5d..840b898e8 100644 --- a/vendor/sabre/dav/tests/Sabre/CardDAV/Backend/Mock.php +++ b/vendor/sabre/dav/tests/Sabre/CardDAV/Backend/Mock.php @@ -13,24 +13,24 @@ class Mock extends AbstractBackend { $this->cards = $cards; if (is_null($this->addressBooks)) { - $this->addressBooks = array( - array( - 'id' => 'foo', - 'uri' => 'book1', - 'principaluri' => 'principals/user1', + $this->addressBooks = [ + [ + 'id' => 'foo', + 'uri' => 'book1', + 'principaluri' => 'principals/user1', '{DAV:}displayname' => 'd-name', - ), - ); + ], + ]; - $card2 = fopen('php://memory','r+'); - fwrite($card2,"BEGIN:VCARD\nVERSION:3.0\nUID:45678\nEND:VCARD"); + $card2 = fopen('php://memory', 'r+'); + fwrite($card2, "BEGIN:VCARD\nVERSION:3.0\nUID:45678\nEND:VCARD"); rewind($card2); - $this->cards = array( - 'foo' => array( + $this->cards = [ + 'foo' => [ 'card1' => "BEGIN:VCARD\nVERSION:3.0\nUID:12345\nEND:VCARD", 'card2' => $card2, - ), - ); + ], + ]; } } @@ -38,8 +38,8 @@ class Mock extends AbstractBackend { function getAddressBooksForUser($principalUri) { - $books = array(); - foreach($this->addressBooks as $book) { + $books = []; + foreach ($this->addressBooks as $book) { if ($book['principaluri'] === $principalUri) { $books[] = $book; } @@ -64,14 +64,14 @@ class Mock extends AbstractBackend { * @param \Sabre\DAV\PropPatch $propPatch * @return void */ - public function updateAddressBook($addressBookId, \Sabre\DAV\PropPatch $propPatch) { + function updateAddressBook($addressBookId, \Sabre\DAV\PropPatch $propPatch) { - foreach($this->addressBooks as &$book) { + foreach ($this->addressBooks as &$book) { if ($book['id'] !== $addressBookId) continue; $propPatch->handleRemaining(function($mutations) use (&$book) { - foreach($mutations as $key=>$value) { + foreach ($mutations as $key => $value) { $book[$key] = $value; } return true; @@ -83,17 +83,17 @@ class Mock extends AbstractBackend { function createAddressBook($principalUri, $url, array $properties) { - $this->addressBooks[] = array_merge($properties, array( - 'id' => $url, - 'uri' => $url, + $this->addressBooks[] = array_merge($properties, [ + 'id' => $url, + 'uri' => $url, 'principaluri' => $principalUri, - )); + ]); } function deleteAddressBook($addressBookId) { - foreach($this->addressBooks as $key=>$value) { + foreach ($this->addressBooks as $key => $value) { if ($value['id'] === $addressBookId) unset($this->addressBooks[$key]); } @@ -101,41 +101,142 @@ class Mock extends AbstractBackend { } + /** + * Returns all cards for a specific addressbook id. + * + * This method should return the following properties for each card: + * * carddata - raw vcard data + * * uri - Some unique url + * * lastmodified - A unix timestamp + * + * It's recommended to also return the following properties: + * * etag - A unique etag. This must change every time the card changes. + * * size - The size of the card in bytes. + * + * If these last two properties are provided, less time will be spent + * calculating them. If they are specified, you can also ommit carddata. + * This may speed up certain requests, especially with large cards. + * + * @param mixed $addressbookId + * @return array + */ function getCards($addressBookId) { - $cards = array(); - foreach($this->cards[$addressBookId] as $uri=>$data) { - $cards[] = array( - 'uri' => $uri, - 'carddata' => $data, - ); + $cards = []; + foreach ($this->cards[$addressBookId] as $uri => $data) { + if (is_resource($data)) { + $cards[] = [ + 'uri' => $uri, + 'carddata' => $data, + ]; + } else { + $cards[] = [ + 'uri' => $uri, + 'carddata' => $data, + 'etag' => '"' . md5($data) . '"', + 'size' => strlen($data) + ]; + } } return $cards; } + /** + * Returns a specfic card. + * + * The same set of properties must be returned as with getCards. The only + * exception is that 'carddata' is absolutely required. + * + * If the card does not exist, you must return false. + * + * @param mixed $addressBookId + * @param string $cardUri + * @return array + */ function getCard($addressBookId, $cardUri) { if (!isset($this->cards[$addressBookId][$cardUri])) { return false; } - return array( - 'uri' => $cardUri, - 'carddata' => $this->cards[$addressBookId][$cardUri], - ); + $data = $this->cards[$addressBookId][$cardUri]; + return [ + 'uri' => $cardUri, + 'carddata' => $data, + 'etag' => '"' . md5($data) . '"', + 'size' => strlen($data) + ]; } + /** + * Creates a new card. + * + * The addressbook id will be passed as the first argument. This is the + * same id as it is returned from the getAddressBooksForUser method. + * + * The cardUri is a base uri, and doesn't include the full path. The + * cardData argument is the vcard body, and is passed as a string. + * + * It is possible to return an ETag from this method. This ETag is for the + * newly created resource, and must be enclosed with double quotes (that + * is, the string itself must contain the double quotes). + * + * You should only return the ETag if you store the carddata as-is. If a + * subsequent GET request on the same card does not have the same body, + * byte-by-byte and you did return an ETag here, clients tend to get + * confused. + * + * If you don't return an ETag, you can just return null. + * + * @param mixed $addressBookId + * @param string $cardUri + * @param string $cardData + * @return string|null + */ function createCard($addressBookId, $cardUri, $cardData) { + if (is_resource($cardData)) { + $cardData = stream_get_contents($cardData); + } $this->cards[$addressBookId][$cardUri] = $cardData; + return '"' . md5($cardData) . '"'; } + /** + * Updates a card. + * + * The addressbook id will be passed as the first argument. This is the + * same id as it is returned from the getAddressBooksForUser method. + * + * The cardUri is a base uri, and doesn't include the full path. The + * cardData argument is the vcard body, and is passed as a string. + * + * It is possible to return an ETag from this method. This ETag should + * match that of the updated resource, and must be enclosed with double + * quotes (that is: the string itself must contain the actual quotes). + * + * You should only return the ETag if you store the carddata as-is. If a + * subsequent GET request on the same card does not have the same body, + * byte-by-byte and you did return an ETag here, clients tend to get + * confused. + * + * If you don't return an ETag, you can just return null. + * + * @param mixed $addressBookId + * @param string $cardUri + * @param string $cardData + * @return string|null + */ function updateCard($addressBookId, $cardUri, $cardData) { + if (is_resource($cardData)) { + $cardData = stream_get_contents($cardData); + } $this->cards[$addressBookId][$cardUri] = $cardData; + return '"' . md5($cardData) . '"'; } diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/Backend/PDOMySQLTest.php b/vendor/sabre/dav/tests/Sabre/CardDAV/Backend/PDOMySQLTest.php index 38cb655d0..c1b0e274e 100644 --- a/vendor/sabre/dav/tests/Sabre/CardDAV/Backend/PDOMySQLTest.php +++ b/vendor/sabre/dav/tests/Sabre/CardDAV/Backend/PDOMySQLTest.php @@ -2,35 +2,8 @@ namespace Sabre\CardDAV\Backend; -require_once 'Sabre/TestUtil.php'; - class PDOMySQLTest extends AbstractPDOTest { - /** - * @return PDO - */ - public 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 addressbooks, cards, addressbookchanges"); - - $queries = explode( - ';', - file_get_contents(__DIR__ . '/../../../../examples/sql/mysql.addressbook.sql') - ); - - foreach($queries as $query) { - $query = trim($query," \r\n\t"); - if ($query) - $pdo->exec($query); - } - return $pdo; - - } + public $driver = 'mysql'; } - diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/Backend/PDOSqliteTest.php b/vendor/sabre/dav/tests/Sabre/CardDAV/Backend/PDOSqliteTest.php index 5a4a7a327..b187c4d78 100644 --- a/vendor/sabre/dav/tests/Sabre/CardDAV/Backend/PDOSqliteTest.php +++ b/vendor/sabre/dav/tests/Sabre/CardDAV/Backend/PDOSqliteTest.php @@ -2,53 +2,8 @@ namespace Sabre\CardDAV\Backend; -require_once 'Sabre/TestUtil.php'; - class PDOSqliteTest extends AbstractPDOTest { - function tearDown() { - - if (file_exists(SABRE_TEMPDIR . '/pdobackend')) unlink(SABRE_TEMPDIR . '/pdobackend'); - if (file_exists(SABRE_TEMPDIR . '/pdobackend2')) unlink(SABRE_TEMPDIR . '/pdobackend2'); - - } - - /** - * @return PDO - */ - function getPDO() { - - return self::getSQLite(); - - } - - /** - * @return PDO - */ - static function getSQLite() { - - if (!SABRE_HASSQLITE) $this->markTestSkipped('SQLite driver is not available'); - $pdo = new \PDO('sqlite:'.SABRE_TEMPDIR.'/pdobackend'); - $pdo->setAttribute(\PDO::ATTR_ERRMODE,\PDO::ERRMODE_EXCEPTION); - - $pdo->query("DROP TABLE IF EXISTS addressbooks"); - $pdo->query("DROP TABLE IF EXISTS addressbookchanges"); - $pdo->query("DROP TABLE IF EXISTS cards"); - - $queries = explode( - ';', - file_get_contents(__DIR__ . '/../../../../examples/sql/sqlite.addressbooks.sql') - ); - - foreach($queries as $query) { - $query = trim($query," \r\n\t"); - if ($query) - $pdo->exec($query); - } - - return $pdo; - - } + public $driver = 'sqlite'; } - diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/CardTest.php b/vendor/sabre/dav/tests/Sabre/CardDAV/CardTest.php index cf8dbab0c..cb7d152c3 100644 --- a/vendor/sabre/dav/tests/Sabre/CardDAV/CardTest.php +++ b/vendor/sabre/dav/tests/Sabre/CardDAV/CardTest.php @@ -18,16 +18,16 @@ class CardTest extends \PHPUnit_Framework_TestCase { $this->backend = new Backend\Mock(); $this->card = new Card( $this->backend, - array( - 'uri' => 'book1', - 'id' => 'foo', + [ + 'uri' => 'book1', + 'id' => 'foo', 'principaluri' => 'principals/user1', - ), - array( - 'uri' => 'card1', + ], + [ + 'uri' => 'card1', 'addressbookid' => 'foo', - 'carddata' => 'card', - ) + 'carddata' => 'card', + ] ); } @@ -42,15 +42,15 @@ class CardTest extends \PHPUnit_Framework_TestCase { $this->card = new Card( $this->backend, - array( - 'uri' => 'book1', - 'id' => 'foo', + [ + 'uri' => 'book1', + 'id' => 'foo', 'principaluri' => 'principals/user1', - ), - array( - 'uri' => 'card1', + ], + [ + 'uri' => 'card1', 'addressbookid' => 'foo', - ) + ] ); $result = $this->card->get(); $this->assertEquals("BEGIN:VCARD\nVERSION:3.0\nUID:12345\nEND:VCARD", $result); @@ -63,7 +63,7 @@ class CardTest extends \PHPUnit_Framework_TestCase { */ function testPut() { - $file = fopen('php://memory','r+'); + $file = fopen('php://memory', 'r+'); fwrite($file, 'newdata'); rewind($file); $this->card->put($file); @@ -88,7 +88,7 @@ class CardTest extends \PHPUnit_Framework_TestCase { function testGetETag() { - $this->assertEquals('"' . md5('card') . '"' , $this->card->getETag()); + $this->assertEquals('"' . md5('card') . '"', $this->card->getETag()); } @@ -96,19 +96,19 @@ class CardTest extends \PHPUnit_Framework_TestCase { $card = new Card( $this->backend, - array( - 'uri' => 'book1', - 'id' => 'foo', + [ + 'uri' => 'book1', + 'id' => 'foo', 'principaluri' => 'principals/user1', - ), - array( - 'uri' => 'card1', + ], + [ + 'uri' => 'card1', 'addressbookid' => 'foo', - 'carddata' => 'card', - 'etag' => '"blabla"', - ) + 'carddata' => 'card', + 'etag' => '"blabla"', + ] ); - $this->assertEquals('"blabla"' , $card->getETag()); + $this->assertEquals('"blabla"', $card->getETag()); } @@ -129,17 +129,17 @@ class CardTest extends \PHPUnit_Framework_TestCase { $card = new Card( $this->backend, - array( - 'uri' => 'book1', - 'id' => 'foo', + [ + 'uri' => 'book1', + 'id' => 'foo', 'principaluri' => 'principals/user1', - ), - array( - 'uri' => 'card1', + ], + [ + 'uri' => 'card1', 'addressbookid' => 'foo', - 'etag' => '"blabla"', - 'size' => 4, - ) + 'etag' => '"blabla"', + 'size' => 4, + ] ); $this->assertEquals(4, $card->getSize()); @@ -149,58 +149,53 @@ class CardTest extends \PHPUnit_Framework_TestCase { $this->assertEquals('principals/user1', $this->card->getOwner()); $this->assertNull($this->card->getGroup()); - $this->assertEquals(array( - array( - 'privilege' => '{DAV:}read', - 'principal' => 'principals/user1', - 'protected' => true, - ), - array( - 'privilege' => '{DAV:}write', + $this->assertEquals([ + [ + 'privilege' => '{DAV:}all', 'principal' => 'principals/user1', 'protected' => true, - ), - ), $this->card->getACL()); + ], + ], $this->card->getACL()); } function testOverrideACL() { $card = new Card( $this->backend, - array( - 'uri' => 'book1', - 'id' => 'foo', + [ + 'uri' => 'book1', + 'id' => 'foo', 'principaluri' => 'principals/user1', - ), - array( - 'uri' => 'card1', + ], + [ + 'uri' => 'card1', 'addressbookid' => 'foo', - 'carddata' => 'card', - 'acl' => array( - array( + 'carddata' => 'card', + 'acl' => [ + [ 'privilege' => '{DAV:}read', 'principal' => 'principals/user1', 'protected' => true, - ), - ), - ) + ], + ], + ] ); - $this->assertEquals(array( - array( + $this->assertEquals([ + [ 'privilege' => '{DAV:}read', 'principal' => 'principals/user1', 'protected' => true, - ), - ), $card->getACL()); + ], + ], $card->getACL()); } /** - * @expectedException Sabre\DAV\Exception\MethodNotAllowed + * @expectedException Sabre\DAV\Exception\Forbidden */ function testSetACL() { - $this->card->setACL(array()); + $this->card->setACL([]); } diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/IDirectoryTest.php b/vendor/sabre/dav/tests/Sabre/CardDAV/IDirectoryTest.php index 431cd2524..4796a131f 100644 --- a/vendor/sabre/dav/tests/Sabre/CardDAV/IDirectoryTest.php +++ b/vendor/sabre/dav/tests/Sabre/CardDAV/IDirectoryTest.php @@ -8,15 +8,15 @@ class IDirectoryTest extends \PHPUnit_Framework_TestCase { function testResourceType() { - $tree = array( + $tree = [ new DirectoryMock('directory') - ); + ]; $server = new DAV\Server($tree); $plugin = new Plugin(); $server->addPlugin($plugin); - $props = $server->getProperties('directory', array('{DAV:}resourcetype')); + $props = $server->getProperties('directory', ['{DAV:}resourcetype']); $this->assertTrue($props['{DAV:}resourcetype']->is('{' . Plugin::NS_CARDDAV . '}directory')); } diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/MultiGetTest.php b/vendor/sabre/dav/tests/Sabre/CardDAV/MultiGetTest.php index b0ee45880..d79239d0f 100644 --- a/vendor/sabre/dav/tests/Sabre/CardDAV/MultiGetTest.php +++ b/vendor/sabre/dav/tests/Sabre/CardDAV/MultiGetTest.php @@ -11,10 +11,10 @@ class MultiGetTest extends AbstractPluginTest { function testMultiGet() { - $request = HTTP\Sapi::createFromServerArray(array( + $request = HTTP\Sapi::createFromServerArray([ 'REQUEST_METHOD' => 'REPORT', - 'REQUEST_URI' => '/addressbooks/user1/book1', - )); + 'REQUEST_URI' => '/addressbooks/user1/book1', + ]); $request->setBody( ' @@ -37,27 +37,27 @@ class MultiGetTest extends AbstractPluginTest { $this->assertEquals(207, $response->status, 'Incorrect status code. Full response body:' . $response->body); // using the client for parsing - $client = new DAV\Client(array('baseUri'=>'/')); + $client = new DAV\Client(['baseUri' => '/']); $result = $client->parseMultiStatus($response->body); - $this->assertEquals(array( - '/addressbooks/user1/book1/card1' => array( - 200 => array( - '{DAV:}getetag' => '"' . md5("BEGIN:VCARD\nVERSION:3.0\nUID:12345\nEND:VCARD") . '"', - '{urn:ietf:params:xml:ns:carddav}address-data' => "BEGIN:VCARD\r\nVERSION:3.0\r\nUID:12345\r\nEND:VCARD\r\n", - ) - ) - ), $result); + $this->assertEquals([ + '/addressbooks/user1/book1/card1' => [ + 200 => [ + '{DAV:}getetag' => '"' . md5("BEGIN:VCARD\nVERSION:3.0\nUID:12345\nEND:VCARD") . '"', + '{urn:ietf:params:xml:ns:carddav}address-data' => "BEGIN:VCARD\nVERSION:3.0\nUID:12345\nEND:VCARD", + ] + ] + ], $result); } function testMultiGetVCard4() { - $request = HTTP\Sapi::createFromServerArray(array( + $request = HTTP\Sapi::createFromServerArray([ 'REQUEST_METHOD' => 'REPORT', - 'REQUEST_URI' => '/addressbooks/user1/book1', - )); + 'REQUEST_URI' => '/addressbooks/user1/book1', + ]); $request->setBody( ' @@ -80,20 +80,20 @@ class MultiGetTest extends AbstractPluginTest { $this->assertEquals(207, $response->status, 'Incorrect status code. Full response body:' . $response->body); // using the client for parsing - $client = new DAV\Client(array('baseUri'=>'/')); + $client = new DAV\Client(['baseUri' => '/']); $result = $client->parseMultiStatus($response->body); $prodId = "PRODID:-//Sabre//Sabre VObject " . \Sabre\VObject\Version::VERSION . "//EN"; - $this->assertEquals(array( - '/addressbooks/user1/book1/card1' => array( - 200 => array( - '{DAV:}getetag' => '"' . md5("BEGIN:VCARD\nVERSION:3.0\nUID:12345\nEND:VCARD") . '"', + $this->assertEquals([ + '/addressbooks/user1/book1/card1' => [ + 200 => [ + '{DAV:}getetag' => '"' . md5("BEGIN:VCARD\nVERSION:3.0\nUID:12345\nEND:VCARD") . '"', '{urn:ietf:params:xml:ns:carddav}address-data' => "BEGIN:VCARD\r\nVERSION:4.0\r\n$prodId\r\nUID:12345\r\nEND:VCARD\r\n", - ) - ) - ), $result); + ] + ] + ], $result); } } diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/PluginTest.php b/vendor/sabre/dav/tests/Sabre/CardDAV/PluginTest.php index 9c916350e..6962e7830 100644 --- a/vendor/sabre/dav/tests/Sabre/CardDAV/PluginTest.php +++ b/vendor/sabre/dav/tests/Sabre/CardDAV/PluginTest.php @@ -3,7 +3,6 @@ namespace Sabre\CardDAV; use Sabre\DAV; -use Sabre\DAV\Xml\Property\Href; class PluginTest extends AbstractPluginTest { @@ -18,23 +17,23 @@ class PluginTest extends AbstractPluginTest { function testSupportedReportSet() { - $this->assertEquals(array( + $this->assertEquals([ '{' . Plugin::NS_CARDDAV . '}addressbook-multiget', '{' . Plugin::NS_CARDDAV . '}addressbook-query', - ), $this->plugin->getSupportedReportSet('addressbooks/user1/book1')); + ], $this->plugin->getSupportedReportSet('addressbooks/user1/book1')); } function testSupportedReportSetEmpty() { - $this->assertEquals(array( - ), $this->plugin->getSupportedReportSet('')); + $this->assertEquals([ + ], $this->plugin->getSupportedReportSet('')); } function testAddressBookHomeSet() { - $result = $this->server->getProperties('principals/user1', array('{' . Plugin::NS_CARDDAV . '}addressbook-home-set')); + $result = $this->server->getProperties('principals/user1', ['{' . Plugin::NS_CARDDAV . '}addressbook-home-set']); $this->assertEquals(1, count($result)); $this->assertTrue(isset($result['{' . Plugin::NS_CARDDAV . '}addressbook-home-set'])); @@ -44,11 +43,11 @@ class PluginTest extends AbstractPluginTest { function testDirectoryGateway() { - $result = $this->server->getProperties('principals/user1', array('{' . Plugin::NS_CARDDAV . '}directory-gateway')); + $result = $this->server->getProperties('principals/user1', ['{' . Plugin::NS_CARDDAV . '}directory-gateway']); $this->assertEquals(1, count($result)); $this->assertTrue(isset($result['{' . Plugin::NS_CARDDAV . '}directory-gateway'])); - $this->assertEquals(array('directory'), $result['{' . Plugin::NS_CARDDAV . '}directory-gateway']->getHrefs()); + $this->assertEquals(['directory'], $result['{' . Plugin::NS_CARDDAV . '}directory-gateway']->getHrefs()); } @@ -64,7 +63,7 @@ class PluginTest extends AbstractPluginTest { $r = $this->server->emit('onHTMLActionsPanel', [$this->server->tree->getNodeForPath('addressbooks/user1'), &$output]); $this->assertFalse($r); - $this->assertTrue(!!strpos($output,'Display name')); + $this->assertTrue(!!strpos($output, 'Display name')); } diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/SogoStripContentTypeTest.php b/vendor/sabre/dav/tests/Sabre/CardDAV/SogoStripContentTypeTest.php index f828cc25b..0ba4fd669 100644 --- a/vendor/sabre/dav/tests/Sabre/CardDAV/SogoStripContentTypeTest.php +++ b/vendor/sabre/dav/tests/Sabre/CardDAV/SogoStripContentTypeTest.php @@ -5,44 +5,44 @@ namespace Sabre\CardDAV; use Sabre\HTTP; use Sabre\DAV\PropFind; -class SogoStripContentType extends \Sabre\DAVServerTest { +class SogoStripContentTypeTest extends \Sabre\DAVServerTest { protected $setupCardDAV = true; - protected $carddavAddressBooks = array( - array( - 'id' => 1, - 'uri' => 'book1', + protected $carddavAddressBooks = [ + [ + 'id' => 1, + 'uri' => 'book1', 'principaluri' => 'principals/user1', - ), - ); - protected $carddavCards = array( - 1 => array( + ], + ]; + protected $carddavCards = [ + 1 => [ 'card1.vcf' => "BEGIN:VCARD\nVERSION:3.0\nUID:12345\nEND:VCARD", - ), - ); + ], + ]; function testDontStrip() { - $result = $this->server->getProperties('addressbooks/user1/book1/card1.vcf',array('{DAV:}getcontenttype')); - $this->assertEquals(array( + $result = $this->server->getProperties('addressbooks/user1/book1/card1.vcf', ['{DAV:}getcontenttype']); + $this->assertEquals([ '{DAV:}getcontenttype' => 'text/vcard; charset=utf-8' - ), $result); + ], $result); } function testStrip() { - $this->server->httpRequest = HTTP\Sapi::createFromServerArray(array( + $this->server->httpRequest = HTTP\Sapi::createFromServerArray([ 'HTTP_USER_AGENT' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2 Lightning/1.2.1', - )); - $result = $this->server->getProperties('addressbooks/user1/book1/card1.vcf',array('{DAV:}getcontenttype')); - $this->assertEquals(array( + ]); + $result = $this->server->getProperties('addressbooks/user1/book1/card1.vcf', ['{DAV:}getcontenttype']); + $this->assertEquals([ '{DAV:}getcontenttype' => 'text/x-vcard' - ), $result); + ], $result); } function testDontTouchOtherMimeTypes() { - $this->server->httpRequest = new HTTP\Request('GET','/addressbooks/user1/book1/card1.vcf', [ + $this->server->httpRequest = new HTTP\Request('GET', '/addressbooks/user1/book1/card1.vcf', [ 'User-Agent' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2 Lightning/1.2.1', ]); diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/TestUtil.php b/vendor/sabre/dav/tests/Sabre/CardDAV/TestUtil.php index c9cc10d35..ec8a3501e 100644 --- a/vendor/sabre/dav/tests/Sabre/CardDAV/TestUtil.php +++ b/vendor/sabre/dav/tests/Sabre/CardDAV/TestUtil.php @@ -2,8 +2,6 @@ namespace Sabre\CardDAV; -use PDO; - class TestUtil { static function getBackend() { @@ -22,18 +20,18 @@ class TestUtil { $addressbookId = $backend->createAddressBook( 'principals/user1', 'UUID-123467', - array( - '{DAV:}displayname' => 'user1 addressbook', + [ + '{DAV:}displayname' => 'user1 addressbook', '{urn:ietf:params:xml:ns:carddav}addressbook-description' => 'AddressBook description', - ) + ] ); $backend->createAddressBook( 'principals/user1', 'UUID-123468', - array( - '{DAV:}displayname' => 'user1 addressbook2', + [ + '{DAV:}displayname' => 'user1 addressbook2', '{urn:ietf:params:xml:ns:carddav}addressbook-description' => 'AddressBook description', - ) + ] ); $backend->createCard($addressbookId, 'UUID-2345', self::getTestCardData()); return $pdo; diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/VCFExportTest.php b/vendor/sabre/dav/tests/Sabre/CardDAV/VCFExportTest.php index 71fde719d..82d82fadd 100644 --- a/vendor/sabre/dav/tests/Sabre/CardDAV/VCFExportTest.php +++ b/vendor/sabre/dav/tests/Sabre/CardDAV/VCFExportTest.php @@ -10,21 +10,21 @@ class VCFExportTest extends \Sabre\DAVServerTest { protected $autoLogin = 'user1'; protected $setupACL = true; - protected $carddavAddressBooks = array( - array( - 'id' => 'book1', - 'uri' => 'book1', + protected $carddavAddressBooks = [ + [ + 'id' => 'book1', + 'uri' => 'book1', 'principaluri' => 'principals/user1', - ) - ); - protected $carddavCards = array( - 'book1' => array( + ] + ]; + protected $carddavCards = [ + 'book1' => [ "card1" => "BEGIN:VCARD\r\nFN:Person1\r\nEND:VCARD\r\n", "card2" => "BEGIN:VCARD\r\nFN:Person2\r\nEND:VCARD", "card3" => "BEGIN:VCARD\r\nFN:Person3\r\nEND:VCARD\r\n", "card4" => "BEGIN:VCARD\nFN:Person4\nEND:VCARD\n", - ) - ); + ] + ]; function setUp() { @@ -50,11 +50,11 @@ class VCFExportTest extends \Sabre\DAVServerTest { function testExport() { - $request = HTTP\Sapi::createFromServerArray(array( - 'REQUEST_URI' => '/addressbooks/user1/book1?export', - 'QUERY_STRING' => 'export', + $request = HTTP\Sapi::createFromServerArray([ + 'REQUEST_URI' => '/addressbooks/user1/book1?export', + 'QUERY_STRING' => 'export', 'REQUEST_METHOD' => 'GET', - )); + ]); $response = $this->request($request); $this->assertEquals(200, $response->status, $response->body); @@ -73,7 +73,7 @@ FN:Person4 END:VCARD "; // We actually expected windows line endings - $expected = str_replace("\n","\r\n", $expected); + $expected = str_replace("\n", "\r\n", $expected); $this->assertEquals($expected, $response->body); @@ -89,4 +89,47 @@ END:VCARD } + function testContentDisposition() { + + $request = new HTTP\Request( + 'GET', + '/addressbooks/user1/book1?export' + ); + + $response = $this->request($request, 200); + $this->assertEquals('text/directory', $response->getHeader('Content-Type')); + $this->assertEquals( + 'attachment; filename="book1-' . date('Y-m-d') . '.vcf"', + $response->getHeader('Content-Disposition') + ); + + } + + function testContentDispositionBadChars() { + + $this->carddavBackend->createAddressBook( + 'principals/user1', + 'book-b_ad"(ch)ars', + [] + ); + $this->carddavBackend->createCard( + 'book-b_ad"(ch)ars', + 'card1', + "BEGIN:VCARD\r\nFN:Person1\r\nEND:VCARD\r\n" + ); + + $request = new HTTP\Request( + 'GET', + '/addressbooks/user1/book-b_ad"(ch)ars?export' + ); + + $response = $this->request($request, 200); + $this->assertEquals('text/directory', $response->getHeader('Content-Type')); + $this->assertEquals( + 'attachment; filename="book-b_adchars-' . date('Y-m-d') . '.vcf"', + $response->getHeader('Content-Disposition') + ); + + } + } diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/ValidateFilterTest.php b/vendor/sabre/dav/tests/Sabre/CardDAV/ValidateFilterTest.php index c87716c10..57ac21b4a 100644 --- a/vendor/sabre/dav/tests/Sabre/CardDAV/ValidateFilterTest.php +++ b/vendor/sabre/dav/tests/Sabre/CardDAV/ValidateFilterTest.php @@ -48,35 +48,35 @@ HELLO; // Check if TITLE is defined $filter1 = - array('name' => 'title', 'is-not-defined' => false, 'param-filters' => array(), 'text-matches' => array()); + ['name' => 'title', 'is-not-defined' => false, 'param-filters' => [], 'text-matches' => []]; // Check if FOO is defined $filter2 = - array('name' => 'foo', 'is-not-defined' => false, 'param-filters' => array(), 'text-matches' => array()); + ['name' => 'foo', 'is-not-defined' => false, 'param-filters' => [], 'text-matches' => []]; // Check if TITLE is not defined $filter3 = - array('name' => 'title', 'is-not-defined' => true, 'param-filters' => array(), 'text-matches' => array()); + ['name' => 'title', 'is-not-defined' => true, 'param-filters' => [], 'text-matches' => []]; // Check if FOO is not defined $filter4 = - array('name' => 'foo', 'is-not-defined' => true, 'param-filters' => array(), 'text-matches' => array()); + ['name' => 'foo', 'is-not-defined' => true, 'param-filters' => [], 'text-matches' => []]; // Check if TEL[TYPE] is defined $filter5 = - array( - 'name' => 'tel', + [ + 'name' => 'tel', 'is-not-defined' => false, - 'test' => 'anyof', - 'param-filters' => array( - array( - 'name' => 'type', + 'test' => 'anyof', + 'param-filters' => [ + [ + 'name' => 'type', 'is-not-defined' => false, - 'text-match' => null - ), - ), - 'text-matches' => array(), - ); + 'text-match' => null + ], + ], + 'text-matches' => [], + ]; // Check if TEL[FOO] is defined $filter6 = $filter5; @@ -101,20 +101,20 @@ HELLO; // Check if URL contains 'google' $filter11 = - array( - 'name' => 'url', + [ + 'name' => 'url', 'is-not-defined' => false, - 'test' => 'anyof', - 'param-filters' => array(), - 'text-matches' => array( - array( - 'match-type' => 'contains', - 'value' => 'google', + 'test' => 'anyof', + 'param-filters' => [], + 'text-matches' => [ + [ + 'match-type' => 'contains', + 'value' => 'google', 'negate-condition' => false, - 'collation' => 'i;octet', - ), - ), - ); + 'collation' => 'i;octet', + ], + ], + ]; // Check if URL contains 'bing' $filter12 = $filter11; @@ -131,12 +131,12 @@ HELLO; // Param filter with text $filter15 = $filter5; - $filter15['param-filters'][0]['text-match'] = array( - 'match-type' => 'contains', - 'value' => 'WORK', - 'collation' => 'i;octet', + $filter15['param-filters'][0]['text-match'] = [ + 'match-type' => 'contains', + 'value' => 'WORK', + 'collation' => 'i;octet', 'negate-condition' => false, - ); + ]; $filter16 = $filter15; $filter16['param-filters'][0]['text-match']['negate-condition'] = true; @@ -144,60 +144,60 @@ HELLO; // Param filter + text filter $filter17 = $filter5; $filter17['test'] = 'anyof'; - $filter17['text-matches'][] = array( - 'match-type' => 'contains', - 'value' => '444', - 'collation' => 'i;octet', + $filter17['text-matches'][] = [ + 'match-type' => 'contains', + 'value' => '444', + 'collation' => 'i;octet', 'negate-condition' => false, - ); + ]; $filter18 = $filter17; $filter18['text-matches'][0]['negate-condition'] = true; $filter18['test'] = 'allof'; - return array( + return [ // Basic filters - array($body1, array($filter1), 'anyof',true), - array($body1, array($filter2), 'anyof',false), - array($body1, array($filter3), 'anyof',false), - array($body1, array($filter4), 'anyof',true), + [$body1, [$filter1], 'anyof',true], + [$body1, [$filter2], 'anyof',false], + [$body1, [$filter3], 'anyof',false], + [$body1, [$filter4], 'anyof',true], // Combinations - array($body1, array($filter1, $filter2), 'anyof',true), - array($body1, array($filter1, $filter2), 'allof',false), - array($body1, array($filter1, $filter4), 'anyof',true), - array($body1, array($filter1, $filter4), 'allof',true), - array($body1, array($filter2, $filter3), 'anyof',false), - array($body1, array($filter2, $filter3), 'allof',false), + [$body1, [$filter1, $filter2], 'anyof',true], + [$body1, [$filter1, $filter2], 'allof',false], + [$body1, [$filter1, $filter4], 'anyof',true], + [$body1, [$filter1, $filter4], 'allof',true], + [$body1, [$filter2, $filter3], 'anyof',false], + [$body1, [$filter2, $filter3], 'allof',false], // Basic parameters - array($body1, array($filter5), 'anyof', true, 'TEL;TYPE is defined, so this should return true'), - array($body1, array($filter6), 'anyof', false, 'TEL;FOO is not defined, so this should return false'), + [$body1, [$filter5], 'anyof', true, 'TEL;TYPE is defined, so this should return true'], + [$body1, [$filter6], 'anyof', false, 'TEL;FOO is not defined, so this should return false'], - array($body1, array($filter7), 'anyof', false, 'TEL;TYPE is defined, so this should return false'), - array($body1, array($filter8), 'anyof', true, 'TEL;TYPE is not defined, so this should return true'), + [$body1, [$filter7], 'anyof', false, 'TEL;TYPE is defined, so this should return false'], + [$body1, [$filter8], 'anyof', true, 'TEL;TYPE is not defined, so this should return true'], // Combined parameters - array($body1, array($filter9), 'anyof', true), - array($body1, array($filter10), 'anyof', false), + [$body1, [$filter9], 'anyof', true], + [$body1, [$filter10], 'anyof', false], // Text-filters - array($body1, array($filter11), 'anyof', true), - array($body1, array($filter12), 'anyof', false), - array($body1, array($filter13), 'anyof', false), - array($body1, array($filter14), 'anyof', true), + [$body1, [$filter11], 'anyof', true], + [$body1, [$filter12], 'anyof', false], + [$body1, [$filter13], 'anyof', false], + [$body1, [$filter14], 'anyof', true], // Param filter with text-match - array($body1, array($filter15), 'anyof', true), - array($body1, array($filter16), 'anyof', false), + [$body1, [$filter15], 'anyof', true], + [$body1, [$filter16], 'anyof', false], // Param filter + text filter - array($body1, array($filter17), 'anyof', true), - array($body1, array($filter18), 'anyof', false), - array($body1, array($filter18), 'anyof', false), - ); + [$body1, [$filter17], 'anyof', true], + [$body1, [$filter18], 'anyof', false], + [$body1, [$filter18], 'anyof', false], + ]; } diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/ValidateVCardTest.php b/vendor/sabre/dav/tests/Sabre/CardDAV/ValidateVCardTest.php index ad8495c13..dda8a0c37 100644 --- a/vendor/sabre/dav/tests/Sabre/CardDAV/ValidateVCardTest.php +++ b/vendor/sabre/dav/tests/Sabre/CardDAV/ValidateVCardTest.php @@ -15,20 +15,20 @@ class ValidateVCardTest extends \PHPUnit_Framework_TestCase { function setUp() { - $addressbooks = array( - array( - 'id' => 'addressbook1', + $addressbooks = [ + [ + 'id' => 'addressbook1', 'principaluri' => 'principals/admin', - 'uri' => 'addressbook1', - ) - ); + 'uri' => 'addressbook1', + ] + ]; - $this->cardBackend = new Backend\Mock($addressbooks,array()); + $this->cardBackend = new Backend\Mock($addressbooks, []); $principalBackend = new DAVACL\PrincipalBackend\Mock(); - $tree = array( + $tree = [ new AddressBookRoot($principalBackend, $this->cardBackend), - ); + ]; $this->server = new DAV\Server($tree); $this->server->sapi = new HTTP\SapiMock(); @@ -42,21 +42,36 @@ class ValidateVCardTest extends \PHPUnit_Framework_TestCase { } - function request(HTTP\Request $request) { + function request(HTTP\Request $request, $expectedStatus = null) { $this->server->httpRequest = $request; $this->server->exec(); + if ($expectedStatus) { + + $realStatus = $this->server->httpResponse->getStatus(); + + $msg = ''; + if ($realStatus !== $expectedStatus) { + $msg = 'Response body: ' . $this->server->httpResponse->getBodyAsString(); + } + $this->assertEquals( + $expectedStatus, + $realStatus, + $msg + ); + } + return $this->server->httpResponse; } function testCreateFile() { - $request = HTTP\Sapi::createFromServerArray(array( + $request = HTTP\Sapi::createFromServerArray([ 'REQUEST_METHOD' => 'PUT', - 'REQUEST_URI' => '/addressbooks/admin/addressbook1/blabla.vcf', - )); + 'REQUEST_URI' => '/addressbooks/admin/addressbook1/blabla.vcf', + ]); $response = $this->request($request); @@ -66,38 +81,159 @@ class ValidateVCardTest extends \PHPUnit_Framework_TestCase { function testCreateFileValid() { - $request = HTTP\Sapi::createFromServerArray(array( - 'REQUEST_METHOD' => 'PUT', - 'REQUEST_URI' => '/addressbooks/admin/addressbook1/blabla.vcf', - )); - $request->setBody("BEGIN:VCARD\r\nUID:foo\r\nEND:VCARD\r\n"); - - $response = $this->request($request); + $request = new HTTP\Request( + 'PUT', + '/addressbooks/admin/addressbook1/blabla.vcf' + ); - $this->assertEquals(201, $response->status, 'Incorrect status returned! Full response body: ' . $response->body); - $expected = array( - 'uri' => 'blabla.vcf', - 'carddata' => "BEGIN:VCARD\r\nUID:foo\r\nEND:VCARD\r\n", + $vcard = <<setBody($vcard); + + $response = $this->request($request, 201); + + // The custom Ew header should not be set + $this->assertNull( + $response->getHeader('X-Sabre-Ew-Gross') + ); + // Valid, non-auto-fixed responses should contain an ETag. + $this->assertTrue( + $response->getHeader('ETag') !== null, + 'We did not receive an etag' ); - $this->assertEquals($expected, $this->cardBackend->getCard('addressbook1','blabla.vcf')); + + $expected = [ + 'uri' => 'blabla.vcf', + 'carddata' => $vcard, + 'size' => strlen($vcard), + 'etag' => '"' . md5($vcard) . '"', + ]; + + $this->assertEquals($expected, $this->cardBackend->getCard('addressbook1', 'blabla.vcf')); } - function testCreateFileNoUID() { + /** + * This test creates an intentionally broken vCard that vobject is able + * to automatically repair. + * + * @depends testCreateFileValid + */ + function testCreateVCardAutoFix() { $request = new HTTP\Request( 'PUT', '/addressbooks/admin/addressbook1/blabla.vcf' ); - $request->setBody("BEGIN:VCARD\r\nEND:VCARD\r\n"); - $response = $this->request($request); + // The error in this vcard is that there's not enough semi-colons in N + $vcard = <<assertEquals(201, $response->status, 'Incorrect status returned! Full response body: ' . $response->body); + $request->setBody($vcard); + + $response = $this->request($request, 201); + + // Auto-fixed vcards should NOT return an etag + $this->assertNull( + $response->getHeader('ETag') + ); + + // We should have gotten an Ew header + $this->assertNotNull( + $response->getHeader('X-Sabre-Ew-Gross') + ); + + $expectedVCard = << 'blabla.vcf', + 'carddata' => $expectedVCard, + 'size' => strlen($expectedVCard), + 'etag' => '"' . md5($expectedVCard) . '"', + ]; + + $this->assertEquals($expected, $this->cardBackend->getCard('addressbook1', 'blabla.vcf')); - $foo = $this->cardBackend->getCard('addressbook1','blabla.vcf'); - $this->assertTrue(strpos($foo['carddata'],'UID')!==false); + } + + /** + * This test creates an intentionally broken vCard that vobject is able + * to automatically repair. + * + * However, we're supplying a heading asking the server to treat the + * request as strict, so the server should still let the request fail. + * + * @depends testCreateFileValid + */ + function testCreateVCardStrictFail() { + + $request = new HTTP\Request( + 'PUT', + '/addressbooks/admin/addressbook1/blabla.vcf', + [ + 'Prefer' => 'handling=strict', + ] + ); + + // The error in this vcard is that there's not enough semi-colons in N + $vcard = <<setBody($vcard); + $this->request($request, 415); + + } + + function testCreateFileNoUID() { + + $request = new HTTP\Request( + 'PUT', + '/addressbooks/admin/addressbook1/blabla.vcf' + ); + $vcard = <<setBody($vcard); + + $response = $this->request($request, 201); + + $foo = $this->cardBackend->getCard('addressbook1', 'blabla.vcf'); + $this->assertTrue( + strpos($foo['carddata'], 'UID') !== false, + print_r($foo, true) + ); } function testCreateFileJson() { @@ -106,23 +242,23 @@ class ValidateVCardTest extends \PHPUnit_Framework_TestCase { 'PUT', '/addressbooks/admin/addressbook1/blabla.vcf' ); - $request->setBody('[ "vcard" , [ [ "UID" , {}, "text", "foo" ] ] ]'); + $request->setBody('[ "vcard" , [ [ "VERSION", {}, "text", "4.0"], [ "UID" , {}, "text", "foo" ], [ "FN", {}, "text", "FirstName LastName"] ] ]'); $response = $this->request($request); $this->assertEquals(201, $response->status, 'Incorrect status returned! Full response body: ' . $response->body); - $foo = $this->cardBackend->getCard('addressbook1','blabla.vcf'); - $this->assertEquals("BEGIN:VCARD\r\nUID:foo\r\nEND:VCARD\r\n", $foo['carddata']); + $foo = $this->cardBackend->getCard('addressbook1', 'blabla.vcf'); + $this->assertEquals("BEGIN:VCARD\r\nVERSION:4.0\r\nUID:foo\r\nFN:FirstName LastName\r\nEND:VCARD\r\n", $foo['carddata']); } function testCreateFileVCalendar() { - $request = HTTP\Sapi::createFromServerArray(array( + $request = HTTP\Sapi::createFromServerArray([ 'REQUEST_METHOD' => 'PUT', - 'REQUEST_URI' => '/addressbooks/admin/addressbook1/blabla.vcf', - )); + 'REQUEST_URI' => '/addressbooks/admin/addressbook1/blabla.vcf', + ]); $request->setBody("BEGIN:VCALENDAR\r\nEND:VCALENDAR\r\n"); $response = $this->request($request); @@ -133,40 +269,37 @@ class ValidateVCardTest extends \PHPUnit_Framework_TestCase { function testUpdateFile() { - $this->cardBackend->createCard('addressbook1','blabla.vcf','foo'); - $request = HTTP\Sapi::createFromServerArray(array( - 'REQUEST_METHOD' => 'PUT', - 'REQUEST_URI' => '/addressbooks/admin/addressbook1/blabla.vcf', - )); - - $response = $this->request($request); + $this->cardBackend->createCard('addressbook1', 'blabla.vcf', 'foo'); + $request = new HTTP\Request( + 'PUT', + '/addressbooks/admin/addressbook1/blabla.vcf' + ); - $this->assertEquals(415, $response->status); + $response = $this->request($request, 415); } function testUpdateFileParsableBody() { - $this->cardBackend->createCard('addressbook1','blabla.vcf','foo'); - $request = HTTP\Sapi::createFromServerArray(array( - 'REQUEST_METHOD' => 'PUT', - 'REQUEST_URI' => '/addressbooks/admin/addressbook1/blabla.vcf', - )); - $body = "BEGIN:VCARD\r\nUID:foo\r\nEND:VCARD\r\n"; - $request->setBody($body); + $this->cardBackend->createCard('addressbook1', 'blabla.vcf', 'foo'); + $request = new HTTP\Request( + 'PUT', + '/addressbooks/admin/addressbook1/blabla.vcf' + ); - $response = $this->request($request); + $body = "BEGIN:VCARD\r\nVERSION:4.0\r\nUID:foo\r\nFN:FirstName LastName\r\nEND:VCARD\r\n"; + $request->setBody($body); - $this->assertEquals(204, $response->status); + $response = $this->request($request, 204); - $expected = array( + $expected = [ 'uri' => 'blabla.vcf', - 'carddata' => $body, - ); + 'carddata' => $body, + 'size' => strlen($body), + 'etag' => '"' . md5($body) . '"', + ]; - $this->assertEquals($expected, $this->cardBackend->getCard('addressbook1','blabla.vcf')); + $this->assertEquals($expected, $this->cardBackend->getCard('addressbook1', 'blabla.vcf')); } } - -?> diff --git a/vendor/sabre/dav/tests/Sabre/DAV/AbstractServer.php b/vendor/sabre/dav/tests/Sabre/DAV/AbstractServer.php index b5b8d64ee..6a8d389a0 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/AbstractServer.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/AbstractServer.php @@ -24,7 +24,7 @@ abstract class AbstractServer extends \PHPUnit_Framework_TestCase { $this->server->sapi = new HTTP\SapiMock(); $this->server->httpResponse = $this->response; $this->server->debugExceptions = true; - $this->deleteTree(SABRE_TEMPDIR,false); + $this->deleteTree(SABRE_TEMPDIR, false); file_put_contents(SABRE_TEMPDIR . '/test.txt', 'Test contents'); mkdir(SABRE_TEMPDIR . '/dir'); file_put_contents(SABRE_TEMPDIR . '/dir/child.txt', 'Child contents'); @@ -34,7 +34,7 @@ abstract class AbstractServer extends \PHPUnit_Framework_TestCase { function tearDown() { - $this->deleteTree(SABRE_TEMPDIR,false); + $this->deleteTree(SABRE_TEMPDIR, false); } @@ -44,12 +44,12 @@ abstract class AbstractServer extends \PHPUnit_Framework_TestCase { } - private function deleteTree($path,$deleteRoot = true) { + private function deleteTree($path, $deleteRoot = true) { - foreach(scandir($path) as $node) { + foreach (scandir($path) as $node) { - if ($node=='.' || $node=='.svn' || $node=='..') continue; - $myPath = $path.'/'. $node; + if ($node == '.' || $node == '.svn' || $node == '..') continue; + $myPath = $path . '/' . $node; if (is_file($myPath)) { unlink($myPath); } else { diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/AbstractBasicTest.php b/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/AbstractBasicTest.php index 7d7a59898..455403aff 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/AbstractBasicTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/AbstractBasicTest.php @@ -2,7 +2,6 @@ namespace Sabre\DAV\Auth\Backend; -use Sabre\DAV; use Sabre\HTTP; class AbstractBasicTest extends \PHPUnit_Framework_TestCase { @@ -22,10 +21,10 @@ class AbstractBasicTest extends \PHPUnit_Framework_TestCase { function testCheckUnknownUser() { - $request = HTTP\Sapi::createFromServerArray(array( + $request = HTTP\Sapi::createFromServerArray([ 'PHP_AUTH_USER' => 'username', - 'PHP_AUTH_PW' => 'wrongpassword', - )); + 'PHP_AUTH_PW' => 'wrongpassword', + ]); $response = new HTTP\Response(); $backend = new AbstractBasicMock(); @@ -38,10 +37,10 @@ class AbstractBasicTest extends \PHPUnit_Framework_TestCase { function testCheckSuccess() { - $request = HTTP\Sapi::createFromServerArray(array( + $request = HTTP\Sapi::createFromServerArray([ 'PHP_AUTH_USER' => 'username', - 'PHP_AUTH_PW' => 'password', - )); + 'PHP_AUTH_PW' => 'password', + ]); $response = new HTTP\Response(); $backend = new AbstractBasicMock(); diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/AbstractDigestTest.php b/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/AbstractDigestTest.php index 8ef416c37..14c72aaa0 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/AbstractDigestTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/AbstractDigestTest.php @@ -2,7 +2,6 @@ namespace Sabre\DAV\Auth\Backend; -use Sabre\DAV; use Sabre\HTTP; class AbstractDigestTest extends \PHPUnit_Framework_TestCase { @@ -87,12 +86,12 @@ class AbstractDigestTest extends \PHPUnit_Framework_TestCase { function testCheck() { $digestHash = md5('HELLO:12345:1:1:auth:' . md5('GET:/')); - $header = 'username=user, realm=myRealm, nonce=12345, uri=/, response='.$digestHash.', opaque=1, qop=auth, nc=1, cnonce=1'; - $request = HTTP\Sapi::createFromServerArray(array( + $header = 'username=user, realm=myRealm, nonce=12345, uri=/, response=' . $digestHash . ', opaque=1, qop=auth, nc=1, cnonce=1'; + $request = HTTP\Sapi::createFromServerArray([ 'REQUEST_METHOD' => 'GET', 'PHP_AUTH_DIGEST' => $header, 'REQUEST_URI' => '/', - )); + ]); $response = new HTTP\Response(); @@ -127,10 +126,10 @@ class AbstractDigestMock extends AbstractDigest { function getDigestHash($realm, $userName) { - switch($userName) { + switch ($userName) { case 'null' : return null; case 'false' : return false; - case 'array' : return array(); + case 'array' : return []; case 'user' : return 'HELLO'; } diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/AbstractPDOTest.php b/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/AbstractPDOTest.php index d22923d51..b14e9fa2e 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/AbstractPDOTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/AbstractPDOTest.php @@ -2,11 +2,21 @@ namespace Sabre\DAV\Auth\Backend; -use Sabre\DAV; - abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { - abstract function getPDO(); + use \Sabre\DAV\DbTestHelperTrait; + + function setUp() { + + $this->dropTables('users'); + $this->createSchema('users'); + + $this->getPDO()->query( + "INSERT INTO users (username,digesta1) VALUES ('user','hash')" + + ); + + } function testConstruct() { @@ -24,11 +34,11 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { $pdo = $this->getPDO(); $backend = new PDO($pdo); - $this->assertNull($backend->getDigestHash('realm','blabla')); + $this->assertNull($backend->getDigestHash('realm', 'blabla')); $expected = 'hash'; - $this->assertEquals($expected, $backend->getDigestHash('realm','user')); + $this->assertEquals($expected, $backend->getDigestHash('realm', 'user')); } diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/ApacheTest.php b/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/ApacheTest.php index 697b593db..29cbc2162 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/ApacheTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/ApacheTest.php @@ -2,7 +2,6 @@ namespace Sabre\DAV\Auth\Backend; -use Sabre\DAV; use Sabre\HTTP; class ApacheTest extends \PHPUnit_Framework_TestCase { diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/FileTest.php b/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/FileTest.php index d2e5fe49b..9b66d642f 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/FileTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/FileTest.php @@ -6,7 +6,7 @@ class FileTest extends \PHPUnit_Framework_TestCase { function tearDown() { - if (file_exists(SABRE_TEMPDIR . '/filebackend')) unlink(SABRE_TEMPDIR .'/filebackend'); + if (file_exists(SABRE_TEMPDIR . '/filebackend')) unlink(SABRE_TEMPDIR . '/filebackend'); } @@ -22,20 +22,20 @@ class FileTest extends \PHPUnit_Framework_TestCase { */ function testLoadFileBroken() { - file_put_contents(SABRE_TEMPDIR . '/backend','user:realm:hash'); + file_put_contents(SABRE_TEMPDIR . '/backend', 'user:realm:hash'); $file = new File(); - $file->loadFile(SABRE_TEMPDIR .'/backend'); + $file->loadFile(SABRE_TEMPDIR . '/backend'); } function testLoadFile() { - file_put_contents(SABRE_TEMPDIR . '/backend','user:realm:' . md5('user:realm:password')); + file_put_contents(SABRE_TEMPDIR . '/backend', 'user:realm:' . md5('user:realm:password')); $file = new File(); $file->loadFile(SABRE_TEMPDIR . '/backend'); - $this->assertFalse($file->getDigestHash('realm','blabla')); - $this->assertEquals(md5('user:realm:password'), $file->getDigestHash('realm','user')); + $this->assertFalse($file->getDigestHash('realm', 'blabla')); + $this->assertEquals(md5('user:realm:password'), $file->getDigestHash('realm', 'user')); } diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/Mock.php b/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/Mock.php index a782cb74d..b30b3f143 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/Mock.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/Mock.php @@ -2,10 +2,8 @@ namespace Sabre\DAV\Auth\Backend; -use - Sabre\DAV, - Sabre\HTTP\RequestInterface, - Sabre\HTTP\ResponseInterface; +use Sabre\HTTP\RequestInterface; +use Sabre\HTTP\ResponseInterface; class Mock implements BackendInterface { diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/PDOMySQLTest.php b/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/PDOMySQLTest.php index 8de2be667..18f59793a 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/PDOMySQLTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/PDOMySQLTest.php @@ -2,32 +2,8 @@ namespace Sabre\DAV\Auth\Backend; -require_once 'Sabre/TestUtil.php'; - class PDOMySQLTest extends 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 users"); - $pdo->query(<<query("INSERT INTO users (username,digesta1,email,displayname) VALUES ('user','hash','user@example.org','User')"); - - return $pdo; - - } + public $driver = 'mysql'; } diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/PDOSqliteTest.php b/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/PDOSqliteTest.php index abfb031bb..b1f382237 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/PDOSqliteTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/PDOSqliteTest.php @@ -2,27 +2,8 @@ namespace Sabre\DAV\Auth\Backend; -require_once 'Sabre/DAV/Auth/Backend/AbstractPDOTest.php'; +class PDOSqliteTest extends AbstractPDOTest { -class PDOSQLiteTest extends AbstractPDOTest { - - function tearDown() { - - if (file_exists(SABRE_TEMPDIR . '/pdobackend')) unlink(SABRE_TEMPDIR . '/pdobackend'); - if (file_exists(SABRE_TEMPDIR . '/pdobackend2')) unlink(SABRE_TEMPDIR . '/pdobackend2'); - - } - - function getPDO() { - - if (!SABRE_HASSQLITE) $this->markTestSkipped('SQLite driver is not available'); - $pdo = new \PDO('sqlite:'.SABRE_TEMPDIR.'/pdobackend'); - $pdo->setAttribute(\PDO::ATTR_ERRMODE,\PDO::ERRMODE_EXCEPTION); - $pdo->query('CREATE TABLE users (username TEXT, digesta1 TEXT, email VARCHAR(80), displayname VARCHAR(80))'); - $pdo->query('INSERT INTO users VALUES ("user","hash","user@example.org","User")'); - - return $pdo; - - } + public $driver = 'sqlite'; } diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Auth/PluginTest.php b/vendor/sabre/dav/tests/Sabre/DAV/Auth/PluginTest.php index 0ac9e0613..3ed79a7da 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/Auth/PluginTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/Auth/PluginTest.php @@ -5,13 +5,11 @@ namespace Sabre\DAV\Auth; use Sabre\HTTP; use Sabre\DAV; -require_once 'Sabre/HTTP/ResponseMock.php'; - class PluginTest extends \PHPUnit_Framework_TestCase { function testInit() { - $fakeServer = new DAV\Server( new DAV\SimpleCollection('bla')); + $fakeServer = new DAV\Server(new DAV\SimpleCollection('bla')); $plugin = new Plugin(new Backend\Mock()); $this->assertTrue($plugin instanceof Plugin); $fakeServer->addPlugin($plugin); @@ -25,7 +23,7 @@ class PluginTest extends \PHPUnit_Framework_TestCase { */ function testAuthenticate() { - $fakeServer = new DAV\Server( new DAV\SimpleCollection('bla')); + $fakeServer = new DAV\Server(new DAV\SimpleCollection('bla')); $plugin = new Plugin(new Backend\Mock()); $fakeServer->addPlugin($plugin); $this->assertTrue( @@ -40,7 +38,7 @@ class PluginTest extends \PHPUnit_Framework_TestCase { */ function testAuthenticateFail() { - $fakeServer = new DAV\Server( new DAV\SimpleCollection('bla')); + $fakeServer = new DAV\Server(new DAV\SimpleCollection('bla')); $backend = new Backend\Mock(); $backend->fail = true; @@ -55,7 +53,7 @@ class PluginTest extends \PHPUnit_Framework_TestCase { */ function testMultipleBackend() { - $fakeServer = new DAV\Server( new DAV\SimpleCollection('bla')); + $fakeServer = new DAV\Server(new DAV\SimpleCollection('bla')); $backend1 = new Backend\Mock(); $backend2 = new Backend\Mock(); $backend2->fail = true; @@ -77,7 +75,7 @@ class PluginTest extends \PHPUnit_Framework_TestCase { */ function testNoAuthBackend() { - $fakeServer = new DAV\Server( new DAV\SimpleCollection('bla')); + $fakeServer = new DAV\Server(new DAV\SimpleCollection('bla')); $plugin = new Plugin(); $fakeServer->addPlugin($plugin); @@ -90,7 +88,7 @@ class PluginTest extends \PHPUnit_Framework_TestCase { */ function testInvalidCheckResponse() { - $fakeServer = new DAV\Server( new DAV\SimpleCollection('bla')); + $fakeServer = new DAV\Server(new DAV\SimpleCollection('bla')); $backend = new Backend\Mock(); $backend->invalidCheckResponse = true; @@ -105,7 +103,7 @@ class PluginTest extends \PHPUnit_Framework_TestCase { */ function testGetCurrentPrincipal() { - $fakeServer = new DAV\Server( new DAV\SimpleCollection('bla')); + $fakeServer = new DAV\Server(new DAV\SimpleCollection('bla')); $plugin = new Plugin(new Backend\Mock()); $fakeServer->addPlugin($plugin); $fakeServer->emit('beforeMethod', [new HTTP\Request(), new HTTP\Response()]); @@ -113,18 +111,4 @@ class PluginTest extends \PHPUnit_Framework_TestCase { } - /** - * @depends testAuthenticate - */ - function testGetCurrentUser() { - - $fakeServer = new DAV\Server( new DAV\SimpleCollection('bla')); - $plugin = new Plugin(new Backend\Mock()); - $fakeServer->addPlugin($plugin); - $fakeServer->emit('beforeMethod', [new HTTP\Request(), new HTTP\Response()]); - $this->assertEquals('admin', $plugin->getCurrentUser()); - - } - } - diff --git a/vendor/sabre/dav/tests/Sabre/DAV/BasicNodeTest.php b/vendor/sabre/dav/tests/Sabre/DAV/BasicNodeTest.php index 155c785f8..ec104ec80 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/BasicNodeTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/BasicNodeTest.php @@ -7,7 +7,7 @@ class BasicNodeTest extends \PHPUnit_Framework_TestCase { /** * @expectedException Sabre\DAV\Exception\Forbidden */ - public function testPut() { + function testPut() { $file = new FileMock(); $file->put('hi'); @@ -17,29 +17,29 @@ class BasicNodeTest extends \PHPUnit_Framework_TestCase { /** * @expectedException Sabre\DAV\Exception\Forbidden */ - public function testGet() { + function testGet() { $file = new FileMock(); $file->get(); } - public function testGetSize() { + function testGetSize() { $file = new FileMock(); - $this->assertEquals(0,$file->getSize()); + $this->assertEquals(0, $file->getSize()); } - public function testGetETag() { + function testGetETag() { $file = new FileMock(); $this->assertNull($file->getETag()); } - public function testGetContentType() { + function testGetContentType() { $file = new FileMock(); $this->assertNull($file->getContentType()); @@ -49,7 +49,7 @@ class BasicNodeTest extends \PHPUnit_Framework_TestCase { /** * @expectedException Sabre\DAV\Exception\Forbidden */ - public function testDelete() { + function testDelete() { $file = new FileMock(); $file->delete(); @@ -59,24 +59,24 @@ class BasicNodeTest extends \PHPUnit_Framework_TestCase { /** * @expectedException Sabre\DAV\Exception\Forbidden */ - public function testSetName() { + function testSetName() { $file = new FileMock(); $file->setName('hi'); } - public function testGetLastModified() { + function testGetLastModified() { $file = new FileMock(); // checking if lastmod is within the range of a few seconds $lastMod = $file->getLastModified(); - $compareTime = ($lastMod + 1)-time(); + $compareTime = ($lastMod + 1) - time(); $this->assertTrue($compareTime < 3); } - public function testGetChild() { + function testGetChild() { $dir = new DirectoryMock(); $file = $dir->getChild('mockfile'); @@ -84,14 +84,14 @@ class BasicNodeTest extends \PHPUnit_Framework_TestCase { } - public function testChildExists() { + function testChildExists() { $dir = new DirectoryMock(); $this->assertTrue($dir->childExists('mockfile')); } - public function testChildExistsFalse() { + function testChildExistsFalse() { $dir = new DirectoryMock(); $this->assertFalse($dir->childExists('mockfile2')); @@ -101,7 +101,7 @@ class BasicNodeTest extends \PHPUnit_Framework_TestCase { /** * @expectedException Sabre\DAV\Exception\NotFound */ - public function testGetChild404() { + function testGetChild404() { $dir = new DirectoryMock(); $file = $dir->getChild('blabla'); @@ -111,26 +111,26 @@ class BasicNodeTest extends \PHPUnit_Framework_TestCase { /** * @expectedException Sabre\DAV\Exception\Forbidden */ - public function testCreateFile() { + function testCreateFile() { $dir = new DirectoryMock(); - $dir->createFile('hello','data'); + $dir->createFile('hello', 'data'); } /** * @expectedException Sabre\DAV\Exception\Forbidden */ - public function testCreateDirectory() { + function testCreateDirectory() { $dir = new DirectoryMock(); $dir->createDirectory('hello'); } - public function testSimpleDirectoryConstruct() { + function testSimpleDirectoryConstruct() { - $dir = new SimpleCollection('simpledir',array()); + $dir = new SimpleCollection('simpledir', []); $this->assertInstanceOf('Sabre\DAV\SimpleCollection', $dir); } @@ -138,13 +138,13 @@ class BasicNodeTest extends \PHPUnit_Framework_TestCase { /** * @depends testSimpleDirectoryConstruct */ - public function testSimpleDirectoryConstructChild() { + function testSimpleDirectoryConstructChild() { $file = new FileMock(); - $dir = new SimpleCollection('simpledir',array($file)); + $dir = new SimpleCollection('simpledir', [$file]); $file2 = $dir->getChild('mockfile'); - $this->assertEquals($file,$file2); + $this->assertEquals($file, $file2); } @@ -152,23 +152,23 @@ class BasicNodeTest extends \PHPUnit_Framework_TestCase { * @expectedException Sabre\DAV\Exception * @depends testSimpleDirectoryConstruct */ - public function testSimpleDirectoryBadParam() { + function testSimpleDirectoryBadParam() { - $dir = new SimpleCollection('simpledir',array('string shouldn\'t be here')); + $dir = new SimpleCollection('simpledir', ['string shouldn\'t be here']); } /** * @depends testSimpleDirectoryConstruct */ - public function testSimpleDirectoryAddChild() { + function testSimpleDirectoryAddChild() { $file = new FileMock(); $dir = new SimpleCollection('simpledir'); $dir->addChild($file); $file2 = $dir->getChild('mockfile'); - $this->assertEquals($file,$file2); + $this->assertEquals($file, $file2); } @@ -176,23 +176,23 @@ class BasicNodeTest extends \PHPUnit_Framework_TestCase { * @depends testSimpleDirectoryConstruct * @depends testSimpleDirectoryAddChild */ - public function testSimpleDirectoryGetChildren() { + function testSimpleDirectoryGetChildren() { $file = new FileMock(); $dir = new SimpleCollection('simpledir'); $dir->addChild($file); - $this->assertEquals(array($file),$dir->getChildren()); + $this->assertEquals([$file], $dir->getChildren()); } /* * @depends testSimpleDirectoryConstruct */ - public function testSimpleDirectoryGetName() { + function testSimpleDirectoryGetName() { $dir = new SimpleCollection('simpledir'); - $this->assertEquals('simpledir',$dir->getName()); + $this->assertEquals('simpledir', $dir->getName()); } @@ -200,7 +200,7 @@ class BasicNodeTest extends \PHPUnit_Framework_TestCase { * @depends testSimpleDirectoryConstruct * @expectedException Sabre\DAV\Exception\NotFound */ - public function testSimpleDirectoryGetChild404() { + function testSimpleDirectoryGetChild404() { $dir = new SimpleCollection('simpledir'); $dir->getChild('blabla'); @@ -218,7 +218,7 @@ class DirectoryMock extends Collection { function getChildren() { - return array(new FileMock()); + return [new FileMock()]; } diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Browser/GuessContentTypeTest.php b/vendor/sabre/dav/tests/Sabre/DAV/Browser/GuessContentTypeTest.php index 157c2170a..54a3053ec 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/Browser/GuessContentTypeTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/Browser/GuessContentTypeTest.php @@ -11,8 +11,8 @@ class GuessContentTypeTest extends DAV\AbstractServer { parent::setUp(); \Sabre\TestUtil::clearTempDir(); - file_put_contents(SABRE_TEMPDIR . '/somefile.jpg','blabla'); - file_put_contents(SABRE_TEMPDIR . '/somefile.hoi','blabla'); + file_put_contents(SABRE_TEMPDIR . '/somefile.jpg', 'blabla'); + file_put_contents(SABRE_TEMPDIR . '/somefile.hoi', 'blabla'); } @@ -24,13 +24,13 @@ class GuessContentTypeTest extends DAV\AbstractServer { function testGetProperties() { - $properties = array( + $properties = [ '{DAV:}getcontenttype', - ); - $result = $this->server->getPropertiesForPath('/somefile.jpg',$properties); - $this->assertArrayHasKey(0,$result); - $this->assertArrayHasKey(404,$result[0]); - $this->assertArrayHasKey('{DAV:}getcontenttype',$result[0][404]); + ]; + $result = $this->server->getPropertiesForPath('/somefile.jpg', $properties); + $this->assertArrayHasKey(0, $result); + $this->assertArrayHasKey(404, $result[0]); + $this->assertArrayHasKey('{DAV:}getcontenttype', $result[0][404]); } @@ -40,14 +40,14 @@ class GuessContentTypeTest extends DAV\AbstractServer { function testGetPropertiesPluginEnabled() { $this->server->addPlugin(new GuessContentType()); - $properties = array( + $properties = [ '{DAV:}getcontenttype', - ); - $result = $this->server->getPropertiesForPath('/somefile.jpg',$properties); - $this->assertArrayHasKey(0,$result); - $this->assertArrayHasKey(200,$result[0], 'We received: ' . print_r($result,true)); - $this->assertArrayHasKey('{DAV:}getcontenttype',$result[0][200]); - $this->assertEquals('image/jpeg',$result[0][200]['{DAV:}getcontenttype']); + ]; + $result = $this->server->getPropertiesForPath('/somefile.jpg', $properties); + $this->assertArrayHasKey(0, $result); + $this->assertArrayHasKey(200, $result[0], 'We received: ' . print_r($result, true)); + $this->assertArrayHasKey('{DAV:}getcontenttype', $result[0][200]); + $this->assertEquals('image/jpeg', $result[0][200]['{DAV:}getcontenttype']); } @@ -57,14 +57,14 @@ class GuessContentTypeTest extends DAV\AbstractServer { function testGetPropertiesUnknown() { $this->server->addPlugin(new GuessContentType()); - $properties = array( + $properties = [ '{DAV:}getcontenttype', - ); - $result = $this->server->getPropertiesForPath('/somefile.hoi',$properties); - $this->assertArrayHasKey(0,$result); - $this->assertArrayHasKey(200,$result[0]); - $this->assertArrayHasKey('{DAV:}getcontenttype',$result[0][200]); - $this->assertEquals('application/octet-stream',$result[0][200]['{DAV:}getcontenttype']); + ]; + $result = $this->server->getPropertiesForPath('/somefile.hoi', $properties); + $this->assertArrayHasKey(0, $result); + $this->assertArrayHasKey(200, $result[0]); + $this->assertArrayHasKey('{DAV:}getcontenttype', $result[0][200]); + $this->assertEquals('application/octet-stream', $result[0][200]['{DAV:}getcontenttype']); } } diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Browser/MapGetToPropFindTest.php b/vendor/sabre/dav/tests/Sabre/DAV/Browser/MapGetToPropFindTest.php index 9d9fbb319..33c4ede96 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/Browser/MapGetToPropFindTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/Browser/MapGetToPropFindTest.php @@ -18,23 +18,23 @@ class MapGetToPropFindTest extends DAV\AbstractServer { function testCollectionGet() { - $serverVars = array( + $serverVars = [ 'REQUEST_URI' => '/', 'REQUEST_METHOD' => 'GET', - ); + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $request->setBody(''); $this->server->httpRequest = ($request); $this->server->exec(); - $this->assertEquals(207, $this->response->status,'Incorrect status response received. Full response body: ' . $this->response->body); - $this->assertEquals(array( + $this->assertEquals(207, $this->response->status, 'Incorrect status response received. Full response body: ' . $this->response->body); + $this->assertEquals([ 'X-Sabre-Version' => [DAV\Version::VERSION], - 'Content-Type' => ['application/xml; charset=utf-8'], - 'DAV' => ['1, 3, extended-mkcol'], - 'Vary' => ['Brief,Prefer'], - ), + 'Content-Type' => ['application/xml; charset=utf-8'], + 'DAV' => ['1, 3, extended-mkcol'], + 'Vary' => ['Brief,Prefer'], + ], $this->response->getHeaders() ); diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Browser/PluginTest.php b/vendor/sabre/dav/tests/Sabre/DAV/Browser/PluginTest.php index 00beea9f2..f20c50f86 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/Browser/PluginTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/Browser/PluginTest.php @@ -28,16 +28,16 @@ class PluginTest extends DAV\AbstractServer{ $this->assertEquals(200, $this->response->getStatus(), "Incorrect status received. Full response body: " . $this->response->getBodyAsString()); $this->assertEquals( [ - 'X-Sabre-Version' => [DAV\Version::VERSION], - 'Content-Type' => ['text/html; charset=utf-8'], - 'Content-Security-Policy' => ["img-src 'self'; style-src 'self';"] + 'X-Sabre-Version' => [DAV\Version::VERSION], + 'Content-Type' => ['text/html; charset=utf-8'], + 'Content-Security-Policy' => ["default-src 'none'; img-src 'self'; style-src 'self'; font-src 'self';"] ], $this->response->getHeaders() ); $body = $this->response->getBodyAsString(); $this->assertTrue(strpos($body, 'dir') !== false, $body); - $this->assertTrue(strpos($body, '<a href="/dir/child.txt">')!==false); + $this->assertTrue(strpos($body, '<a href="/dir/child.txt">') !== false); } @@ -54,16 +54,16 @@ class PluginTest extends DAV\AbstractServer{ $this->assertEquals(200, $this->response->getStatus(), "Incorrect status received. Full response body: " . $this->response->getBodyAsString()); $this->assertEquals( [ - 'X-Sabre-Version' => [DAV\Version::VERSION], - 'Content-Type' => ['text/html; charset=utf-8'], - 'Content-Security-Policy' => ["img-src 'self'; style-src 'self';"] + 'X-Sabre-Version' => [DAV\Version::VERSION], + 'Content-Type' => ['text/html; charset=utf-8'], + 'Content-Security-Policy' => ["default-src 'none'; img-src 'self'; style-src 'self'; font-src 'self';"] ], $this->response->getHeaders() ); $body = $this->response->getBodyAsString(); $this->assertTrue(strpos($body, '<title>dir') !== false, $body); - $this->assertTrue(strpos($body, '<a href="/dir/child.txt">')!==false); + $this->assertTrue(strpos($body, '<a href="/dir/child.txt">') !== false); } function testCollectionGetRoot() { @@ -75,17 +75,17 @@ class PluginTest extends DAV\AbstractServer{ $this->assertEquals(200, $this->response->status, "Incorrect status received. Full response body: " . $this->response->getBodyAsString()); $this->assertEquals( [ - 'X-Sabre-Version' => [DAV\Version::VERSION], - 'Content-Type' => ['text/html; charset=utf-8'], - 'Content-Security-Policy' => ["img-src 'self'; style-src 'self';"] + 'X-Sabre-Version' => [DAV\Version::VERSION], + 'Content-Type' => ['text/html; charset=utf-8'], + 'Content-Security-Policy' => ["default-src 'none'; img-src 'self'; style-src 'self'; font-src 'self';"] ], $this->response->getHeaders() ); $body = $this->response->getBodyAsString(); $this->assertTrue(strpos($body, '<title>/') !== false, $body); - $this->assertTrue(strpos($body, '<a href="/dir/">')!==false); - $this->assertTrue(strpos($body, '<span class="btn disabled">')!==false); + $this->assertTrue(strpos($body, '<a href="/dir/">') !== false); + $this->assertTrue(strpos($body, '<span class="btn disabled">') !== false); } @@ -122,15 +122,15 @@ class PluginTest extends DAV\AbstractServer{ function testPostMkCol() { - $serverVars = array( + $serverVars = [ 'REQUEST_URI' => '/', 'REQUEST_METHOD' => 'POST', - 'CONTENT_TYPE' => 'application/x-www-form-urlencoded', - ); - $postVars = array( + 'CONTENT_TYPE' => 'application/x-www-form-urlencoded', + ]; + $postVars = [ 'sabreAction' => 'mkcol', - 'name' => 'new_collection', - ); + 'name' => 'new_collection', + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $request->setPostData($postVars); @@ -138,10 +138,10 @@ class PluginTest extends DAV\AbstractServer{ $this->server->exec(); $this->assertEquals(302, $this->response->status); - $this->assertEquals(array( + $this->assertEquals([ 'X-Sabre-Version' => [DAV\Version::VERSION], - 'Location' => ['/'], - ), $this->response->getHeaders()); + 'Location' => ['/'], + ], $this->response->getHeaders()); $this->assertTrue(is_dir(SABRE_TEMPDIR . '/new_collection')); @@ -155,11 +155,11 @@ class PluginTest extends DAV\AbstractServer{ $this->assertEquals(200, $this->response->getStatus(), 'Error: ' . $this->response->body); $this->assertEquals([ - 'X-Sabre-Version' => [DAV\Version::VERSION], - 'Content-Type' => ['image/vnd.microsoft.icon'], - 'Content-Length' => ['4286'], - 'Cache-Control' => ['public, max-age=1209600'], - 'Content-Security-Policy' => ["img-src 'self'; style-src 'self';"] + 'X-Sabre-Version' => [DAV\Version::VERSION], + 'Content-Type' => ['image/vnd.microsoft.icon'], + 'Content-Length' => ['4286'], + 'Cache-Control' => ['public, max-age=1209600'], + 'Content-Security-Policy' => ["default-src 'none'; img-src 'self'; style-src 'self'; font-src 'self';"] ], $this->response->getHeaders()); } diff --git a/vendor/sabre/dav/tests/Sabre/DAV/ClientMock.php b/vendor/sabre/dav/tests/Sabre/DAV/ClientMock.php index d8b53a5a1..5a48b063c 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/ClientMock.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/ClientMock.php @@ -18,13 +18,13 @@ class ClientMock extends Client { * @param string $url * @return string */ - public function getAbsoluteUrl($url) { + function getAbsoluteUrl($url) { return parent::getAbsoluteUrl($url); } - public function doRequest(RequestInterface $request) { + function doRequest(RequestInterface $request) { $this->request = $request; return $this->response; diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Exception/LockedTest.php b/vendor/sabre/dav/tests/Sabre/DAV/Exception/LockedTest.php index c06d6aa1f..8788475cb 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/Exception/LockedTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/Exception/LockedTest.php @@ -2,9 +2,8 @@ namespace Sabre\DAV\Exception; -use - Sabre\DAV, - DOMDocument; +use Sabre\DAV; +use DOMDocument; class LockedTest extends \PHPUnit_Framework_TestCase { @@ -15,7 +14,7 @@ class LockedTest extends \PHPUnit_Framework_TestCase { $root = $dom->createElement('d:root'); $dom->appendChild($root); - $root->setAttribute('xmlns:d','DAV:'); + $root->setAttribute('xmlns:d', 'DAV:'); $lockInfo = new DAV\Locks\LockInfo(); $lockInfo->uri = '/foo'; @@ -44,7 +43,7 @@ class LockedTest extends \PHPUnit_Framework_TestCase { $root = $dom->createElement('d:root'); $dom->appendChild($root); - $root->setAttribute('xmlns:d','DAV:'); + $root->setAttribute('xmlns:d', 'DAV:'); $lockInfo = new DAV\Locks\LockInfo(); $lockInfo->uri = '/foo&bar'; diff --git a/vendor/sabre/dav/tests/Sabre/DAV/ExceptionTest.php b/vendor/sabre/dav/tests/Sabre/DAV/ExceptionTest.php index 6d6bf5668..0eb4f3dd8 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/ExceptionTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/ExceptionTest.php @@ -7,18 +7,18 @@ class ExceptionTest extends \PHPUnit_Framework_TestCase { function testStatus() { $e = new Exception(); - $this->assertEquals(500,$e->getHTTPCode()); + $this->assertEquals(500, $e->getHTTPCode()); } function testExceptionStatuses() { - $c = array( + $c = [ 'Sabre\\DAV\\Exception\\NotAuthenticated' => 401, 'Sabre\\DAV\\Exception\\InsufficientStorage' => 507, - ); + ]; - foreach($c as $class=>$status) { + foreach ($c as $class => $status) { $obj = new $class(); $this->assertEquals($status, $obj->getHTTPCode()); diff --git a/vendor/sabre/dav/tests/Sabre/DAV/FSExt/FileTest.php b/vendor/sabre/dav/tests/Sabre/DAV/FSExt/FileTest.php index 3708594e0..f5d65a44f 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/FSExt/FileTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/FSExt/FileTest.php @@ -2,8 +2,6 @@ namespace Sabre\DAV\FSExt; -use Sabre\DAV; - require_once 'Sabre/TestUtil.php'; class FileTest extends \PHPUnit_Framework_TestCase { @@ -26,12 +24,12 @@ class FileTest extends \PHPUnit_Framework_TestCase { $file = new File($filename); $result = $file->put('New contents'); - $this->assertEquals('New contents',file_get_contents(SABRE_TEMPDIR . '/file.txt')); + $this->assertEquals('New contents', file_get_contents(SABRE_TEMPDIR . '/file.txt')); $this->assertEquals( '"' . sha1( fileinode($filename) . - filesize($filename ) . + filesize($filename) . filemtime($filename) ) . '"', $result @@ -45,13 +43,13 @@ class FileTest extends \PHPUnit_Framework_TestCase { $file->put('0000000'); $file->patch('111', 2, 3); - $this->assertEquals('0001110',file_get_contents(SABRE_TEMPDIR . '/file.txt')); + $this->assertEquals('0001110', file_get_contents(SABRE_TEMPDIR . '/file.txt')); } function testRangeStream() { - $stream = fopen('php://memory','r+'); + $stream = fopen('php://memory', 'r+'); fwrite($stream, "222"); rewind($stream); @@ -59,7 +57,7 @@ class FileTest extends \PHPUnit_Framework_TestCase { $file->put('0000000'); $file->patch($stream, 2, 3); - $this->assertEquals('0002220',file_get_contents(SABRE_TEMPDIR . '/file.txt')); + $this->assertEquals('0002220', file_get_contents(SABRE_TEMPDIR . '/file.txt')); } @@ -67,7 +65,7 @@ class FileTest extends \PHPUnit_Framework_TestCase { function testGet() { $file = new File(SABRE_TEMPDIR . '/file.txt'); - $this->assertEquals('Contents',stream_get_contents($file->get())); + $this->assertEquals('Contents', stream_get_contents($file->get())); } @@ -88,7 +86,7 @@ class FileTest extends \PHPUnit_Framework_TestCase { '"' . sha1( fileinode($filename) . - filesize($filename ) . + filesize($filename) . filemtime($filename) ) . '"', $file->getETag() @@ -105,7 +103,7 @@ class FileTest extends \PHPUnit_Framework_TestCase { function testGetSize() { $file = new File(SABRE_TEMPDIR . '/file.txt'); - $this->assertEquals(8,$file->getSize()); + $this->assertEquals(8, $file->getSize()); } diff --git a/vendor/sabre/dav/tests/Sabre/DAV/FSExt/ServerTest.php b/vendor/sabre/dav/tests/Sabre/DAV/FSExt/ServerTest.php index 63d858de1..20fca490a 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/FSExt/ServerTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/FSExt/ServerTest.php @@ -28,7 +28,7 @@ class ServerTest extends DAV\AbstractServer{ 'Content-Type' => ['application/octet-stream'], 'Content-Length' => [13], 'Last-Modified' => [HTTP\Util::toHTTPDate(new \DateTime('@' . filemtime($filename)))], - 'ETag' => ['"' . sha1(fileinode($filename ) . filesize($filename) . filemtime($filename)) . '"'], + 'ETag' => ['"' . sha1(fileinode($filename) . filesize($filename) . filemtime($filename)) . '"'], ], $this->response->getHeaders() ); @@ -50,12 +50,12 @@ class ServerTest extends DAV\AbstractServer{ 'Content-Type' => ['application/octet-stream'], 'Content-Length' => [13], 'Last-Modified' => [HTTP\Util::toHTTPDate(new \DateTime('@' . filemtime($this->tempDir . '/test.txt')))], - 'ETag' => ['"' . sha1(fileinode($filename ) . filesize($filename) . filemtime($filename)) . '"'], + 'ETag' => ['"' . sha1(fileinode($filename) . filesize($filename) . filemtime($filename)) . '"'], ], $this->response->getHeaders() ); - $this->assertEquals(200,$this->response->status); + $this->assertEquals(200, $this->response->status); $this->assertEquals('', $this->response->body); } @@ -71,12 +71,12 @@ class ServerTest extends DAV\AbstractServer{ $this->assertEquals([ 'X-Sabre-Version' => [DAV\Version::VERSION], 'Content-Length' => ['0'], - 'ETag' => ['"' . sha1(fileinode($filename ) . filesize($filename) . filemtime($filename)) . '"'], + 'ETag' => ['"' . sha1(fileinode($filename) . filesize($filename) . filemtime($filename)) . '"'], ], $this->response->getHeaders()); $this->assertEquals(201, $this->response->status); $this->assertEquals('', $this->response->body); - $this->assertEquals('Testing new file',file_get_contents($filename)); + $this->assertEquals('Testing new file', file_get_contents($filename)); } @@ -89,11 +89,11 @@ class ServerTest extends DAV\AbstractServer{ $this->assertEquals([ 'X-Sabre-Version' => [DAV\Version::VERSION], - 'Content-Type' => ['application/xml; charset=utf-8'], - ],$this->response->getHeaders()); + 'Content-Type' => ['application/xml; charset=utf-8'], + ], $this->response->getHeaders()); $this->assertEquals(412, $this->response->status); - $this->assertNotEquals('Testing new file',file_get_contents($this->tempDir . '/test.txt')); + $this->assertNotEquals('Testing new file', file_get_contents($this->tempDir . '/test.txt')); } @@ -105,8 +105,8 @@ class ServerTest extends DAV\AbstractServer{ $this->assertEquals([ 'X-Sabre-Version' => [DAV\Version::VERSION], - 'Content-Length' => ['0'], - ],$this->response->getHeaders()); + 'Content-Length' => ['0'], + ], $this->response->getHeaders()); $this->assertEquals(201, $this->response->status); $this->assertEquals('', $this->response->body); @@ -125,7 +125,7 @@ class ServerTest extends DAV\AbstractServer{ $this->assertEquals(204, $this->response->status); $this->assertEquals('', $this->response->body); - $this->assertEquals('Testing updated file',file_get_contents($this->tempDir . '/test.txt')); + $this->assertEquals('Testing updated file', file_get_contents($this->tempDir . '/test.txt')); } @@ -137,8 +137,8 @@ class ServerTest extends DAV\AbstractServer{ $this->assertEquals([ 'X-Sabre-Version' => [DAV\Version::VERSION], - 'Content-Length' => ['0'], - ],$this->response->getHeaders()); + 'Content-Length' => ['0'], + ], $this->response->getHeaders()); $this->assertEquals(204, $this->response->status); $this->assertEquals('', $this->response->body); @@ -148,8 +148,8 @@ class ServerTest extends DAV\AbstractServer{ function testDeleteDirectory() { - mkdir($this->tempDir.'/testcol'); - file_put_contents($this->tempDir.'/testcol/test.txt','Hi! I\'m a file with a short lifespan'); + mkdir($this->tempDir . '/testcol'); + file_put_contents($this->tempDir . '/testcol/test.txt', 'Hi! I\'m a file with a short lifespan'); $request = new HTTP\Request('DELETE', '/testcol'); $this->server->httpRequest = ($request); @@ -157,8 +157,8 @@ class ServerTest extends DAV\AbstractServer{ $this->assertEquals([ 'X-Sabre-Version' => [DAV\Version::VERSION], - 'Content-Length' => ['0'], - ],$this->response->getHeaders()); + 'Content-Length' => ['0'], + ], $this->response->getHeaders()); $this->assertEquals(204, $this->response->status); $this->assertEquals('', $this->response->body); $this->assertFalse(file_exists($this->tempDir . '/testcol')); @@ -172,12 +172,12 @@ class ServerTest extends DAV\AbstractServer{ $this->server->exec(); $this->assertEquals([ - 'DAV' => ['1, 3, extended-mkcol'], - 'MS-Author-Via' => ['DAV'], - 'Allow' => ['OPTIONS, GET, HEAD, DELETE, PROPFIND, PUT, PROPPATCH, COPY, MOVE, REPORT'], - 'Accept-Ranges' => ['bytes'], - 'Content-Length' => ['0'], - 'X-Sabre-Version'=> [DAV\Version::VERSION], + 'DAV' => ['1, 3, extended-mkcol'], + 'MS-Author-Via' => ['DAV'], + 'Allow' => ['OPTIONS, GET, HEAD, DELETE, PROPFIND, PUT, PROPPATCH, COPY, MOVE, REPORT'], + 'Accept-Ranges' => ['bytes'], + 'Content-Length' => ['0'], + 'X-Sabre-Version' => [DAV\Version::VERSION], ], $this->response->getHeaders()); $this->assertEquals(200, $this->response->status); @@ -187,7 +187,7 @@ class ServerTest extends DAV\AbstractServer{ function testMove() { - mkdir($this->tempDir.'/testcol'); + mkdir($this->tempDir . '/testcol'); $request = new HTTP\Request('MOVE', '/test.txt', ['Destination' => '/testcol/test2.txt']); $this->server->httpRequest = ($request); @@ -197,9 +197,9 @@ class ServerTest extends DAV\AbstractServer{ $this->assertEquals('', $this->response->body); $this->assertEquals([ - 'Content-Length' => ['0'], - 'X-Sabre-Version'=> [DAV\Version::VERSION], - ],$this->response->getHeaders()); + 'Content-Length' => ['0'], + 'X-Sabre-Version' => [DAV\Version::VERSION], + ], $this->response->getHeaders()); $this->assertTrue( is_file($this->tempDir . '/testcol/test2.txt') @@ -217,8 +217,8 @@ class ServerTest extends DAV\AbstractServer{ */ function testMoveOtherObject() { - mkdir($this->tempDir.'/tree1'); - mkdir($this->tempDir.'/tree2'); + mkdir($this->tempDir . '/tree1'); + mkdir($this->tempDir . '/tree2'); $tree = new DAV\Tree(new DAV\SimpleCollection('root', [ new DAV\FS\Directory($this->tempDir . '/tree1'), @@ -234,9 +234,9 @@ class ServerTest extends DAV\AbstractServer{ $this->assertEquals('', $this->response->body); $this->assertEquals([ - 'Content-Length' => ['0'], - 'X-Sabre-Version'=> [DAV\Version::VERSION], - ],$this->response->getHeaders()); + 'Content-Length' => ['0'], + 'X-Sabre-Version' => [DAV\Version::VERSION], + ], $this->response->getHeaders()); $this->assertTrue( is_dir($this->tempDir . '/tree2/tree1') diff --git a/vendor/sabre/dav/tests/Sabre/DAV/HttpDeleteTest.php b/vendor/sabre/dav/tests/Sabre/DAV/HttpDeleteTest.php index 6c10afa9f..bd1b33150 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/HttpDeleteTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/HttpDeleteTest.php @@ -19,12 +19,12 @@ class HttpDeleteTest extends DAVServerTest { * * @return void */ - public function setUpTree() { + function setUpTree() { $this->tree = new Mock\Collection('root', [ 'file1' => 'foo', - 'dir' => [ - 'subfile' => 'bar', + 'dir' => [ + 'subfile' => 'bar', 'subfile2' => 'baz', ], ]); @@ -34,7 +34,7 @@ class HttpDeleteTest extends DAVServerTest { /** * A successful DELETE */ - public function testDelete() { + function testDelete() { $request = new HTTP\Request('DELETE', '/file1'); @@ -49,7 +49,7 @@ class HttpDeleteTest extends DAVServerTest { $this->assertEquals( [ 'X-Sabre-Version' => [Version::VERSION], - 'Content-Length' => ['0'], + 'Content-Length' => ['0'], ], $response->getHeaders() ); @@ -59,7 +59,7 @@ class HttpDeleteTest extends DAVServerTest { /** * Deleting a Directory */ - public function testDeleteDirectory() { + function testDeleteDirectory() { $request = new HTTP\Request('DELETE', '/dir'); @@ -74,7 +74,7 @@ class HttpDeleteTest extends DAVServerTest { $this->assertEquals( [ 'X-Sabre-Version' => [Version::VERSION], - 'Content-Length' => ['0'], + 'Content-Length' => ['0'], ], $response->getHeaders() ); @@ -84,7 +84,7 @@ class HttpDeleteTest extends DAVServerTest { /** * DELETE on a node that does not exist */ - public function testDeleteNotFound() { + function testDeleteNotFound() { $request = new HTTP\Request('DELETE', '/file2'); $response = $this->request($request); @@ -100,7 +100,7 @@ class HttpDeleteTest extends DAVServerTest { /** * DELETE with preconditions */ - public function testDeletePreconditions() { + function testDeletePreconditions() { $request = new HTTP\Request('DELETE', '/file1', [ 'If-Match' => '"' . md5('foo') . '"', @@ -119,7 +119,7 @@ class HttpDeleteTest extends DAVServerTest { /** * DELETE with incorrect preconditions */ - public function testDeletePreconditionsFailed() { + function testDeletePreconditionsFailed() { $request = new HTTP\Request('DELETE', '/file1', [ 'If-Match' => '"' . md5('bar') . '"', diff --git a/vendor/sabre/dav/tests/Sabre/DAV/HttpPutTest.php b/vendor/sabre/dav/tests/Sabre/DAV/HttpPutTest.php index eddaf3f22..86480b1c2 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/HttpPutTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/HttpPutTest.php @@ -46,8 +46,8 @@ class HttpPutTest extends DAVServerTest { $this->assertEquals( [ 'X-Sabre-Version' => [Version::VERSION], - 'Content-Length' => ['0'], - 'ETag' => ['"' . md5('hello') . '"'] + 'Content-Length' => ['0'], + 'ETag' => ['"' . md5('hello') . '"'] ], $response->getHeaders() ); @@ -75,8 +75,8 @@ class HttpPutTest extends DAVServerTest { $this->assertEquals( [ 'X-Sabre-Version' => [Version::VERSION], - 'Content-Length' => ['0'], - 'ETag' => ['"' . md5('bar') . '"'] + 'Content-Length' => ['0'], + 'ETag' => ['"' . md5('bar') . '"'] ], $response->getHeaders() ); @@ -109,8 +109,8 @@ class HttpPutTest extends DAVServerTest { $this->assertEquals( [ 'X-Sabre-Version' => [Version::VERSION], - 'Content-Length' => ['0'], - 'ETag' => ['"' . md5('hello') . '"'] + 'Content-Length' => ['0'], + 'ETag' => ['"' . md5('hello') . '"'] ], $response->getHeaders() ); @@ -143,8 +143,8 @@ class HttpPutTest extends DAVServerTest { $this->assertEquals( [ 'X-Sabre-Version' => [Version::VERSION], - 'Content-Length' => ['0'], - 'ETag' => ['"' . md5('hello') . '"'], + 'Content-Length' => ['0'], + 'ETag' => ['"' . md5('hello') . '"'], ], $response->getHeaders() ); @@ -196,8 +196,8 @@ class HttpPutTest extends DAVServerTest { $this->assertEquals( [ 'X-Sabre-Version' => [Version::VERSION], - 'Content-Length' => ['0'], - 'ETag' => ['"' . md5('hello') . '"'] + 'Content-Length' => ['0'], + 'ETag' => ['"' . md5('hello') . '"'] ], $response->getHeaders() ); @@ -291,8 +291,8 @@ class HttpPutTest extends DAVServerTest { $this->assertEquals( [ 'X-Sabre-Version' => [Version::VERSION], - 'Content-Length' => ['0'], - 'ETag' => ['"' . md5('hello') . '"'], + 'Content-Length' => ['0'], + 'ETag' => ['"' . md5('hello') . '"'], ], $response->getHeaders() ); @@ -334,7 +334,7 @@ class HttpPutTest extends DAVServerTest { $request = new HTTP\Request('PUT', '/file2', [], 'hello'); $response = $this->request($request); - $this->assertEquals(418, $response->getStatus(), 'Incorrect status code received. Full response body: ' .$response->getBodyAsString()); + $this->assertEquals(418, $response->getStatus(), 'Incorrect status code received. Full response body: ' . $response->getBodyAsString()); $this->assertFalse( $this->server->tree->nodeExists('file2') diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Issue33Test.php b/vendor/sabre/dav/tests/Sabre/DAV/Issue33Test.php index 4ccb42fbb..edd09e634 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/Issue33Test.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/Issue33Test.php @@ -17,16 +17,16 @@ class Issue33Test extends \PHPUnit_Framework_TestCase { function testCopyMoveInfo() { $bar = new SimpleCollection('bar'); - $root = new SimpleCollection('webdav',array($bar)); + $root = new SimpleCollection('webdav', [$bar]); $server = new Server($root); $server->setBaseUri('/webdav/'); - $serverVars = array( - 'REQUEST_URI' => '/webdav/bar', + $serverVars = [ + 'REQUEST_URI' => '/webdav/bar', 'HTTP_DESTINATION' => 'http://dev2.tribalos.com/webdav/%C3%A0fo%C3%B3', - 'HTTP_OVERWRITE' => 'F', - ); + 'HTTP_OVERWRITE' => 'F', + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); @@ -48,19 +48,19 @@ class Issue33Test extends \PHPUnit_Framework_TestCase { $dir->createDirectory('bar'); $tree = new Tree($dir); - $tree->move('bar',urldecode('%C3%A0fo%C3%B3')); + $tree->move('bar', urldecode('%C3%A0fo%C3%B3')); $node = $tree->getNodeForPath(urldecode('%C3%A0fo%C3%B3')); - $this->assertEquals(urldecode('%C3%A0fo%C3%B3'),$node->getName()); + $this->assertEquals(urldecode('%C3%A0fo%C3%B3'), $node->getName()); } function testDirName() { $dirname1 = 'bar'; - $dirname2 = urlencode('%C3%A0fo%C3%B3');; + $dirname2 = urlencode('%C3%A0fo%C3%B3'); - $this->assertTrue(dirname($dirname1)==dirname($dirname2)); + $this->assertTrue(dirname($dirname1) == dirname($dirname2)); } @@ -71,12 +71,12 @@ class Issue33Test extends \PHPUnit_Framework_TestCase { function testEverything() { // Request object - $serverVars = array( - 'REQUEST_METHOD' => 'MOVE', - 'REQUEST_URI' => '/webdav/bar', + $serverVars = [ + 'REQUEST_METHOD' => 'MOVE', + 'REQUEST_URI' => '/webdav/bar', 'HTTP_DESTINATION' => 'http://dev2.tribalos.com/webdav/%C3%A0fo%C3%B3', - 'HTTP_OVERWRITE' => 'F', - ); + 'HTTP_OVERWRITE' => 'F', + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $request->setBody(''); diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Locks/Backend/AbstractTest.php b/vendor/sabre/dav/tests/Sabre/DAV/Locks/Backend/AbstractTest.php index f39e9a036..bbde69097 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/Locks/Backend/AbstractTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/Locks/Backend/AbstractTest.php @@ -31,15 +31,15 @@ abstract class AbstractTest extends \PHPUnit_Framework_TestCase { $lock->timeout = 60; $lock->created = time(); $lock->token = 'MY-UNIQUE-TOKEN'; - $lock->uri ='someuri'; + $lock->uri = 'someuri'; $this->assertTrue($backend->lock('someuri', $lock)); $locks = $backend->getLocks('someuri', false); - $this->assertEquals(1,count($locks)); - $this->assertEquals('Sinterklaas',$locks[0]->owner); - $this->assertEquals('someuri',$locks[0]->uri); + $this->assertEquals(1, count($locks)); + $this->assertEquals('Sinterklaas', $locks[0]->owner); + $this->assertEquals('someuri', $locks[0]->uri); } @@ -61,9 +61,9 @@ abstract class AbstractTest extends \PHPUnit_Framework_TestCase { $locks = $backend->getLocks('someuri/child', false); - $this->assertEquals(1,count($locks)); - $this->assertEquals('Sinterklaas',$locks[0]->owner); - $this->assertEquals('someuri',$locks[0]->uri); + $this->assertEquals(1, count($locks)); + $this->assertEquals('Sinterklaas', $locks[0]->owner); + $this->assertEquals('someuri', $locks[0]->uri); } @@ -86,7 +86,7 @@ abstract class AbstractTest extends \PHPUnit_Framework_TestCase { $locks = $backend->getLocks('someuri/child', false); - $this->assertEquals(0,count($locks)); + $this->assertEquals(0, count($locks)); } @@ -104,13 +104,13 @@ abstract class AbstractTest extends \PHPUnit_Framework_TestCase { $this->assertTrue($backend->lock('someuri/child', $lock)); $locks = $backend->getLocks('someuri/child', false); - $this->assertEquals(1,count($locks)); + $this->assertEquals(1, count($locks)); $locks = $backend->getLocks('someuri', false); - $this->assertEquals(0,count($locks)); + $this->assertEquals(0, count($locks)); $locks = $backend->getLocks('someuri', true); - $this->assertEquals(1,count($locks)); + $this->assertEquals(1, count($locks)); } @@ -135,10 +135,10 @@ abstract class AbstractTest extends \PHPUnit_Framework_TestCase { $locks = $backend->getLocks('someuri', false); - $this->assertEquals(1,count($locks)); + $this->assertEquals(1, count($locks)); - $this->assertEquals('Santa Clause',$locks[0]->owner); - $this->assertEquals('someuri',$locks[0]->uri); + $this->assertEquals('Santa Clause', $locks[0]->owner); + $this->assertEquals('someuri', $locks[0]->uri); } @@ -158,12 +158,12 @@ abstract class AbstractTest extends \PHPUnit_Framework_TestCase { $this->assertTrue($backend->lock('someuri', $lock)); $locks = $backend->getLocks('someuri', false); - $this->assertEquals(1,count($locks)); + $this->assertEquals(1, count($locks)); - $this->assertTrue($backend->unlock('someuri',$lock)); + $this->assertTrue($backend->unlock('someuri', $lock)); $locks = $backend->getLocks('someuri', false); - $this->assertEquals(0,count($locks)); + $this->assertEquals(0, count($locks)); } @@ -183,13 +183,13 @@ abstract class AbstractTest extends \PHPUnit_Framework_TestCase { $this->assertTrue($backend->lock('someuri', $lock)); $locks = $backend->getLocks('someuri', false); - $this->assertEquals(1,count($locks)); + $this->assertEquals(1, count($locks)); $lock->token = 'SOME-OTHER-TOKEN'; - $this->assertFalse($backend->unlock('someuri',$lock)); + $this->assertFalse($backend->unlock('someuri', $lock)); $locks = $backend->getLocks('someuri', false); - $this->assertEquals(1,count($locks)); + $this->assertEquals(1, count($locks)); } diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Locks/Backend/PDOMySQLTest.php b/vendor/sabre/dav/tests/Sabre/DAV/Locks/Backend/PDOMySQLTest.php index b6f06224c..0ba02fc8b 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/Locks/Backend/PDOMySQLTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/Locks/Backend/PDOMySQLTest.php @@ -2,31 +2,8 @@ namespace Sabre\DAV\Locks\Backend; -require_once 'Sabre/TestUtil.php'; +class PDOMySQLTest extends PDOTest { -class PDOMySQLTest extends AbstractTest { - - function getBackend() { - - if (!SABRE_HASMYSQL) $this->markTestSkipped('MySQL driver is not available, or it was not properly configured'); - $pdo = \Sabre\TestUtil::getMySQLDB(); - if (!$pdo) $this->markTestSkipped('Could not connect to MySQL database'); - $pdo->query('DROP TABLE IF EXISTS locks;'); - $pdo->query(" -CREATE TABLE locks ( - id INTEGER UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, - owner VARCHAR(100), - timeout INTEGER UNSIGNED, - created INTEGER, - token VARCHAR(100), - scope TINYINT, - depth TINYINT, - uri text -);"); - - $backend = new PDO($pdo); - return $backend; - - } + public $driver = 'mysql'; } diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Locks/Backend/PDOTest.php b/vendor/sabre/dav/tests/Sabre/DAV/Locks/Backend/PDOTest.php index d6336c7b2..a27eae93c 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/Locks/Backend/PDOTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/Locks/Backend/PDOTest.php @@ -2,27 +2,18 @@ namespace Sabre\DAV\Locks\Backend; -require_once 'Sabre/TestUtil.php'; -require_once 'Sabre/DAV/Locks/Backend/AbstractTest.php'; +abstract class PDOTest extends AbstractTest { -class PDOTest extends AbstractTest { + use \Sabre\DAV\DbTestHelperTrait; function getBackend() { - if (!SABRE_HASSQLITE) $this->markTestSkipped('SQLite driver is not available'); - \Sabre\TestUtil::clearTempDir(); - mkdir(SABRE_TEMPDIR . '/pdolocks'); - $pdo = new \PDO('sqlite:' . SABRE_TEMPDIR . '/pdolocks/db.sqlite'); - $pdo->setAttribute(\PDO::ATTR_ERRMODE,\PDO::ERRMODE_EXCEPTION); - $pdo->query('CREATE TABLE locks ( id integer primary key asc, owner text, timeout text, created integer, token text, scope integer, depth integer, uri text)'); - $backend = new PDO($pdo); - return $backend; + $this->dropTables('locks'); + $this->createSchema('locks'); - } - - function tearDown() { + $pdo = $this->getPDO(); - \Sabre\TestUtil::clearTempDir(); + return new PDO($pdo); } diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Locks/MSWordTest.php b/vendor/sabre/dav/tests/Sabre/DAV/Locks/MSWordTest.php index 23f283796..f08f19da5 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/Locks/MSWordTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/Locks/MSWordTest.php @@ -62,12 +62,12 @@ class MSWordTest extends \PHPUnit_Framework_TestCase { function getLockRequest() { - $request = HTTP\Sapi::createFromServerArray(array( + $request = HTTP\Sapi::createFromServerArray([ 'REQUEST_METHOD' => 'LOCK', 'HTTP_CONTENT_TYPE' => 'application/xml', 'HTTP_TIMEOUT' => 'Second-3600', 'REQUEST_URI' => '/Nouveau%20Microsoft%20Office%20Excel%20Worksheet.xlsx', - )); + ]); $request->setBody('<D:lockinfo xmlns:D="DAV:"> <D:lockscope> @@ -86,12 +86,12 @@ class MSWordTest extends \PHPUnit_Framework_TestCase { } function getLockRequest2() { - $request = HTTP\Sapi::createFromServerArray(array( + $request = HTTP\Sapi::createFromServerArray([ 'REQUEST_METHOD' => 'LOCK', 'HTTP_CONTENT_TYPE' => 'application/xml', 'HTTP_TIMEOUT' => 'Second-3600', 'REQUEST_URI' => '/~$Nouveau%20Microsoft%20Office%20Excel%20Worksheet.xlsx', - )); + ]); $request->setBody('<D:lockinfo xmlns:D="DAV:"> <D:lockscope> @@ -111,11 +111,11 @@ class MSWordTest extends \PHPUnit_Framework_TestCase { function getPutRequest($lockToken) { - $request = HTTP\Sapi::createFromServerArray(array( + $request = HTTP\Sapi::createFromServerArray([ 'REQUEST_METHOD' => 'PUT', 'REQUEST_URI' => '/Nouveau%20Microsoft%20Office%20Excel%20Worksheet.xlsx', - 'HTTP_IF' => 'If: ('.$lockToken.')', - )); + 'HTTP_IF' => 'If: (' . $lockToken . ')', + ]); $request->setBody('FAKE BODY'); return $request; diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Locks/PluginTest.php b/vendor/sabre/dav/tests/Sabre/DAV/Locks/PluginTest.php index ef0e473ae..6511d4e7d 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/Locks/PluginTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/Locks/PluginTest.php @@ -35,13 +35,13 @@ class PluginTest extends DAV\AbstractServer { function testGetFeatures() { - $this->assertEquals(array(2),$this->locksPlugin->getFeatures()); + $this->assertEquals([2], $this->locksPlugin->getFeatures()); } function testGetHTTPMethods() { - $this->assertEquals(array('LOCK','UNLOCK'),$this->locksPlugin->getHTTPMethods('')); + $this->assertEquals(['LOCK', 'UNLOCK'], $this->locksPlugin->getHTTPMethods('')); } @@ -51,10 +51,10 @@ class PluginTest extends DAV\AbstractServer { $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals(array( + $this->assertEquals([ 'X-Sabre-Version' => [DAV\Version::VERSION], - 'Content-Type' => ['application/xml; charset=utf-8'], - ), + 'Content-Type' => ['application/xml; charset=utf-8'], + ], $this->response->getHeaders() ); @@ -77,16 +77,16 @@ class PluginTest extends DAV\AbstractServer { $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals('application/xml; charset=utf-8',$this->response->getHeader('Content-Type')); - $this->assertTrue(preg_match('/^<opaquelocktoken:(.*)>$/',$this->response->getHeader('Lock-Token'))===1,'We did not get a valid Locktoken back (' . $this->response->getHeader('Lock-Token') . ')'); + $this->assertEquals('application/xml; charset=utf-8', $this->response->getHeader('Content-Type')); + $this->assertTrue(preg_match('/^<opaquelocktoken:(.*)>$/', $this->response->getHeader('Lock-Token')) === 1, 'We did not get a valid Locktoken back (' . $this->response->getHeader('Lock-Token') . ')'); - $this->assertEquals(200, $this->response->status,'Got an incorrect status back. Response body: ' . $this->response->body); + $this->assertEquals(200, $this->response->status, 'Got an incorrect status back. Response body: ' . $this->response->body); - $body = preg_replace("/xmlns(:[A-Za-z0-9_])?=(\"|\')DAV:(\"|\')/","xmlns\\1=\"urn:DAV\"",$this->response->body); + $body = preg_replace("/xmlns(:[A-Za-z0-9_])?=(\"|\')DAV:(\"|\')/", "xmlns\\1=\"urn:DAV\"", $this->response->body); $xml = simplexml_load_string($body); - $xml->registerXPathNamespace('d','urn:DAV'); + $xml->registerXPathNamespace('d', 'urn:DAV'); - $elements = array( + $elements = [ '/d:prop', '/d:prop/d:lockdiscovery', '/d:prop/d:lockdiscovery/d:activelock', @@ -101,18 +101,18 @@ class PluginTest extends DAV\AbstractServer { '/d:prop/d:lockdiscovery/d:activelock/d:timeout', '/d:prop/d:lockdiscovery/d:activelock/d:locktoken', '/d:prop/d:lockdiscovery/d:activelock/d:locktoken/d:href', - ); + ]; - foreach($elements as $elem) { + foreach ($elements as $elem) { $data = $xml->xpath($elem); - $this->assertEquals(1,count($data),'We expected 1 match for the xpath expression "' . $elem . '". ' . count($data) . ' were found. Full response body: ' . $this->response->body); + $this->assertEquals(1, count($data), 'We expected 1 match for the xpath expression "' . $elem . '". ' . count($data) . ' were found. Full response body: ' . $this->response->body); } $depth = $xml->xpath('/d:prop/d:lockdiscovery/d:activelock/d:depth'); - $this->assertEquals('infinity',(string)$depth[0]); + $this->assertEquals('infinity', (string)$depth[0]); $token = $xml->xpath('/d:prop/d:lockdiscovery/d:activelock/d:locktoken/d:href'); - $this->assertEquals($this->response->getHeader('Lock-Token'),'<' . (string)$token[0] . '>','Token in response body didn\'t match token in response header.'); + $this->assertEquals($this->response->getHeader('Lock-Token'), '<' . (string)$token[0] . '>', 'Token in response body didn\'t match token in response header.'); } @@ -139,7 +139,7 @@ class PluginTest extends DAV\AbstractServer { $this->server->exec(); - $this->assertEquals('application/xml; charset=utf-8',$this->response->getHeader('Content-Type')); + $this->assertEquals('application/xml; charset=utf-8', $this->response->getHeader('Content-Type')); $this->assertEquals(423, $this->response->status, 'Full response: ' . $this->response->body); @@ -174,9 +174,9 @@ class PluginTest extends DAV\AbstractServer { $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals('application/xml; charset=utf-8',$this->response->getHeader('Content-Type')); + $this->assertEquals('application/xml; charset=utf-8', $this->response->getHeader('Content-Type')); - $this->assertEquals(200, $this->response->status,'We received an incorrect status code. Full response body: ' . $this->response->getBody()); + $this->assertEquals(200, $this->response->status, 'We received an incorrect status code. Full response body: ' . $this->response->getBody()); } @@ -209,9 +209,9 @@ class PluginTest extends DAV\AbstractServer { $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals('application/xml; charset=utf-8',$this->response->getHeader('Content-Type')); + $this->assertEquals('application/xml; charset=utf-8', $this->response->getHeader('Content-Type')); - $this->assertEquals(423, $this->response->getStatus(),'We received an incorrect status code. Full response body: ' . $this->response->getBody()); + $this->assertEquals(423, $this->response->getStatus(), 'We received an incorrect status code. Full response body: ' . $this->response->getBody()); } @@ -233,8 +233,8 @@ class PluginTest extends DAV\AbstractServer { $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals('application/xml; charset=utf-8',$this->response->getHeader('Content-Type')); - $this->assertTrue(preg_match('/^<opaquelocktoken:(.*)>$/',$this->response->getHeader('Lock-Token'))===1,'We did not get a valid Locktoken back (' . $this->response->getHeader('Lock-Token') . ')'); + $this->assertEquals('application/xml; charset=utf-8', $this->response->getHeader('Content-Type')); + $this->assertTrue(preg_match('/^<opaquelocktoken:(.*)>$/', $this->response->getHeader('Lock-Token')) === 1, 'We did not get a valid Locktoken back (' . $this->response->getHeader('Lock-Token') . ')'); $this->assertEquals(201, $this->response->status); @@ -251,7 +251,7 @@ class PluginTest extends DAV\AbstractServer { $this->assertEquals([ 'X-Sabre-Version' => [DAV\Version::VERSION], - 'Content-Type' => ['application/xml; charset=utf-8'], + 'Content-Type' => ['application/xml; charset=utf-8'], ], $this->response->getHeaders() ); @@ -271,7 +271,7 @@ class PluginTest extends DAV\AbstractServer { $this->assertEquals([ 'X-Sabre-Version' => [DAV\Version::VERSION], - 'Content-Type' => ['application/xml; charset=utf-8'], + 'Content-Type' => ['application/xml; charset=utf-8'], ], $this->response->getHeaders() ); @@ -298,8 +298,8 @@ class PluginTest extends DAV\AbstractServer { $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals('application/xml; charset=utf-8',$this->response->getHeader('Content-Type')); - $this->assertTrue(preg_match('/^<opaquelocktoken:(.*)>$/',$this->response->getHeader('Lock-Token'))===1,'We did not get a valid Locktoken back (' . $this->response->getHeader('Lock-Token') . ')'); + $this->assertEquals('application/xml; charset=utf-8', $this->response->getHeader('Content-Type')); + $this->assertTrue(preg_match('/^<opaquelocktoken:(.*)>$/', $this->response->getHeader('Lock-Token')) === 1, 'We did not get a valid Locktoken back (' . $this->response->getHeader('Lock-Token') . ')'); $this->assertEquals(200, $this->response->status); @@ -308,8 +308,8 @@ class PluginTest extends DAV\AbstractServer { $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals('application/xml; charset=utf-8',$this->response->getHeader('Content-Type')); - $this->assertTrue(preg_match('/^<opaquelocktoken:(.*)>$/',$this->response->getHeader('Lock-Token'))===1,'We did not get a valid Locktoken back (' . $this->response->getHeader('Lock-Token') . ')'); + $this->assertEquals('application/xml; charset=utf-8', $this->response->getHeader('Content-Type')); + $this->assertTrue(preg_match('/^<opaquelocktoken:(.*)>$/', $this->response->getHeader('Lock-Token')) === 1, 'We did not get a valid Locktoken back (' . $this->response->getHeader('Lock-Token') . ')'); $this->assertEquals(423, $this->response->status); @@ -340,10 +340,10 @@ class PluginTest extends DAV\AbstractServer { $this->server->httpResponse = new HTTP\ResponseMock(); $this->server->invokeMethod($request, $this->server->httpResponse); - $this->assertEquals(204,$this->server->httpResponse->status,'Got an incorrect status code. Full response body: ' . $this->response->body); + $this->assertEquals(204, $this->server->httpResponse->status, 'Got an incorrect status code. Full response body: ' . $this->response->body); $this->assertEquals([ 'X-Sabre-Version' => [DAV\Version::VERSION], - 'Content-Length' => ['0'], + 'Content-Length' => ['0'], ], $this->server->httpResponse->getHeaders() ); @@ -372,17 +372,17 @@ class PluginTest extends DAV\AbstractServer { $lockToken = $this->server->httpResponse->getHeader('Lock-Token'); // See Issue 123 - $lockToken = trim($lockToken,'<>'); + $lockToken = trim($lockToken, '<>'); $request = new HTTP\Request('UNLOCK', '/test.txt', ['Lock-Token' => $lockToken]); $this->server->httpRequest = $request; $this->server->httpResponse = new HTTP\ResponseMock(); $this->server->invokeMethod($request, $this->server->httpResponse); - $this->assertEquals(204, $this->server->httpResponse->status,'Got an incorrect status code. Full response body: ' . $this->response->body); + $this->assertEquals(204, $this->server->httpResponse->status, 'Got an incorrect status code. Full response body: ' . $this->response->body); $this->assertEquals([ 'X-Sabre-Version' => [DAV\Version::VERSION], - 'Content-Length' => ['0'], + 'Content-Length' => ['0'], ], $this->server->httpResponse->getHeaders() ); @@ -396,7 +396,7 @@ class PluginTest extends DAV\AbstractServer { function testLockRetainOwner() { $request = HTTP\Sapi::createFromServerArray([ - 'REQUEST_URI' => '/test.txt', + 'REQUEST_URI' => '/test.txt', 'REQUEST_METHOD' => 'LOCK', ]); $this->server->httpRequest = $request; @@ -412,8 +412,8 @@ class PluginTest extends DAV\AbstractServer { $lockToken = $this->server->httpResponse->getHeader('Lock-Token'); $locks = $this->locksPlugin->getLocks('test.txt'); - $this->assertEquals(1,count($locks)); - $this->assertEquals('Evert',$locks[0]->owner); + $this->assertEquals(1, count($locks)); + $this->assertEquals('Evert', $locks[0]->owner); } @@ -423,10 +423,10 @@ class PluginTest extends DAV\AbstractServer { */ function testLockPutBadToken() { - $serverVars = array( + $serverVars = [ 'REQUEST_URI' => '/test.txt', 'REQUEST_METHOD' => 'LOCK', - ); + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $request->setBody('<?xml version="1.0"?> @@ -441,24 +441,24 @@ class PluginTest extends DAV\AbstractServer { $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals('application/xml; charset=utf-8',$this->response->getHeader('Content-Type')); - $this->assertTrue(preg_match('/^<opaquelocktoken:(.*)>$/',$this->response->getHeader('Lock-Token'))===1,'We did not get a valid Locktoken back (' . $this->response->getHeader('Lock-Token') . ')'); + $this->assertEquals('application/xml; charset=utf-8', $this->response->getHeader('Content-Type')); + $this->assertTrue(preg_match('/^<opaquelocktoken:(.*)>$/', $this->response->getHeader('Lock-Token')) === 1, 'We did not get a valid Locktoken back (' . $this->response->getHeader('Lock-Token') . ')'); $this->assertEquals(200, $this->response->status); - $serverVars = array( + $serverVars = [ 'REQUEST_URI' => '/test.txt', 'REQUEST_METHOD' => 'PUT', - 'HTTP_IF' => '(<opaquelocktoken:token1>)', - ); + 'HTTP_IF' => '(<opaquelocktoken:token1>)', + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $request->setBody('newbody'); $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals('application/xml; charset=utf-8',$this->response->getHeader('Content-Type')); - $this->assertTrue(preg_match('/^<opaquelocktoken:(.*)>$/',$this->response->getHeader('Lock-Token'))===1,'We did not get a valid Locktoken back (' . $this->response->getHeader('Lock-Token') . ')'); + $this->assertEquals('application/xml; charset=utf-8', $this->response->getHeader('Content-Type')); + $this->assertTrue(preg_match('/^<opaquelocktoken:(.*)>$/', $this->response->getHeader('Lock-Token')) === 1, 'We did not get a valid Locktoken back (' . $this->response->getHeader('Lock-Token') . ')'); // $this->assertEquals('412 Precondition failed',$this->response->status); $this->assertEquals(423, $this->response->status); @@ -470,10 +470,10 @@ class PluginTest extends DAV\AbstractServer { */ function testLockDeleteParent() { - $serverVars = array( + $serverVars = [ 'REQUEST_URI' => '/dir/child.txt', 'REQUEST_METHOD' => 'LOCK', - ); + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $request->setBody('<?xml version="1.0"?> @@ -488,22 +488,22 @@ class PluginTest extends DAV\AbstractServer { $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals('application/xml; charset=utf-8',$this->response->getHeader('Content-Type')); - $this->assertTrue(preg_match('/^<opaquelocktoken:(.*)>$/',$this->response->getHeader('Lock-Token'))===1,'We did not get a valid Locktoken back (' . $this->response->getHeader('Lock-Token') . ')'); + $this->assertEquals('application/xml; charset=utf-8', $this->response->getHeader('Content-Type')); + $this->assertTrue(preg_match('/^<opaquelocktoken:(.*)>$/', $this->response->getHeader('Lock-Token')) === 1, 'We did not get a valid Locktoken back (' . $this->response->getHeader('Lock-Token') . ')'); $this->assertEquals(200, $this->response->status); - $serverVars = array( + $serverVars = [ 'REQUEST_URI' => '/dir', 'REQUEST_METHOD' => 'DELETE', - ); + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $this->server->httpRequest = $request; $this->server->exec(); $this->assertEquals(423, $this->response->status); - $this->assertEquals('application/xml; charset=utf-8',$this->response->getHeader('Content-Type')); + $this->assertEquals('application/xml; charset=utf-8', $this->response->getHeader('Content-Type')); } /** @@ -511,10 +511,10 @@ class PluginTest extends DAV\AbstractServer { */ function testLockDeleteSucceed() { - $serverVars = array( + $serverVars = [ 'REQUEST_URI' => '/dir/child.txt', 'REQUEST_METHOD' => 'LOCK', - ); + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $request->setBody('<?xml version="1.0"?> @@ -529,23 +529,23 @@ class PluginTest extends DAV\AbstractServer { $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals('application/xml; charset=utf-8',$this->response->getHeader('Content-Type')); - $this->assertTrue(preg_match('/^<opaquelocktoken:(.*)>$/',$this->response->getHeader('Lock-Token'))===1,'We did not get a valid Locktoken back (' . $this->response->getHeader('Lock-Token') . ')'); + $this->assertEquals('application/xml; charset=utf-8', $this->response->getHeader('Content-Type')); + $this->assertTrue(preg_match('/^<opaquelocktoken:(.*)>$/', $this->response->getHeader('Lock-Token')) === 1, 'We did not get a valid Locktoken back (' . $this->response->getHeader('Lock-Token') . ')'); $this->assertEquals(200, $this->response->status); - $serverVars = array( + $serverVars = [ 'REQUEST_URI' => '/dir/child.txt', 'REQUEST_METHOD' => 'DELETE', - 'HTTP_IF' => '(' . $this->response->getHeader('Lock-Token') . ')', - ); + 'HTTP_IF' => '(' . $this->response->getHeader('Lock-Token') . ')', + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $this->server->httpRequest = $request; $this->server->exec(); $this->assertEquals(204, $this->response->status); - $this->assertEquals('application/xml; charset=utf-8',$this->response->getHeader('Content-Type')); + $this->assertEquals('application/xml; charset=utf-8', $this->response->getHeader('Content-Type')); } @@ -554,10 +554,10 @@ class PluginTest extends DAV\AbstractServer { */ function testLockCopyLockSource() { - $serverVars = array( + $serverVars = [ 'REQUEST_URI' => '/dir/child.txt', 'REQUEST_METHOD' => 'LOCK', - ); + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $request->setBody('<?xml version="1.0"?> @@ -572,23 +572,23 @@ class PluginTest extends DAV\AbstractServer { $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals('application/xml; charset=utf-8',$this->response->getHeader('Content-Type')); - $this->assertTrue(preg_match('/^<opaquelocktoken:(.*)>$/',$this->response->getHeader('Lock-Token'))===1,'We did not get a valid Locktoken back (' . $this->response->getHeader('Lock-Token') . ')'); + $this->assertEquals('application/xml; charset=utf-8', $this->response->getHeader('Content-Type')); + $this->assertTrue(preg_match('/^<opaquelocktoken:(.*)>$/', $this->response->getHeader('Lock-Token')) === 1, 'We did not get a valid Locktoken back (' . $this->response->getHeader('Lock-Token') . ')'); $this->assertEquals(200, $this->response->status); - $serverVars = array( - 'REQUEST_URI' => '/dir/child.txt', - 'REQUEST_METHOD' => 'COPY', + $serverVars = [ + 'REQUEST_URI' => '/dir/child.txt', + 'REQUEST_METHOD' => 'COPY', 'HTTP_DESTINATION' => '/dir/child2.txt', - ); + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals(201, $this->response->status,'Copy must succeed if only the source is locked, but not the destination'); - $this->assertEquals('application/xml; charset=utf-8',$this->response->getHeader('Content-Type')); + $this->assertEquals(201, $this->response->status, 'Copy must succeed if only the source is locked, but not the destination'); + $this->assertEquals('application/xml; charset=utf-8', $this->response->getHeader('Content-Type')); } /** @@ -596,10 +596,10 @@ class PluginTest extends DAV\AbstractServer { */ function testLockCopyLockDestination() { - $serverVars = array( + $serverVars = [ 'REQUEST_URI' => '/dir/child2.txt', 'REQUEST_METHOD' => 'LOCK', - ); + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $request->setBody('<?xml version="1.0"?> @@ -614,23 +614,23 @@ class PluginTest extends DAV\AbstractServer { $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals('application/xml; charset=utf-8',$this->response->getHeader('Content-Type')); - $this->assertTrue(preg_match('/^<opaquelocktoken:(.*)>$/',$this->response->getHeader('Lock-Token'))===1,'We did not get a valid Locktoken back (' . $this->response->getHeader('Lock-Token') . ')'); + $this->assertEquals('application/xml; charset=utf-8', $this->response->getHeader('Content-Type')); + $this->assertTrue(preg_match('/^<opaquelocktoken:(.*)>$/', $this->response->getHeader('Lock-Token')) === 1, 'We did not get a valid Locktoken back (' . $this->response->getHeader('Lock-Token') . ')'); $this->assertEquals(201, $this->response->status); - $serverVars = array( - 'REQUEST_URI' => '/dir/child.txt', - 'REQUEST_METHOD' => 'COPY', + $serverVars = [ + 'REQUEST_URI' => '/dir/child.txt', + 'REQUEST_METHOD' => 'COPY', 'HTTP_DESTINATION' => '/dir/child2.txt', - ); + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals(423, $this->response->status,'Copy must succeed if only the source is locked, but not the destination'); - $this->assertEquals('application/xml; charset=utf-8',$this->response->getHeader('Content-Type')); + $this->assertEquals(423, $this->response->status, 'Copy must succeed if only the source is locked, but not the destination'); + $this->assertEquals('application/xml; charset=utf-8', $this->response->getHeader('Content-Type')); } @@ -639,10 +639,10 @@ class PluginTest extends DAV\AbstractServer { */ function testLockMoveLockSourceLocked() { - $serverVars = array( + $serverVars = [ 'REQUEST_URI' => '/dir/child.txt', 'REQUEST_METHOD' => 'LOCK', - ); + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $request->setBody('<?xml version="1.0"?> @@ -657,23 +657,23 @@ class PluginTest extends DAV\AbstractServer { $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals('application/xml; charset=utf-8',$this->response->getHeader('Content-Type')); - $this->assertTrue(preg_match('/^<opaquelocktoken:(.*)>$/',$this->response->getHeader('Lock-Token'))===1,'We did not get a valid Locktoken back (' . $this->response->getHeader('Lock-Token') . ')'); + $this->assertEquals('application/xml; charset=utf-8', $this->response->getHeader('Content-Type')); + $this->assertTrue(preg_match('/^<opaquelocktoken:(.*)>$/', $this->response->getHeader('Lock-Token')) === 1, 'We did not get a valid Locktoken back (' . $this->response->getHeader('Lock-Token') . ')'); $this->assertEquals(200, $this->response->status); - $serverVars = array( - 'REQUEST_URI' => '/dir/child.txt', - 'REQUEST_METHOD' => 'MOVE', + $serverVars = [ + 'REQUEST_URI' => '/dir/child.txt', + 'REQUEST_METHOD' => 'MOVE', 'HTTP_DESTINATION' => '/dir/child2.txt', - ); + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals(423, $this->response->status,'Copy must succeed if only the source is locked, but not the destination'); - $this->assertEquals('application/xml; charset=utf-8',$this->response->getHeader('Content-Type')); + $this->assertEquals(423, $this->response->status, 'Copy must succeed if only the source is locked, but not the destination'); + $this->assertEquals('application/xml; charset=utf-8', $this->response->getHeader('Content-Type')); } @@ -682,10 +682,10 @@ class PluginTest extends DAV\AbstractServer { */ function testLockMoveLockSourceSucceed() { - $serverVars = array( + $serverVars = [ 'REQUEST_URI' => '/dir/child.txt', 'REQUEST_METHOD' => 'LOCK', - ); + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $request->setBody('<?xml version="1.0"?> @@ -700,23 +700,23 @@ class PluginTest extends DAV\AbstractServer { $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals('application/xml; charset=utf-8',$this->response->getHeader('Content-Type')); - $this->assertTrue(preg_match('/^<opaquelocktoken:(.*)>$/',$this->response->getHeader('Lock-Token'))===1,'We did not get a valid Locktoken back (' . $this->response->getHeader('Lock-Token') . ')'); + $this->assertEquals('application/xml; charset=utf-8', $this->response->getHeader('Content-Type')); + $this->assertTrue(preg_match('/^<opaquelocktoken:(.*)>$/', $this->response->getHeader('Lock-Token')) === 1, 'We did not get a valid Locktoken back (' . $this->response->getHeader('Lock-Token') . ')'); $this->assertEquals(200, $this->response->status); - $serverVars = array( - 'REQUEST_URI' => '/dir/child.txt', - 'REQUEST_METHOD' => 'MOVE', + $serverVars = [ + 'REQUEST_URI' => '/dir/child.txt', + 'REQUEST_METHOD' => 'MOVE', 'HTTP_DESTINATION' => '/dir/child2.txt', - 'HTTP_IF' => '(' . $this->response->getHeader('Lock-Token') . ')', - ); + 'HTTP_IF' => '(' . $this->response->getHeader('Lock-Token') . ')', + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals(201, $this->response->status,'A valid lock-token was provided for the source, so this MOVE operation must succeed. Full response body: ' . $this->response->body); + $this->assertEquals(201, $this->response->status, 'A valid lock-token was provided for the source, so this MOVE operation must succeed. Full response body: ' . $this->response->body); } @@ -725,10 +725,10 @@ class PluginTest extends DAV\AbstractServer { */ function testLockMoveLockDestination() { - $serverVars = array( + $serverVars = [ 'REQUEST_URI' => '/dir/child2.txt', 'REQUEST_METHOD' => 'LOCK', - ); + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $request->setBody('<?xml version="1.0"?> @@ -743,23 +743,23 @@ class PluginTest extends DAV\AbstractServer { $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals('application/xml; charset=utf-8',$this->response->getHeader('Content-Type')); - $this->assertTrue(preg_match('/^<opaquelocktoken:(.*)>$/',$this->response->getHeader('Lock-Token'))===1,'We did not get a valid Locktoken back (' . $this->response->getHeader('Lock-Token') . ')'); + $this->assertEquals('application/xml; charset=utf-8', $this->response->getHeader('Content-Type')); + $this->assertTrue(preg_match('/^<opaquelocktoken:(.*)>$/', $this->response->getHeader('Lock-Token')) === 1, 'We did not get a valid Locktoken back (' . $this->response->getHeader('Lock-Token') . ')'); $this->assertEquals(201, $this->response->status); - $serverVars = array( - 'REQUEST_URI' => '/dir/child.txt', - 'REQUEST_METHOD' => 'MOVE', + $serverVars = [ + 'REQUEST_URI' => '/dir/child.txt', + 'REQUEST_METHOD' => 'MOVE', 'HTTP_DESTINATION' => '/dir/child2.txt', - ); + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals(423, $this->response->status,'Copy must succeed if only the source is locked, but not the destination'); - $this->assertEquals('application/xml; charset=utf-8',$this->response->getHeader('Content-Type')); + $this->assertEquals(423, $this->response->status, 'Copy must succeed if only the source is locked, but not the destination'); + $this->assertEquals('application/xml; charset=utf-8', $this->response->getHeader('Content-Type')); } /** @@ -767,11 +767,11 @@ class PluginTest extends DAV\AbstractServer { */ function testLockMoveLockParent() { - $serverVars = array( + $serverVars = [ 'REQUEST_URI' => '/dir', 'REQUEST_METHOD' => 'LOCK', - 'HTTP_DEPTH' => 'infinite', - ); + 'HTTP_DEPTH' => 'infinite', + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $request->setBody('<?xml version="1.0"?> @@ -786,24 +786,24 @@ class PluginTest extends DAV\AbstractServer { $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals('application/xml; charset=utf-8',$this->response->getHeader('Content-Type')); - $this->assertTrue(preg_match('/^<opaquelocktoken:(.*)>$/',$this->response->getHeader('Lock-Token'))===1,'We did not get a valid Locktoken back (' . $this->response->getHeader('Lock-Token') . ')'); + $this->assertEquals('application/xml; charset=utf-8', $this->response->getHeader('Content-Type')); + $this->assertTrue(preg_match('/^<opaquelocktoken:(.*)>$/', $this->response->getHeader('Lock-Token')) === 1, 'We did not get a valid Locktoken back (' . $this->response->getHeader('Lock-Token') . ')'); - $this->assertEquals(200,$this->response->status); + $this->assertEquals(200, $this->response->status); - $serverVars = array( - 'REQUEST_URI' => '/dir/child.txt', - 'REQUEST_METHOD' => 'MOVE', + $serverVars = [ + 'REQUEST_URI' => '/dir/child.txt', + 'REQUEST_METHOD' => 'MOVE', 'HTTP_DESTINATION' => '/dir/child2.txt', - 'HTTP_IF' => '</dir> (' . $this->response->getHeader('Lock-Token') . ')', - ); + 'HTTP_IF' => '</dir> (' . $this->response->getHeader('Lock-Token') . ')', + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals(201, $this->response->status,'We locked the parent of both the source and destination, but the move didn\'t succeed.'); - $this->assertEquals('application/xml; charset=utf-8',$this->response->getHeader('Content-Type')); + $this->assertEquals(201, $this->response->status, 'We locked the parent of both the source and destination, but the move didn\'t succeed.'); + $this->assertEquals('application/xml; charset=utf-8', $this->response->getHeader('Content-Type')); } @@ -812,10 +812,10 @@ class PluginTest extends DAV\AbstractServer { */ function testLockPutGoodToken() { - $serverVars = array( + $serverVars = [ 'REQUEST_URI' => '/test.txt', 'REQUEST_METHOD' => 'LOCK', - ); + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $request->setBody('<?xml version="1.0"?> @@ -830,24 +830,24 @@ class PluginTest extends DAV\AbstractServer { $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals('application/xml; charset=utf-8',$this->response->getHeader('Content-Type')); - $this->assertTrue(preg_match('/^<opaquelocktoken:(.*)>$/',$this->response->getHeader('Lock-Token'))===1,'We did not get a valid Locktoken back (' . $this->response->getHeader('Lock-Token') . ')'); + $this->assertEquals('application/xml; charset=utf-8', $this->response->getHeader('Content-Type')); + $this->assertTrue(preg_match('/^<opaquelocktoken:(.*)>$/', $this->response->getHeader('Lock-Token')) === 1, 'We did not get a valid Locktoken back (' . $this->response->getHeader('Lock-Token') . ')'); $this->assertEquals(200, $this->response->status); - $serverVars = array( + $serverVars = [ 'REQUEST_URI' => '/test.txt', 'REQUEST_METHOD' => 'PUT', - 'HTTP_IF' => '('.$this->response->getHeader('Lock-Token').')', - ); + 'HTTP_IF' => '(' . $this->response->getHeader('Lock-Token') . ')', + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $request->setBody('newbody'); $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals('application/xml; charset=utf-8',$this->response->getHeader('Content-Type')); - $this->assertTrue(preg_match('/^<opaquelocktoken:(.*)>$/',$this->response->getHeader('Lock-Token'))===1,'We did not get a valid Locktoken back (' . $this->response->getHeader('Lock-Token') . ')'); + $this->assertEquals('application/xml; charset=utf-8', $this->response->getHeader('Content-Type')); + $this->assertTrue(preg_match('/^<opaquelocktoken:(.*)>$/', $this->response->getHeader('Lock-Token')) === 1, 'We did not get a valid Locktoken back (' . $this->response->getHeader('Lock-Token') . ')'); $this->assertEquals(204, $this->response->status); @@ -871,22 +871,22 @@ class PluginTest extends DAV\AbstractServer { $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals('application/xml; charset=utf-8',$this->response->getHeader('Content-Type')); - $this->assertTrue(preg_match('/^<opaquelocktoken:(.*)>$/',$this->response->getHeader('Lock-Token'))===1,'We did not get a valid Locktoken back (' . $this->response->getHeader('Lock-Token') . ')'); + $this->assertEquals('application/xml; charset=utf-8', $this->response->getHeader('Content-Type')); + $this->assertTrue(preg_match('/^<opaquelocktoken:(.*)>$/', $this->response->getHeader('Lock-Token')) === 1, 'We did not get a valid Locktoken back (' . $this->response->getHeader('Lock-Token') . ')'); $this->assertEquals(201, $this->response->getStatus()); $request = new HTTP\Request( 'PUT', '/test.txt', - ['If' => '</unrelated.txt> ('.$this->response->getHeader('Lock-Token').')'] + ['If' => '</unrelated.txt> (' . $this->response->getHeader('Lock-Token') . ')'] ); $request->setBody('newbody'); $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals('application/xml; charset=utf-8',$this->response->getHeader('Content-Type')); - $this->assertTrue(preg_match('/^<opaquelocktoken:(.*)>$/',$this->response->getHeader('Lock-Token'))===1,'We did not get a valid Locktoken back (' . $this->response->getHeader('Lock-Token') . ')'); + $this->assertEquals('application/xml; charset=utf-8', $this->response->getHeader('Content-Type')); + $this->assertTrue(preg_match('/^<opaquelocktoken:(.*)>$/', $this->response->getHeader('Lock-Token')) === 1, 'We did not get a valid Locktoken back (' . $this->response->getHeader('Lock-Token') . ')'); $this->assertEquals(204, $this->response->status); @@ -894,11 +894,11 @@ class PluginTest extends DAV\AbstractServer { function testPutWithIncorrectETag() { - $serverVars = array( + $serverVars = [ 'REQUEST_URI' => '/test.txt', 'REQUEST_METHOD' => 'PUT', - 'HTTP_IF' => '(["etag1"])', - ); + 'HTTP_IF' => '(["etag1"])', + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $request->setBody('newbody'); @@ -920,14 +920,14 @@ class PluginTest extends DAV\AbstractServer { $filename = SABRE_TEMPDIR . '/test.txt'; $etag = sha1( fileinode($filename) . - filesize($filename ) . + filesize($filename) . filemtime($filename) ); - $serverVars = array( + $serverVars = [ 'REQUEST_URI' => '/test.txt', 'REQUEST_METHOD' => 'PUT', - 'HTTP_IF' => '(["'.$etag.'"])', - ); + 'HTTP_IF' => '(["' . $etag . '"])', + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $request->setBody('newbody'); @@ -939,11 +939,11 @@ class PluginTest extends DAV\AbstractServer { function testDeleteWithETagOnCollection() { - $serverVars = array( + $serverVars = [ 'REQUEST_URI' => '/dir', 'REQUEST_METHOD' => 'DELETE', - 'HTTP_IF' => '(["etag1"])', - ); + 'HTTP_IF' => '(["etag1"])', + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $this->server->httpRequest = $request; @@ -954,9 +954,9 @@ class PluginTest extends DAV\AbstractServer { function testGetTimeoutHeader() { - $request = HTTP\Sapi::createFromServerArray(array( + $request = HTTP\Sapi::createFromServerArray([ 'HTTP_TIMEOUT' => 'second-100', - )); + ]); $this->server->httpRequest = $request; $this->assertEquals(100, $this->locksPlugin->getTimeoutHeader()); @@ -965,9 +965,9 @@ class PluginTest extends DAV\AbstractServer { function testGetTimeoutHeaderTwoItems() { - $request = HTTP\Sapi::createFromServerArray(array( + $request = HTTP\Sapi::createFromServerArray([ 'HTTP_TIMEOUT' => 'second-5, infinite', - )); + ]); $this->server->httpRequest = $request; $this->assertEquals(5, $this->locksPlugin->getTimeoutHeader()); @@ -976,9 +976,9 @@ class PluginTest extends DAV\AbstractServer { function testGetTimeoutHeaderInfinite() { - $request = HTTP\Sapi::createFromServerArray(array( + $request = HTTP\Sapi::createFromServerArray([ 'HTTP_TIMEOUT' => 'infinite, second-5', - )); + ]); $this->server->httpRequest = $request; $this->assertEquals(LockInfo::TIMEOUT_INFINITE, $this->locksPlugin->getTimeoutHeader()); @@ -990,9 +990,9 @@ class PluginTest extends DAV\AbstractServer { */ function testGetTimeoutHeaderInvalid() { - $request = HTTP\Sapi::createFromServerArray(array( + $request = HTTP\Sapi::createFromServerArray([ 'HTTP_TIMEOUT' => 'yourmom', - )); + ]); $this->server->httpRequest = $request; $this->locksPlugin->getTimeoutHeader(); diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Mount/PluginTest.php b/vendor/sabre/dav/tests/Sabre/DAV/Mount/PluginTest.php index e6415792c..3213fcb1b 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/Mount/PluginTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/Mount/PluginTest.php @@ -18,27 +18,27 @@ class PluginTest extends DAV\AbstractServer { function testPassThrough() { - $serverVars = array( + $serverVars = [ 'REQUEST_URI' => '/', 'REQUEST_METHOD' => 'GET', - ); + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $this->server->httpRequest = ($request); $this->server->exec(); - $this->assertEquals(501, $this->response->status,'We expected GET to not be implemented for Directories. Response body: ' . $this->response->body); + $this->assertEquals(501, $this->response->status, 'We expected GET to not be implemented for Directories. Response body: ' . $this->response->body); } function testMountResponse() { - $serverVars = array( + $serverVars = [ 'REQUEST_URI' => '/?mount', 'REQUEST_METHOD' => 'GET', 'QUERY_STRING' => 'mount', 'HTTP_HOST' => 'example.org', - ); + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $this->server->httpRequest = ($request); @@ -47,11 +47,11 @@ class PluginTest extends DAV\AbstractServer { $this->assertEquals(200, $this->response->status); $xml = simplexml_load_string($this->response->body); - $this->assertInstanceOf('SimpleXMLElement',$xml, 'Response was not a valid xml document. The list of errors:' . print_r(libxml_get_errors(),true) . '. xml body: ' . $this->response->body . '. What type we got: ' . gettype($xml) . ' class, if object: ' . get_class($xml)); + $this->assertInstanceOf('SimpleXMLElement', $xml, 'Response was not a valid xml document. The list of errors:' . print_r(libxml_get_errors(), true) . '. xml body: ' . $this->response->body . '. What type we got: ' . gettype($xml) . ' class, if object: ' . get_class($xml)); - $xml->registerXPathNamespace('dm','http://purl.org/NET/webdav/mount'); + $xml->registerXPathNamespace('dm', 'http://purl.org/NET/webdav/mount'); $url = $xml->xpath('//dm:url'); - $this->assertEquals('http://example.org/',(string)$url[0]); + $this->assertEquals('http://example.org/', (string)$url[0]); } diff --git a/vendor/sabre/dav/tests/Sabre/DAV/ObjectTreeTest.php b/vendor/sabre/dav/tests/Sabre/DAV/ObjectTreeTest.php index 9b7eeb90c..15289ce52 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/ObjectTreeTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/ObjectTreeTest.php @@ -13,8 +13,8 @@ class ObjectTreeTest extends \PHPUnit_Framework_TestCase { \Sabre\TestUtil::clearTempDir(); mkdir(SABRE_TEMPDIR . '/root'); mkdir(SABRE_TEMPDIR . '/root/subdir'); - file_put_contents(SABRE_TEMPDIR . '/root/file.txt','contents'); - file_put_contents(SABRE_TEMPDIR . '/root/subdir/subfile.txt','subcontents'); + file_put_contents(SABRE_TEMPDIR . '/root/file.txt', 'contents'); + file_put_contents(SABRE_TEMPDIR . '/root/subdir/subfile.txt', 'subcontents'); $rootNode = new FSExt\Directory(SABRE_TEMPDIR . '/root'); $this->tree = new Tree($rootNode); @@ -29,22 +29,22 @@ class ObjectTreeTest extends \PHPUnit_Framework_TestCase { function testGetRootNode() { $root = $this->tree->getNodeForPath(''); - $this->assertInstanceOf('Sabre\\DAV\\FSExt\\Directory',$root); + $this->assertInstanceOf('Sabre\\DAV\\FSExt\\Directory', $root); } function testGetSubDir() { $root = $this->tree->getNodeForPath('subdir'); - $this->assertInstanceOf('Sabre\\DAV\\FSExt\\Directory',$root); + $this->assertInstanceOf('Sabre\\DAV\\FSExt\\Directory', $root); } function testCopyFile() { - $this->tree->copy('file.txt','file2.txt'); - $this->assertTrue(file_exists(SABRE_TEMPDIR.'/root/file2.txt')); - $this->assertEquals('contents',file_get_contents(SABRE_TEMPDIR.'/root/file2.txt')); + $this->tree->copy('file.txt', 'file2.txt'); + $this->assertTrue(file_exists(SABRE_TEMPDIR . '/root/file2.txt')); + $this->assertEquals('contents', file_get_contents(SABRE_TEMPDIR . '/root/file2.txt')); } @@ -53,10 +53,10 @@ class ObjectTreeTest extends \PHPUnit_Framework_TestCase { */ function testCopyDirectory() { - $this->tree->copy('subdir','subdir2'); - $this->assertTrue(file_exists(SABRE_TEMPDIR.'/root/subdir2')); - $this->assertTrue(file_exists(SABRE_TEMPDIR.'/root/subdir2/subfile.txt')); - $this->assertEquals('subcontents',file_get_contents(SABRE_TEMPDIR.'/root/subdir2/subfile.txt')); + $this->tree->copy('subdir', 'subdir2'); + $this->assertTrue(file_exists(SABRE_TEMPDIR . '/root/subdir2')); + $this->assertTrue(file_exists(SABRE_TEMPDIR . '/root/subdir2/subfile.txt')); + $this->assertEquals('subcontents', file_get_contents(SABRE_TEMPDIR . '/root/subdir2/subfile.txt')); } @@ -65,10 +65,10 @@ class ObjectTreeTest extends \PHPUnit_Framework_TestCase { */ function testMoveFile() { - $this->tree->move('file.txt','file2.txt'); - $this->assertTrue(file_exists(SABRE_TEMPDIR.'/root/file2.txt')); - $this->assertFalse(file_exists(SABRE_TEMPDIR.'/root/file.txt')); - $this->assertEquals('contents',file_get_contents(SABRE_TEMPDIR.'/root/file2.txt')); + $this->tree->move('file.txt', 'file2.txt'); + $this->assertTrue(file_exists(SABRE_TEMPDIR . '/root/file2.txt')); + $this->assertFalse(file_exists(SABRE_TEMPDIR . '/root/file.txt')); + $this->assertEquals('contents', file_get_contents(SABRE_TEMPDIR . '/root/file2.txt')); } @@ -77,10 +77,10 @@ class ObjectTreeTest extends \PHPUnit_Framework_TestCase { */ function testMoveFileNewParent() { - $this->tree->move('file.txt','subdir/file2.txt'); - $this->assertTrue(file_exists(SABRE_TEMPDIR.'/root/subdir/file2.txt')); - $this->assertFalse(file_exists(SABRE_TEMPDIR.'/root/file.txt')); - $this->assertEquals('contents',file_get_contents(SABRE_TEMPDIR.'/root/subdir/file2.txt')); + $this->tree->move('file.txt', 'subdir/file2.txt'); + $this->assertTrue(file_exists(SABRE_TEMPDIR . '/root/subdir/file2.txt')); + $this->assertFalse(file_exists(SABRE_TEMPDIR . '/root/file.txt')); + $this->assertEquals('contents', file_get_contents(SABRE_TEMPDIR . '/root/subdir/file2.txt')); } @@ -89,11 +89,11 @@ class ObjectTreeTest extends \PHPUnit_Framework_TestCase { */ function testMoveDirectory() { - $this->tree->move('subdir','subdir2'); - $this->assertTrue(file_exists(SABRE_TEMPDIR.'/root/subdir2')); - $this->assertTrue(file_exists(SABRE_TEMPDIR.'/root/subdir2/subfile.txt')); - $this->assertFalse(file_exists(SABRE_TEMPDIR.'/root/subdir')); - $this->assertEquals('subcontents',file_get_contents(SABRE_TEMPDIR.'/root/subdir2/subfile.txt')); + $this->tree->move('subdir', 'subdir2'); + $this->assertTrue(file_exists(SABRE_TEMPDIR . '/root/subdir2')); + $this->assertTrue(file_exists(SABRE_TEMPDIR . '/root/subdir2/subfile.txt')); + $this->assertFalse(file_exists(SABRE_TEMPDIR . '/root/subdir')); + $this->assertEquals('subcontents', file_get_contents(SABRE_TEMPDIR . '/root/subdir2/subfile.txt')); } diff --git a/vendor/sabre/dav/tests/Sabre/DAV/PartialUpdate/FileMock.php b/vendor/sabre/dav/tests/Sabre/DAV/PartialUpdate/FileMock.php index d6cc406be..eff1e7d67 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/PartialUpdate/FileMock.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/PartialUpdate/FileMock.php @@ -1,6 +1,7 @@ <?php namespace Sabre\DAV\PartialUpdate; + use Sabre\DAV; class FileMock implements IPatchSupport { @@ -49,10 +50,10 @@ class FileMock implements IPatchSupport { $data = stream_get_contents($data); } - switch($rangeType) { + switch ($rangeType) { case 1 : - $this->data.=$data; + $this->data .= $data; break; case 3 : // Turn the offset into an offset-offset. diff --git a/vendor/sabre/dav/tests/Sabre/DAV/PartialUpdate/SpecificationTest.php b/vendor/sabre/dav/tests/Sabre/DAV/PartialUpdate/SpecificationTest.php index 31be2a1b1..ca8ca3f6e 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/PartialUpdate/SpecificationTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/PartialUpdate/SpecificationTest.php @@ -16,11 +16,11 @@ class SpecificationTest extends \PHPUnit_Framework_TestCase { protected $server; - public function setUp() { + function setUp() { - $tree = array( + $tree = [ new File(SABRE_TEMPDIR . '/foobar.txt') - ); + ]; $server = new Server($tree); $server->debugExceptions = true; $server->addPlugin(new Plugin()); @@ -31,7 +31,7 @@ class SpecificationTest extends \PHPUnit_Framework_TestCase { } - public function tearDown() { + function tearDown() { \Sabre\TestUtil::clearTempDir(); @@ -40,10 +40,10 @@ class SpecificationTest extends \PHPUnit_Framework_TestCase { /** * @dataProvider data */ - public function testUpdateRange($headerValue, $httpStatus, $endResult, $contentLength = 4) { + function testUpdateRange($headerValue, $httpStatus, $endResult, $contentLength = 4) { $headers = [ - 'Content-Type' => 'application/x-sabredav-partialupdate', + 'Content-Type' => 'application/x-sabredav-partialupdate', 'X-Update-Range' => $headerValue, ]; @@ -64,25 +64,25 @@ class SpecificationTest extends \PHPUnit_Framework_TestCase { $this->assertEquals($endResult, file_get_contents(SABRE_TEMPDIR . '/foobar.txt')); } - } + } - public function data() { + function data() { - return array( + return [ // Problems - array('foo', 400, null), - array('bytes=0-3', 411, null, 0), - array('bytes=4-1', 416, null), - - array('bytes=0-3', 204, '----567890'), - array('bytes=1-4', 204, '1----67890'), - array('bytes=0-', 204, '----567890'), - array('bytes=-4', 204, '123456----'), - array('bytes=-2', 204, '12345678----'), - array('bytes=2-', 204, '12----7890'), - array('append', 204, '1234567890----'), - - ); + ['foo', 400, null], + ['bytes=0-3', 411, null, 0], + ['bytes=4-1', 416, null], + + ['bytes=0-3', 204, '----567890'], + ['bytes=1-4', 204, '1----67890'], + ['bytes=0-', 204, '----567890'], + ['bytes=-4', 204, '123456----'], + ['bytes=-2', 204, '12345678----'], + ['bytes=2-', 204, '12----7890'], + ['append', 204, '1234567890----'], + + ]; } diff --git a/vendor/sabre/dav/tests/Sabre/DAV/ServerMKCOLTest.php b/vendor/sabre/dav/tests/Sabre/DAV/ServerMKCOLTest.php index e35189ec3..557eddbbc 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/ServerMKCOLTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/ServerMKCOLTest.php @@ -8,20 +8,20 @@ class ServerMKCOLTest extends AbstractServer { function testMkcol() { - $serverVars = array( + $serverVars = [ 'REQUEST_URI' => '/testcol', 'REQUEST_METHOD' => 'MKCOL', - ); + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $request->setBody(""); $this->server->httpRequest = ($request); $this->server->exec(); - $this->assertEquals(array( + $this->assertEquals([ 'X-Sabre-Version' => [Version::VERSION], - 'Content-Length' => ['0'], - ),$this->response->getHeaders()); + 'Content-Length' => ['0'], + ], $this->response->getHeaders()); $this->assertEquals(201, $this->response->status); $this->assertEquals('', $this->response->body); @@ -34,20 +34,20 @@ class ServerMKCOLTest extends AbstractServer { */ function testMKCOLUnknownBody() { - $serverVars = array( + $serverVars = [ 'REQUEST_URI' => '/testcol', 'REQUEST_METHOD' => 'MKCOL', - ); + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $request->setBody("Hello"); $this->server->httpRequest = ($request); $this->server->exec(); - $this->assertEquals(array( + $this->assertEquals([ 'X-Sabre-Version' => [Version::VERSION], - 'Content-Type' => ['application/xml; charset=utf-8'], - ),$this->response->getHeaders()); + 'Content-Type' => ['application/xml; charset=utf-8'], + ], $this->response->getHeaders()); $this->assertEquals(415, $this->response->status); @@ -58,23 +58,23 @@ class ServerMKCOLTest extends AbstractServer { */ function testMKCOLBrokenXML() { - $serverVars = array( - 'REQUEST_URI' => '/testcol', - 'REQUEST_METHOD' => 'MKCOL', + $serverVars = [ + 'REQUEST_URI' => '/testcol', + 'REQUEST_METHOD' => 'MKCOL', 'HTTP_CONTENT_TYPE' => 'application/xml', - ); + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $request->setBody("Hello"); $this->server->httpRequest = ($request); $this->server->exec(); - $this->assertEquals(array( + $this->assertEquals([ 'X-Sabre-Version' => [Version::VERSION], - 'Content-Type' => ['application/xml; charset=utf-8'], - ),$this->response->getHeaders()); + 'Content-Type' => ['application/xml; charset=utf-8'], + ], $this->response->getHeaders()); - $this->assertEquals(400, $this->response->getStatus(), $this->response->getBodyAsString() ); + $this->assertEquals(400, $this->response->getStatus(), $this->response->getBodyAsString()); } @@ -83,21 +83,21 @@ class ServerMKCOLTest extends AbstractServer { */ function testMKCOLUnknownXML() { - $serverVars = array( - 'REQUEST_URI' => '/testcol', - 'REQUEST_METHOD' => 'MKCOL', + $serverVars = [ + 'REQUEST_URI' => '/testcol', + 'REQUEST_METHOD' => 'MKCOL', 'HTTP_CONTENT_TYPE' => 'application/xml', - ); + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $request->setBody('<?xml version="1.0"?><html></html>'); $this->server->httpRequest = ($request); $this->server->exec(); - $this->assertEquals(array( + $this->assertEquals([ 'X-Sabre-Version' => [Version::VERSION], - 'Content-Type' => ['application/xml; charset=utf-8'], - ),$this->response->getHeaders()); + 'Content-Type' => ['application/xml; charset=utf-8'], + ], $this->response->getHeaders()); $this->assertEquals(400, $this->response->getStatus()); @@ -108,11 +108,11 @@ class ServerMKCOLTest extends AbstractServer { */ function testMKCOLNoResourceType() { - $serverVars = array( - 'REQUEST_URI' => '/testcol', - 'REQUEST_METHOD' => 'MKCOL', + $serverVars = [ + 'REQUEST_URI' => '/testcol', + 'REQUEST_METHOD' => 'MKCOL', 'HTTP_CONTENT_TYPE' => 'application/xml', - ); + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $request->setBody('<?xml version="1.0"?> @@ -126,12 +126,12 @@ class ServerMKCOLTest extends AbstractServer { $this->server->httpRequest = ($request); $this->server->exec(); - $this->assertEquals(array( + $this->assertEquals([ 'X-Sabre-Version' => [Version::VERSION], - 'Content-Type' => ['application/xml; charset=utf-8'], - ),$this->response->getHeaders()); + 'Content-Type' => ['application/xml; charset=utf-8'], + ], $this->response->getHeaders()); - $this->assertEquals(400, $this->response->status, 'Wrong statuscode received. Full response body: ' .$this->response->body); + $this->assertEquals(400, $this->response->status, 'Wrong statuscode received. Full response body: ' . $this->response->body); } @@ -140,11 +140,11 @@ class ServerMKCOLTest extends AbstractServer { */ function testMKCOLIncorrectResourceType() { - $serverVars = array( - 'REQUEST_URI' => '/testcol', - 'REQUEST_METHOD' => 'MKCOL', + $serverVars = [ + 'REQUEST_URI' => '/testcol', + 'REQUEST_METHOD' => 'MKCOL', 'HTTP_CONTENT_TYPE' => 'application/xml', - ); + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $request->setBody('<?xml version="1.0"?> @@ -158,12 +158,12 @@ class ServerMKCOLTest extends AbstractServer { $this->server->httpRequest = ($request); $this->server->exec(); - $this->assertEquals(array( + $this->assertEquals([ 'X-Sabre-Version' => [Version::VERSION], - 'Content-Type' => ['application/xml; charset=utf-8'], - ),$this->response->getHeaders()); + 'Content-Type' => ['application/xml; charset=utf-8'], + ], $this->response->getHeaders()); - $this->assertEquals(403, $this->response->status, 'Wrong statuscode received. Full response body: ' .$this->response->body); + $this->assertEquals(403, $this->response->status, 'Wrong statuscode received. Full response body: ' . $this->response->body); } @@ -172,11 +172,11 @@ class ServerMKCOLTest extends AbstractServer { */ function testMKCOLSuccess() { - $serverVars = array( - 'REQUEST_URI' => '/testcol', - 'REQUEST_METHOD' => 'MKCOL', + $serverVars = [ + 'REQUEST_URI' => '/testcol', + 'REQUEST_METHOD' => 'MKCOL', 'HTTP_CONTENT_TYPE' => 'application/xml', - ); + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $request->setBody('<?xml version="1.0"?> @@ -190,12 +190,12 @@ class ServerMKCOLTest extends AbstractServer { $this->server->httpRequest = ($request); $this->server->exec(); - $this->assertEquals(array( + $this->assertEquals([ 'X-Sabre-Version' => [Version::VERSION], - 'Content-Length' => ['0'], - ),$this->response->getHeaders()); + 'Content-Length' => ['0'], + ], $this->response->getHeaders()); - $this->assertEquals(201, $this->response->status, 'Wrong statuscode received. Full response body: ' .$this->response->body); + $this->assertEquals(201, $this->response->status, 'Wrong statuscode received. Full response body: ' . $this->response->body); } @@ -204,11 +204,11 @@ class ServerMKCOLTest extends AbstractServer { */ function testMKCOLWhiteSpaceResourceType() { - $serverVars = array( - 'REQUEST_URI' => '/testcol', - 'REQUEST_METHOD' => 'MKCOL', + $serverVars = [ + 'REQUEST_URI' => '/testcol', + 'REQUEST_METHOD' => 'MKCOL', 'HTTP_CONTENT_TYPE' => 'application/xml', - ); + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $request->setBody('<?xml version="1.0"?> @@ -224,12 +224,12 @@ class ServerMKCOLTest extends AbstractServer { $this->server->httpRequest = ($request); $this->server->exec(); - $this->assertEquals(array( + $this->assertEquals([ 'X-Sabre-Version' => [Version::VERSION], - 'Content-Length' => ['0'], - ),$this->response->getHeaders()); + 'Content-Length' => ['0'], + ], $this->response->getHeaders()); - $this->assertEquals(201, $this->response->status, 'Wrong statuscode received. Full response body: ' .$this->response->body); + $this->assertEquals(201, $this->response->status, 'Wrong statuscode received. Full response body: ' . $this->response->body); } @@ -238,10 +238,10 @@ class ServerMKCOLTest extends AbstractServer { */ function testMKCOLNoParent() { - $serverVars = array( + $serverVars = [ 'REQUEST_URI' => '/testnoparent/409me', 'REQUEST_METHOD' => 'MKCOL', - ); + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $request->setBody(''); @@ -249,12 +249,12 @@ class ServerMKCOLTest extends AbstractServer { $this->server->httpRequest = ($request); $this->server->exec(); - $this->assertEquals(array( + $this->assertEquals([ 'X-Sabre-Version' => [Version::VERSION], - 'Content-Type' => ['application/xml; charset=utf-8'], - ),$this->response->getHeaders()); + 'Content-Type' => ['application/xml; charset=utf-8'], + ], $this->response->getHeaders()); - $this->assertEquals(409, $this->response->status, 'Wrong statuscode received. Full response body: ' .$this->response->body); + $this->assertEquals(409, $this->response->status, 'Wrong statuscode received. Full response body: ' . $this->response->body); } @@ -263,10 +263,10 @@ class ServerMKCOLTest extends AbstractServer { */ function testMKCOLParentIsNoCollection() { - $serverVars = array( + $serverVars = [ 'REQUEST_URI' => '/test.txt/409me', 'REQUEST_METHOD' => 'MKCOL', - ); + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $request->setBody(''); @@ -274,12 +274,12 @@ class ServerMKCOLTest extends AbstractServer { $this->server->httpRequest = ($request); $this->server->exec(); - $this->assertEquals(array( + $this->assertEquals([ 'X-Sabre-Version' => [Version::VERSION], - 'Content-Type' => ['application/xml; charset=utf-8'], - ),$this->response->getHeaders()); + 'Content-Type' => ['application/xml; charset=utf-8'], + ], $this->response->getHeaders()); - $this->assertEquals(409, $this->response->status, 'Wrong statuscode received. Full response body: ' .$this->response->body); + $this->assertEquals(409, $this->response->status, 'Wrong statuscode received. Full response body: ' . $this->response->body); } @@ -288,10 +288,10 @@ class ServerMKCOLTest extends AbstractServer { */ function testMKCOLAlreadyExists() { - $serverVars = array( + $serverVars = [ 'REQUEST_URI' => '/test.txt', 'REQUEST_METHOD' => 'MKCOL', - ); + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $request->setBody(''); @@ -299,13 +299,13 @@ class ServerMKCOLTest extends AbstractServer { $this->server->httpRequest = ($request); $this->server->exec(); - $this->assertEquals(array( + $this->assertEquals([ 'X-Sabre-Version' => [Version::VERSION], - 'Content-Type' => ['application/xml; charset=utf-8'], - 'Allow' => ['OPTIONS, GET, HEAD, DELETE, PROPFIND, PUT, PROPPATCH, COPY, MOVE, REPORT'], - ),$this->response->getHeaders()); + 'Content-Type' => ['application/xml; charset=utf-8'], + 'Allow' => ['OPTIONS, GET, HEAD, DELETE, PROPFIND, PUT, PROPPATCH, COPY, MOVE, REPORT'], + ], $this->response->getHeaders()); - $this->assertEquals(405, $this->response->status, 'Wrong statuscode received. Full response body: ' .$this->response->body); + $this->assertEquals(405, $this->response->status, 'Wrong statuscode received. Full response body: ' . $this->response->body); } @@ -315,13 +315,11 @@ class ServerMKCOLTest extends AbstractServer { */ function testMKCOLAndProps() { - $serverVars = array( - 'REQUEST_URI' => '/testcol', - 'REQUEST_METHOD' => 'MKCOL', - 'HTTP_CONTENT_TYPE' => 'application/xml', + $request = new HTTP\Request( + 'MKCOL', + '/testcol', + ['Content-Type' => 'application/xml'] ); - - $request = HTTP\Sapi::createFromServerArray($serverVars); $request->setBody('<?xml version="1.0"?> <mkcol xmlns="DAV:"> <set> @@ -334,12 +332,34 @@ class ServerMKCOLTest extends AbstractServer { $this->server->httpRequest = ($request); $this->server->exec(); - $this->assertEquals(207, $this->response->status, 'Wrong statuscode received. Full response body: ' .$this->response->body); + $this->assertEquals(207, $this->response->status, 'Wrong statuscode received. Full response body: ' . $this->response->body); - $this->assertEquals(array( + $this->assertEquals([ 'X-Sabre-Version' => [Version::VERSION], - 'Content-Type' => ['application/xml; charset=utf-8'], - ),$this->response->getHeaders()); + 'Content-Type' => ['application/xml; charset=utf-8'], + ], $this->response->getHeaders()); + + $responseBody = $this->response->getBodyAsString(); + + $expected = <<<XML +<?xml version="1.0"?> +<d:multistatus xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns"> + <d:response> + <d:href>/testcol</d:href> + <d:propstat> + <d:prop> + <d:displayname /> + </d:prop> + <d:status>HTTP/1.1 403 Forbidden</d:status> + </d:propstat> + </d:response> +</d:multistatus> +XML; + + $this->assertXmlStringEqualsXmlString( + $expected, + $responseBody + ); } diff --git a/vendor/sabre/dav/tests/Sabre/DAV/ServerPluginTest.php b/vendor/sabre/dav/tests/Sabre/DAV/ServerPluginTest.php index ab0ad295e..fa67102cc 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/ServerPluginTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/ServerPluginTest.php @@ -1,6 +1,7 @@ <?php namespace Sabre\DAV; + use Sabre\HTTP; require_once 'Sabre/DAV/AbstractServer.php'; @@ -28,13 +29,13 @@ class ServerPluginTest extends AbstractServer { function testBaseClass() { $p = new ServerPluginMock(); - $this->assertEquals([],$p->getFeatures()); - $this->assertEquals([],$p->getHTTPMethods('')); + $this->assertEquals([], $p->getFeatures()); + $this->assertEquals([], $p->getHTTPMethods('')); $this->assertEquals( [ - 'name' => 'Sabre\DAV\ServerPluginMock', + 'name' => 'Sabre\DAV\ServerPluginMock', 'description' => null, - 'link' => null + 'link' => null ], $p->getPluginInfo() ); @@ -42,34 +43,34 @@ class ServerPluginTest extends AbstractServer { function testOptions() { - $serverVars = array( + $serverVars = [ 'REQUEST_URI' => '/', 'REQUEST_METHOD' => 'OPTIONS', - ); + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $this->server->httpRequest = ($request); $this->server->exec(); - $this->assertEquals(array( + $this->assertEquals([ 'DAV' => ['1, 3, extended-mkcol, drinking'], 'MS-Author-Via' => ['DAV'], 'Allow' => ['OPTIONS, GET, HEAD, DELETE, PROPFIND, PUT, PROPPATCH, COPY, MOVE, REPORT, BEER, WINE'], 'Accept-Ranges' => ['bytes'], 'Content-Length' => ['0'], 'X-Sabre-Version' => [Version::VERSION], - ),$this->response->getHeaders()); + ], $this->response->getHeaders()); $this->assertEquals(200, $this->response->status); $this->assertEquals('', $this->response->body); - $this->assertEquals('OPTIONS',$this->testPlugin->beforeMethod); + $this->assertEquals('OPTIONS', $this->testPlugin->beforeMethod); } function testGetPlugin() { - $this->assertEquals($this->testPlugin,$this->server->getPlugin(get_class($this->testPlugin))); + $this->assertEquals($this->testPlugin, $this->server->getPlugin(get_class($this->testPlugin))); } @@ -81,17 +82,17 @@ class ServerPluginTest extends AbstractServer { function testGetSupportedReportSet() { - $this->assertEquals(array(), $this->testPlugin->getSupportedReportSet('/')); + $this->assertEquals([], $this->testPlugin->getSupportedReportSet('/')); } function testGetPlugins() { $this->assertEquals( - array( + [ get_class($this->testPlugin) => $this->testPlugin, - 'core' => $this->server->getPlugin('core'), - ), + 'core' => $this->server->getPlugin('core'), + ], $this->server->getPlugins() ); diff --git a/vendor/sabre/dav/tests/Sabre/DAV/ServerPreconditionTest.php b/vendor/sabre/dav/tests/Sabre/DAV/ServerPreconditionTest.php index 1dc8d8a37..203cf26d9 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/ServerPreconditionTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/ServerPreconditionTest.php @@ -13,7 +13,7 @@ class ServerPreconditionsTest extends \PHPUnit_Framework_TestCase { */ function testIfMatchNoNode() { - $root = new SimpleCollection('root',array(new ServerPreconditionsNode())); + $root = new SimpleCollection('root', [new ServerPreconditionsNode()]); $server = new Server($root); $httpRequest = new HTTP\Request('GET', '/bar', ['If-Match' => '*']); $httpResponse = new HTTP\Response(); @@ -25,7 +25,7 @@ class ServerPreconditionsTest extends \PHPUnit_Framework_TestCase { */ function testIfMatchHasNode() { - $root = new SimpleCollection('root',array(new ServerPreconditionsNode())); + $root = new SimpleCollection('root', [new ServerPreconditionsNode()]); $server = new Server($root); $httpRequest = new HTTP\Request('GET', '/foo', ['If-Match' => '*']); $httpResponse = new HTTP\Response(); @@ -38,7 +38,7 @@ class ServerPreconditionsTest extends \PHPUnit_Framework_TestCase { */ function testIfMatchWrongEtag() { - $root = new SimpleCollection('root',array(new ServerPreconditionsNode())); + $root = new SimpleCollection('root', [new ServerPreconditionsNode()]); $server = new Server($root); $httpRequest = new HTTP\Request('GET', '/foo', ['If-Match' => '1234']); $httpResponse = new HTTP\Response(); @@ -50,7 +50,7 @@ class ServerPreconditionsTest extends \PHPUnit_Framework_TestCase { */ function testIfMatchCorrectEtag() { - $root = new SimpleCollection('root',array(new ServerPreconditionsNode())); + $root = new SimpleCollection('root', [new ServerPreconditionsNode()]); $server = new Server($root); $httpRequest = new HTTP\Request('GET', '/foo', ['If-Match' => '"abc123"']); $httpResponse = new HTTP\Response(); @@ -65,7 +65,7 @@ class ServerPreconditionsTest extends \PHPUnit_Framework_TestCase { */ function testIfMatchEvolutionEtag() { - $root = new SimpleCollection('root',array(new ServerPreconditionsNode())); + $root = new SimpleCollection('root', [new ServerPreconditionsNode()]); $server = new Server($root); $httpRequest = new HTTP\Request('GET', '/foo', ['If-Match' => '\\"abc123\\"']); $httpResponse = new HTTP\Response(); @@ -77,7 +77,7 @@ class ServerPreconditionsTest extends \PHPUnit_Framework_TestCase { */ function testIfMatchMultiple() { - $root = new SimpleCollection('root',array(new ServerPreconditionsNode())); + $root = new SimpleCollection('root', [new ServerPreconditionsNode()]); $server = new Server($root); $httpRequest = new HTTP\Request('GET', '/foo', ['If-Match' => '"hellothere", "abc123"']); $httpResponse = new HTTP\Response(); @@ -89,7 +89,7 @@ class ServerPreconditionsTest extends \PHPUnit_Framework_TestCase { */ function testIfNoneMatchNoNode() { - $root = new SimpleCollection('root',array(new ServerPreconditionsNode())); + $root = new SimpleCollection('root', [new ServerPreconditionsNode()]); $server = new Server($root); $httpRequest = new HTTP\Request('GET', '/bar', ['If-None-Match' => '*']); $httpResponse = new HTTP\Response(); @@ -102,7 +102,7 @@ class ServerPreconditionsTest extends \PHPUnit_Framework_TestCase { */ function testIfNoneMatchHasNode() { - $root = new SimpleCollection('root',array(new ServerPreconditionsNode())); + $root = new SimpleCollection('root', [new ServerPreconditionsNode()]); $server = new Server($root); $httpRequest = new HTTP\Request('POST', '/foo', ['If-None-Match' => '*']); $httpResponse = new HTTP\Response(); @@ -114,7 +114,7 @@ class ServerPreconditionsTest extends \PHPUnit_Framework_TestCase { */ function testIfNoneMatchWrongEtag() { - $root = new SimpleCollection('root',array(new ServerPreconditionsNode())); + $root = new SimpleCollection('root', [new ServerPreconditionsNode()]); $server = new Server($root); $httpRequest = new HTTP\Request('POST', '/foo', ['If-None-Match' => '"1234"']); $httpResponse = new HTTP\Response(); @@ -126,7 +126,7 @@ class ServerPreconditionsTest extends \PHPUnit_Framework_TestCase { */ function testIfNoneMatchWrongEtagMultiple() { - $root = new SimpleCollection('root',array(new ServerPreconditionsNode())); + $root = new SimpleCollection('root', [new ServerPreconditionsNode()]); $server = new Server($root); $httpRequest = new HTTP\Request('POST', '/foo', ['If-None-Match' => '"1234", "5678"']); $httpResponse = new HTTP\Response(); @@ -137,9 +137,9 @@ class ServerPreconditionsTest extends \PHPUnit_Framework_TestCase { /** * @expectedException Sabre\DAV\Exception\PreconditionFailed */ - public function testIfNoneMatchCorrectEtag() { + function testIfNoneMatchCorrectEtag() { - $root = new SimpleCollection('root',array(new ServerPreconditionsNode())); + $root = new SimpleCollection('root', [new ServerPreconditionsNode()]); $server = new Server($root); $httpRequest = new HTTP\Request('POST', '/foo', ['If-None-Match' => '"abc123"']); $httpResponse = new HTTP\Response(); @@ -150,9 +150,9 @@ class ServerPreconditionsTest extends \PHPUnit_Framework_TestCase { /** * @expectedException Sabre\DAV\Exception\PreconditionFailed */ - public function testIfNoneMatchCorrectEtagMultiple() { + function testIfNoneMatchCorrectEtagMultiple() { - $root = new SimpleCollection('root',array(new ServerPreconditionsNode())); + $root = new SimpleCollection('root', [new ServerPreconditionsNode()]); $server = new Server($root); $httpRequest = new HTTP\Request('POST', '/foo', ['If-None-Match' => '"1234, "abc123"']); $httpResponse = new HTTP\Response(); @@ -162,9 +162,9 @@ class ServerPreconditionsTest extends \PHPUnit_Framework_TestCase { /** */ - public function testIfNoneMatchCorrectEtagAsGet() { + function testIfNoneMatchCorrectEtagAsGet() { - $root = new SimpleCollection('root',array(new ServerPreconditionsNode())); + $root = new SimpleCollection('root', [new ServerPreconditionsNode()]); $server = new Server($root); $httpRequest = new HTTP\Request('GET', '/foo', ['If-None-Match' => '"abc123"']); $server->httpResponse = new HTTP\ResponseMock(); @@ -178,9 +178,9 @@ class ServerPreconditionsTest extends \PHPUnit_Framework_TestCase { /** * This was a test written for issue #515. */ - public function testNoneMatchCorrectEtagEnsureSapiSent() { + function testNoneMatchCorrectEtagEnsureSapiSent() { - $root = new SimpleCollection('root',array(new ServerPreconditionsNode())); + $root = new SimpleCollection('root', [new ServerPreconditionsNode()]); $server = new Server($root); $server->sapi = new HTTP\SapiMock(); HTTP\SapiMock::$sent = 0; @@ -193,7 +193,7 @@ class ServerPreconditionsTest extends \PHPUnit_Framework_TestCase { $this->assertFalse($server->checkPreconditions($httpRequest, $server->httpResponse)); $this->assertEquals(304, $server->httpResponse->getStatus()); $this->assertEquals([ - 'ETag' => ['"abc123"'], + 'ETag' => ['"abc123"'], 'X-Sabre-Version' => [Version::VERSION], ], $server->httpResponse->getHeaders()); $this->assertEquals(1, HTTP\SapiMock::$sent); @@ -202,35 +202,35 @@ class ServerPreconditionsTest extends \PHPUnit_Framework_TestCase { /** */ - public function testIfModifiedSinceUnModified() { + function testIfModifiedSinceUnModified() { - $root = new SimpleCollection('root',array(new ServerPreconditionsNode())); + $root = new SimpleCollection('root', [new ServerPreconditionsNode()]); $server = new Server($root); - $httpRequest = HTTP\Sapi::createFromServerArray(array( + $httpRequest = HTTP\Sapi::createFromServerArray([ 'HTTP_IF_MODIFIED_SINCE' => 'Sun, 06 Nov 1994 08:49:37 GMT', - 'REQUEST_URI' => '/foo' - )); + 'REQUEST_URI' => '/foo' + ]); $server->httpResponse = new HTTP\ResponseMock(); $this->assertFalse($server->checkPreconditions($httpRequest, $server->httpResponse)); $this->assertEquals(304, $server->httpResponse->status); - $this->assertEquals(array( + $this->assertEquals([ 'Last-Modified' => ['Sat, 06 Apr 1985 23:30:00 GMT'], - ), $server->httpResponse->getHeaders()); + ], $server->httpResponse->getHeaders()); } /** */ - public function testIfModifiedSinceModified() { + function testIfModifiedSinceModified() { - $root = new SimpleCollection('root',array(new ServerPreconditionsNode())); + $root = new SimpleCollection('root', [new ServerPreconditionsNode()]); $server = new Server($root); - $httpRequest = HTTP\Sapi::createFromServerArray(array( + $httpRequest = HTTP\Sapi::createFromServerArray([ 'HTTP_IF_MODIFIED_SINCE' => 'Tue, 06 Nov 1984 08:49:37 GMT', - 'REQUEST_URI' => '/foo' - )); + 'REQUEST_URI' => '/foo' + ]); $httpResponse = new HTTP\ResponseMock(); $this->assertTrue($server->checkPreconditions($httpRequest, $httpResponse)); @@ -239,14 +239,14 @@ class ServerPreconditionsTest extends \PHPUnit_Framework_TestCase { /** */ - public function testIfModifiedSinceInvalidDate() { + function testIfModifiedSinceInvalidDate() { - $root = new SimpleCollection('root',array(new ServerPreconditionsNode())); + $root = new SimpleCollection('root', [new ServerPreconditionsNode()]); $server = new Server($root); - $httpRequest = HTTP\Sapi::createFromServerArray(array( + $httpRequest = HTTP\Sapi::createFromServerArray([ 'HTTP_IF_MODIFIED_SINCE' => 'Your mother', - 'REQUEST_URI' => '/foo' - )); + 'REQUEST_URI' => '/foo' + ]); $httpResponse = new HTTP\ResponseMock(); // Invalid dates must be ignored, so this should return true @@ -256,14 +256,14 @@ class ServerPreconditionsTest extends \PHPUnit_Framework_TestCase { /** */ - public function testIfModifiedSinceInvalidDate2() { + function testIfModifiedSinceInvalidDate2() { - $root = new SimpleCollection('root',array(new ServerPreconditionsNode())); + $root = new SimpleCollection('root', [new ServerPreconditionsNode()]); $server = new Server($root); - $httpRequest = HTTP\Sapi::createFromServerArray(array( + $httpRequest = HTTP\Sapi::createFromServerArray([ 'HTTP_IF_MODIFIED_SINCE' => 'Sun, 06 Nov 1994 08:49:37 EST', - 'REQUEST_URI' => '/foo' - )); + 'REQUEST_URI' => '/foo' + ]); $httpResponse = new HTTP\ResponseMock(); $this->assertTrue($server->checkPreconditions($httpRequest, $httpResponse)); @@ -272,14 +272,14 @@ class ServerPreconditionsTest extends \PHPUnit_Framework_TestCase { /** */ - public function testIfUnmodifiedSinceUnModified() { + function testIfUnmodifiedSinceUnModified() { - $root = new SimpleCollection('root',array(new ServerPreconditionsNode())); + $root = new SimpleCollection('root', [new ServerPreconditionsNode()]); $server = new Server($root); - $httpRequest = HTTP\Sapi::createFromServerArray(array( + $httpRequest = HTTP\Sapi::createFromServerArray([ 'HTTP_IF_UNMODIFIED_SINCE' => 'Sun, 06 Nov 1994 08:49:37 GMT', - 'REQUEST_URI' => '/foo' - )); + 'REQUEST_URI' => '/foo' + ]); $httpResponse = new HTTP\Response(); $this->assertTrue($server->checkPreconditions($httpRequest, $httpResponse)); @@ -289,14 +289,14 @@ class ServerPreconditionsTest extends \PHPUnit_Framework_TestCase { /** * @expectedException Sabre\DAV\Exception\PreconditionFailed */ - public function testIfUnmodifiedSinceModified() { + function testIfUnmodifiedSinceModified() { - $root = new SimpleCollection('root',array(new ServerPreconditionsNode())); + $root = new SimpleCollection('root', [new ServerPreconditionsNode()]); $server = new Server($root); - $httpRequest = HTTP\Sapi::createFromServerArray(array( + $httpRequest = HTTP\Sapi::createFromServerArray([ 'HTTP_IF_UNMODIFIED_SINCE' => 'Tue, 06 Nov 1984 08:49:37 GMT', - 'REQUEST_URI' => '/foo' - )); + 'REQUEST_URI' => '/foo' + ]); $httpResponse = new HTTP\ResponseMock(); $server->checkPreconditions($httpRequest, $httpResponse); @@ -304,14 +304,14 @@ class ServerPreconditionsTest extends \PHPUnit_Framework_TestCase { /** */ - public function testIfUnmodifiedSinceInvalidDate() { + function testIfUnmodifiedSinceInvalidDate() { - $root = new SimpleCollection('root',array(new ServerPreconditionsNode())); + $root = new SimpleCollection('root', [new ServerPreconditionsNode()]); $server = new Server($root); - $httpRequest = HTTP\Sapi::createFromServerArray(array( + $httpRequest = HTTP\Sapi::createFromServerArray([ 'HTTP_IF_UNMODIFIED_SINCE' => 'Sun, 06 Nov 1984 08:49:37 CET', - 'REQUEST_URI' => '/foo' - )); + 'REQUEST_URI' => '/foo' + ]); $httpResponse = new HTTP\ResponseMock(); $this->assertTrue($server->checkPreconditions($httpRequest, $httpResponse)); diff --git a/vendor/sabre/dav/tests/Sabre/DAV/ServerSimpleTest.php b/vendor/sabre/dav/tests/Sabre/DAV/ServerSimpleTest.php index 66dde9db8..043179a00 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/ServerSimpleTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/ServerSimpleTest.php @@ -463,7 +463,7 @@ class ServerSimpleTest extends AbstractServer{ * There are certain cases where no HTTP status may be set. We need to * intercept these and set it to a default error message. */ - function testNoHTTPSTatusSet() { + function testNoHTTPStatusSet() { $this->server->on('method:GET', function() { return false; }, 1); $this->server->httpRequest = new HTTP\Request('GET', '/'); diff --git a/vendor/sabre/dav/tests/Sabre/DAV/ServerUpdatePropertiesTest.php b/vendor/sabre/dav/tests/Sabre/DAV/ServerUpdatePropertiesTest.php index 7fde11b22..383f8e657 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/ServerUpdatePropertiesTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/ServerUpdatePropertiesTest.php @@ -1,101 +1,100 @@ <?php namespace Sabre\DAV; -use Sabre\HTTP; class ServerUpdatePropertiesTest extends \PHPUnit_Framework_TestCase { function testUpdatePropertiesFail() { - $tree = array( + $tree = [ new SimpleCollection('foo'), - ); + ]; $server = new Server($tree); - $result = $server->updateProperties('foo', array( + $result = $server->updateProperties('foo', [ '{DAV:}foo' => 'bar' - )); + ]); - $expected = array( + $expected = [ '{DAV:}foo' => 403, - ); + ]; $this->assertEquals($expected, $result); } function testUpdatePropertiesProtected() { - $tree = array( + $tree = [ new SimpleCollection('foo'), - ); + ]; $server = new Server($tree); $server->on('propPatch', function($path, PropPatch $propPatch) { $propPatch->handleRemaining(function() { return true; }); }); - $result = $server->updateProperties('foo', array( + $result = $server->updateProperties('foo', [ '{DAV:}getetag' => 'bla', - '{DAV:}foo' => 'bar' - )); + '{DAV:}foo' => 'bar' + ]); - $expected = array( + $expected = [ '{DAV:}getetag' => 403, - '{DAV:}foo' => 424, - ); + '{DAV:}foo' => 424, + ]; $this->assertEquals($expected, $result); } function testUpdatePropertiesEventFail() { - $tree = array( + $tree = [ new SimpleCollection('foo'), - ); + ]; $server = new Server($tree); $server->on('propPatch', function($path, PropPatch $propPatch) { $propPatch->setResultCode('{DAV:}foo', 404); $propPatch->handleRemaining(function() { return true; }); }); - $result = $server->updateProperties('foo', array( - '{DAV:}foo' => 'bar', + $result = $server->updateProperties('foo', [ + '{DAV:}foo' => 'bar', '{DAV:}foo2' => 'bla', - )); + ]); - $expected = array( - '{DAV:}foo' => 404, + $expected = [ + '{DAV:}foo' => 404, '{DAV:}foo2' => 424, - ); + ]; $this->assertEquals($expected, $result); } function testUpdatePropertiesEventSuccess() { - $tree = array( + $tree = [ new SimpleCollection('foo'), - ); + ]; $server = new Server($tree); $server->on('propPatch', function($path, PropPatch $propPatch) { $propPatch->handle(['{DAV:}foo', '{DAV:}foo2'], function() { return [ - '{DAV:}foo' => 200, + '{DAV:}foo' => 200, '{DAV:}foo2' => 201, ]; }); }); - $result = $server->updateProperties('foo', array( - '{DAV:}foo' => 'bar', + $result = $server->updateProperties('foo', [ + '{DAV:}foo' => 'bar', '{DAV:}foo2' => 'bla', - )); + ]); - $expected = array( - '{DAV:}foo' => 200, + $expected = [ + '{DAV:}foo' => 200, '{DAV:}foo2' => 201, - ); + ]; $this->assertEquals($expected, $result); } diff --git a/vendor/sabre/dav/tests/Sabre/DAV/SimpleFileTest.php b/vendor/sabre/dav/tests/Sabre/DAV/SimpleFileTest.php index 9b083b998..15ccfaf9e 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/SimpleFileTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/SimpleFileTest.php @@ -6,7 +6,7 @@ class SimpleFileTest extends \PHPUnit_Framework_TestCase { function testAll() { - $file = new SimpleFile('filename.txt','contents','text/plain'); + $file = new SimpleFile('filename.txt', 'contents', 'text/plain'); $this->assertEquals('filename.txt', $file->getName()); $this->assertEquals('contents', $file->get()); diff --git a/vendor/sabre/dav/tests/Sabre/DAV/StringUtilTest.php b/vendor/sabre/dav/tests/Sabre/DAV/StringUtilTest.php index 941d1f913..8888f0276 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/StringUtilTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/StringUtilTest.php @@ -15,61 +15,61 @@ class StringUtilTest extends \PHPUnit_Framework_TestCase { function dataset() { - return array( - array('FOOBAR', 'FOO', 'i;octet', 'contains', true), - array('FOOBAR', 'foo', 'i;octet', 'contains', false), - array('FÖÖBAR', 'FÖÖ', 'i;octet', 'contains', true), - array('FÖÖBAR', 'föö', 'i;octet', 'contains', false), - array('FOOBAR', 'FOOBAR', 'i;octet', 'equals', true), - array('FOOBAR', 'fooBAR', 'i;octet', 'equals', false), - array('FOOBAR', 'FOO', 'i;octet', 'starts-with', true), - array('FOOBAR', 'foo', 'i;octet', 'starts-with', false), - array('FOOBAR', 'BAR', 'i;octet', 'starts-with', false), - array('FOOBAR', 'bar', 'i;octet', 'starts-with', false), - array('FOOBAR', 'FOO', 'i;octet', 'ends-with', false), - array('FOOBAR', 'foo', 'i;octet', 'ends-with', false), - array('FOOBAR', 'BAR', 'i;octet', 'ends-with', true), - array('FOOBAR', 'bar', 'i;octet', 'ends-with', false), - - array('FOOBAR', 'FOO', 'i;ascii-casemap', 'contains', true), - array('FOOBAR', 'foo', 'i;ascii-casemap', 'contains', true), - array('FÖÖBAR', 'FÖÖ', 'i;ascii-casemap', 'contains', true), - array('FÖÖBAR', 'föö', 'i;ascii-casemap', 'contains', false), - array('FOOBAR', 'FOOBAR', 'i;ascii-casemap', 'equals', true), - array('FOOBAR', 'fooBAR', 'i;ascii-casemap', 'equals', true), - array('FOOBAR', 'FOO', 'i;ascii-casemap', 'starts-with', true), - array('FOOBAR', 'foo', 'i;ascii-casemap', 'starts-with', true), - array('FOOBAR', 'BAR', 'i;ascii-casemap', 'starts-with', false), - array('FOOBAR', 'bar', 'i;ascii-casemap', 'starts-with', false), - array('FOOBAR', 'FOO', 'i;ascii-casemap', 'ends-with', false), - array('FOOBAR', 'foo', 'i;ascii-casemap', 'ends-with', false), - array('FOOBAR', 'BAR', 'i;ascii-casemap', 'ends-with', true), - array('FOOBAR', 'bar', 'i;ascii-casemap', 'ends-with', true), - - array('FOOBAR', 'FOO', 'i;unicode-casemap', 'contains', true), - array('FOOBAR', 'foo', 'i;unicode-casemap', 'contains', true), - array('FÖÖBAR', 'FÖÖ', 'i;unicode-casemap', 'contains', true), - array('FÖÖBAR', 'föö', 'i;unicode-casemap', 'contains', true), - array('FOOBAR', 'FOOBAR', 'i;unicode-casemap', 'equals', true), - array('FOOBAR', 'fooBAR', 'i;unicode-casemap', 'equals', true), - array('FOOBAR', 'FOO', 'i;unicode-casemap', 'starts-with', true), - array('FOOBAR', 'foo', 'i;unicode-casemap', 'starts-with', true), - array('FOOBAR', 'BAR', 'i;unicode-casemap', 'starts-with', false), - array('FOOBAR', 'bar', 'i;unicode-casemap', 'starts-with', false), - array('FOOBAR', 'FOO', 'i;unicode-casemap', 'ends-with', false), - array('FOOBAR', 'foo', 'i;unicode-casemap', 'ends-with', false), - array('FOOBAR', 'BAR', 'i;unicode-casemap', 'ends-with', true), - array('FOOBAR', 'bar', 'i;unicode-casemap', 'ends-with', true), - ); + return [ + ['FOOBAR', 'FOO', 'i;octet', 'contains', true], + ['FOOBAR', 'foo', 'i;octet', 'contains', false], + ['FÖÖBAR', 'FÖÖ', 'i;octet', 'contains', true], + ['FÖÖBAR', 'föö', 'i;octet', 'contains', false], + ['FOOBAR', 'FOOBAR', 'i;octet', 'equals', true], + ['FOOBAR', 'fooBAR', 'i;octet', 'equals', false], + ['FOOBAR', 'FOO', 'i;octet', 'starts-with', true], + ['FOOBAR', 'foo', 'i;octet', 'starts-with', false], + ['FOOBAR', 'BAR', 'i;octet', 'starts-with', false], + ['FOOBAR', 'bar', 'i;octet', 'starts-with', false], + ['FOOBAR', 'FOO', 'i;octet', 'ends-with', false], + ['FOOBAR', 'foo', 'i;octet', 'ends-with', false], + ['FOOBAR', 'BAR', 'i;octet', 'ends-with', true], + ['FOOBAR', 'bar', 'i;octet', 'ends-with', false], + + ['FOOBAR', 'FOO', 'i;ascii-casemap', 'contains', true], + ['FOOBAR', 'foo', 'i;ascii-casemap', 'contains', true], + ['FÖÖBAR', 'FÖÖ', 'i;ascii-casemap', 'contains', true], + ['FÖÖBAR', 'föö', 'i;ascii-casemap', 'contains', false], + ['FOOBAR', 'FOOBAR', 'i;ascii-casemap', 'equals', true], + ['FOOBAR', 'fooBAR', 'i;ascii-casemap', 'equals', true], + ['FOOBAR', 'FOO', 'i;ascii-casemap', 'starts-with', true], + ['FOOBAR', 'foo', 'i;ascii-casemap', 'starts-with', true], + ['FOOBAR', 'BAR', 'i;ascii-casemap', 'starts-with', false], + ['FOOBAR', 'bar', 'i;ascii-casemap', 'starts-with', false], + ['FOOBAR', 'FOO', 'i;ascii-casemap', 'ends-with', false], + ['FOOBAR', 'foo', 'i;ascii-casemap', 'ends-with', false], + ['FOOBAR', 'BAR', 'i;ascii-casemap', 'ends-with', true], + ['FOOBAR', 'bar', 'i;ascii-casemap', 'ends-with', true], + + ['FOOBAR', 'FOO', 'i;unicode-casemap', 'contains', true], + ['FOOBAR', 'foo', 'i;unicode-casemap', 'contains', true], + ['FÖÖBAR', 'FÖÖ', 'i;unicode-casemap', 'contains', true], + ['FÖÖBAR', 'föö', 'i;unicode-casemap', 'contains', true], + ['FOOBAR', 'FOOBAR', 'i;unicode-casemap', 'equals', true], + ['FOOBAR', 'fooBAR', 'i;unicode-casemap', 'equals', true], + ['FOOBAR', 'FOO', 'i;unicode-casemap', 'starts-with', true], + ['FOOBAR', 'foo', 'i;unicode-casemap', 'starts-with', true], + ['FOOBAR', 'BAR', 'i;unicode-casemap', 'starts-with', false], + ['FOOBAR', 'bar', 'i;unicode-casemap', 'starts-with', false], + ['FOOBAR', 'FOO', 'i;unicode-casemap', 'ends-with', false], + ['FOOBAR', 'foo', 'i;unicode-casemap', 'ends-with', false], + ['FOOBAR', 'BAR', 'i;unicode-casemap', 'ends-with', true], + ['FOOBAR', 'bar', 'i;unicode-casemap', 'ends-with', true], + ]; } /** * @expectedException Sabre\DAV\Exception\BadRequest */ - public function testBadCollation() { + function testBadCollation() { - StringUtil::textMatch('foobar','foo','blabla','contains'); + StringUtil::textMatch('foobar', 'foo', 'blabla', 'contains'); } @@ -77,13 +77,13 @@ class StringUtilTest extends \PHPUnit_Framework_TestCase { /** * @expectedException Sabre\DAV\Exception\BadRequest */ - public function testBadMatchType() { + function testBadMatchType() { - StringUtil::textMatch('foobar','foo','i;octet','booh'); + StringUtil::textMatch('foobar', 'foo', 'i;octet', 'booh'); } - public function testEnsureUTF8_ascii() { + function testEnsureUTF8_ascii() { $inputString = "harkema"; $outputString = "harkema"; @@ -95,7 +95,7 @@ class StringUtilTest extends \PHPUnit_Framework_TestCase { } - public function testEnsureUTF8_latin1() { + function testEnsureUTF8_latin1() { $inputString = "m\xfcnster"; $outputString = "münster"; @@ -107,7 +107,7 @@ class StringUtilTest extends \PHPUnit_Framework_TestCase { } - public function testEnsureUTF8_utf8() { + function testEnsureUTF8_utf8() { $inputString = "m\xc3\xbcnster"; $outputString = "münster"; diff --git a/vendor/sabre/dav/tests/Sabre/DAV/TemporaryFileFilterTest.php b/vendor/sabre/dav/tests/Sabre/DAV/TemporaryFileFilterTest.php index 7122f4a01..6acd6b077 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/TemporaryFileFilterTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/TemporaryFileFilterTest.php @@ -25,7 +25,7 @@ class TemporaryFileFilterTest extends AbstractServer { $this->assertEquals(201, $this->response->status); $this->assertEquals('0', $this->response->getHeader('Content-Length')); - $this->assertEquals('Testing new file',file_get_contents(SABRE_TEMPDIR . '/testput.txt')); + $this->assertEquals('Testing new file', file_get_contents(SABRE_TEMPDIR . '/testput.txt')); } @@ -39,11 +39,11 @@ class TemporaryFileFilterTest extends AbstractServer { $this->assertEquals('', $this->response->body); $this->assertEquals(201, $this->response->status); - $this->assertEquals(array( + $this->assertEquals([ 'X-Sabre-Temp' => ['true'], - ),$this->response->getHeaders()); + ], $this->response->getHeaders()); - $this->assertFalse(file_exists(SABRE_TEMPDIR . '/._testput.txt'),'._testput.txt should not exist in the regular file structure.'); + $this->assertFalse(file_exists(SABRE_TEMPDIR . '/._testput.txt'), '._testput.txt should not exist in the regular file structure.'); } @@ -57,20 +57,20 @@ class TemporaryFileFilterTest extends AbstractServer { $this->assertEquals('', $this->response->body); $this->assertEquals(201, $this->response->status); - $this->assertEquals(array( + $this->assertEquals([ 'X-Sabre-Temp' => ['true'], - ),$this->response->getHeaders()); + ], $this->response->getHeaders()); - $this->assertFalse(file_exists(SABRE_TEMPDIR . '/._testput.txt'),'._testput.txt should not exist in the regular file structure.'); + $this->assertFalse(file_exists(SABRE_TEMPDIR . '/._testput.txt'), '._testput.txt should not exist in the regular file structure.'); $this->server->exec(); $this->assertEquals(412, $this->response->status); - $this->assertEquals(array( + $this->assertEquals([ 'X-Sabre-Temp' => ['true'], 'Content-Type' => ['application/xml; charset=utf-8'], - ),$this->response->getHeaders()); + ], $this->response->getHeaders()); } @@ -83,9 +83,9 @@ class TemporaryFileFilterTest extends AbstractServer { $this->assertEquals('', $this->response->body); $this->assertEquals(201, $this->response->status); - $this->assertEquals(array( + $this->assertEquals([ 'X-Sabre-Temp' => ['true'], - ),$this->response->getHeaders()); + ], $this->response->getHeaders()); $request = new HTTP\Request('GET', '/._testput.txt'); @@ -93,13 +93,13 @@ class TemporaryFileFilterTest extends AbstractServer { $this->server->exec(); $this->assertEquals(200, $this->response->status); - $this->assertEquals(array( - 'X-Sabre-Temp' => ['true'], + $this->assertEquals([ + 'X-Sabre-Temp' => ['true'], 'Content-Length' => [16], - 'Content-Type' => ['application/octet-stream'], - ),$this->response->getHeaders()); + 'Content-Type' => ['application/octet-stream'], + ], $this->response->getHeaders()); - $this->assertEquals('Testing new file',stream_get_contents($this->response->body)); + $this->assertEquals('Testing new file', stream_get_contents($this->response->body)); } @@ -125,11 +125,11 @@ class TemporaryFileFilterTest extends AbstractServer { $this->server->exec(); $this->assertEquals(201, $this->response->status); - $this->assertEquals('application/xml; charset=utf-8',$this->response->getHeader('Content-Type')); - $this->assertTrue(preg_match('/^<opaquelocktoken:(.*)>$/',$this->response->getHeader('Lock-Token'))===1,'We did not get a valid Locktoken back (' . $this->response->getHeader('Lock-Token') . ')'); - $this->assertEquals('true',$this->response->getHeader('X-Sabre-Temp')); + $this->assertEquals('application/xml; charset=utf-8', $this->response->getHeader('Content-Type')); + $this->assertTrue(preg_match('/^<opaquelocktoken:(.*)>$/', $this->response->getHeader('Lock-Token')) === 1, 'We did not get a valid Locktoken back (' . $this->response->getHeader('Lock-Token') . ')'); + $this->assertEquals('true', $this->response->getHeader('X-Sabre-Temp')); - $this->assertFalse(file_exists(SABRE_TEMPDIR . '/._testlock.txt'),'._testlock.txt should not exist in the regular file structure.'); + $this->assertFalse(file_exists(SABRE_TEMPDIR . '/._testlock.txt'), '._testlock.txt should not exist in the regular file structure.'); } @@ -143,20 +143,20 @@ class TemporaryFileFilterTest extends AbstractServer { $this->assertEquals('', $this->response->body); $this->assertEquals(201, $this->response->status); - $this->assertEquals(array( + $this->assertEquals([ 'X-Sabre-Temp' => ['true'], - ),$this->response->getHeaders()); + ], $this->response->getHeaders()); $request = new HTTP\Request('DELETE', '/._testput.txt'); $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals(204, $this->response->status, "Incorrect status code received. Full body:\n". $this->response->body); - $this->assertEquals(array( + $this->assertEquals(204, $this->response->status, "Incorrect status code received. Full body:\n" . $this->response->body); + $this->assertEquals([ 'X-Sabre-Temp' => ['true'], - ),$this->response->getHeaders()); + ], $this->response->getHeaders()); - $this->assertEquals('',$this->response->body); + $this->assertEquals('', $this->response->body); } @@ -169,30 +169,30 @@ class TemporaryFileFilterTest extends AbstractServer { $this->assertEquals('', $this->response->body); $this->assertEquals(201, $this->response->status); - $this->assertEquals(array( + $this->assertEquals([ 'X-Sabre-Temp' => ['true'], - ),$this->response->getHeaders()); + ], $this->response->getHeaders()); $request = new HTTP\Request('PROPFIND', '/._testput.txt'); $this->server->httpRequest = ($request); $this->server->exec(); - $this->assertEquals(207, $this->response->status,'Incorrect status code returned. Body: ' . $this->response->body); - $this->assertEquals(array( + $this->assertEquals(207, $this->response->status, 'Incorrect status code returned. Body: ' . $this->response->body); + $this->assertEquals([ 'X-Sabre-Temp' => ['true'], 'Content-Type' => ['application/xml; charset=utf-8'], - ),$this->response->getHeaders()); + ], $this->response->getHeaders()); - $body = preg_replace("/xmlns(:[A-Za-z0-9_])?=(\"|\')DAV:(\"|\')/","xmlns\\1=\"urn:DAV\"",$this->response->body); + $body = preg_replace("/xmlns(:[A-Za-z0-9_])?=(\"|\')DAV:(\"|\')/", "xmlns\\1=\"urn:DAV\"", $this->response->body); $xml = simplexml_load_string($body); - $xml->registerXPathNamespace('d','urn:DAV'); + $xml->registerXPathNamespace('d', 'urn:DAV'); list($data) = $xml->xpath('/d:multistatus/d:response/d:href'); - $this->assertEquals('/._testput.txt',(string)$data,'href element should have been /._testput.txt'); + $this->assertEquals('/._testput.txt', (string)$data, 'href element should have been /._testput.txt'); $data = $xml->xpath('/d:multistatus/d:response/d:propstat/d:prop/d:resourcetype'); - $this->assertEquals(1,count($data)); + $this->assertEquals(1, count($data)); } diff --git a/vendor/sabre/dav/tests/Sabre/DAV/TestPlugin.php b/vendor/sabre/dav/tests/Sabre/DAV/TestPlugin.php index bb5ea6acc..619ac03fd 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/TestPlugin.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/TestPlugin.php @@ -2,9 +2,8 @@ namespace Sabre\DAV; -use - Sabre\HTTP\RequestInterface, - Sabre\HTTP\ResponseInterface; +use Sabre\HTTP\RequestInterface; +use Sabre\HTTP\ResponseInterface; class TestPlugin extends ServerPlugin { @@ -24,7 +23,7 @@ class TestPlugin extends ServerPlugin { function initialize(Server $server) { - $server->on('beforeMethod', [$this,'beforeMethod']); + $server->on('beforeMethod', [$this, 'beforeMethod']); } diff --git a/vendor/sabre/dav/tests/Sabre/DAV/TreeTest.php b/vendor/sabre/dav/tests/Sabre/DAV/TreeTest.php index 9516c2390..ad33200c8 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/TreeTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/TreeTest.php @@ -16,18 +16,18 @@ class TreeTest extends \PHPUnit_Framework_TestCase { function testCopy() { $tree = new TreeMock(); - $tree->copy('hi','hi2'); + $tree->copy('hi', 'hi2'); $this->assertArrayHasKey('hi2', $tree->getNodeForPath('')->newDirectories); $this->assertEquals('foobar', $tree->getNodeForPath('hi/file')->get()); - $this->assertEquals(array('test1'=>'value'), $tree->getNodeForPath('hi/file')->getProperties(array())); + $this->assertEquals(['test1' => 'value'], $tree->getNodeForPath('hi/file')->getProperties([])); } function testMove() { $tree = new TreeMock(); - $tree->move('hi','hi2'); + $tree->move('hi', 'hi2'); $this->assertEquals('hi2', $tree->getNodeForPath('hi')->getName()); $this->assertTrue($tree->getNodeForPath('hi')->isRenamed); @@ -37,7 +37,7 @@ class TreeTest extends \PHPUnit_Framework_TestCase { function testDeepMove() { $tree = new TreeMock(); - $tree->move('hi/sub','hi2'); + $tree->move('hi/sub', 'hi2'); $this->assertArrayHasKey('hi2', $tree->getNodeForPath('')->newDirectories); $this->assertTrue($tree->getNodeForPath('hi/sub')->isDeleted); @@ -56,7 +56,7 @@ class TreeTest extends \PHPUnit_Framework_TestCase { $tree = new TreeMock(); $children = $tree->getChildren(''); - $this->assertEquals(2,count($children)); + $this->assertEquals(2, count($children)); $this->assertEquals('hi', $children[0]->getName()); } @@ -85,12 +85,12 @@ class TreeTest extends \PHPUnit_Framework_TestCase { class TreeMock extends Tree { - private $nodes = array(); + private $nodes = []; function __construct() { $file = new TreeFileTester('file'); - $file->properties = ['test1'=>'value']; + $file->properties = ['test1' => 'value']; $file->data = 'foobar'; parent::__construct( @@ -113,8 +113,8 @@ class TreeMock extends Tree { class TreeDirectoryTester extends SimpleCollection { - public $newDirectories = array(); - public $newFiles = array(); + public $newDirectories = []; + public $newFiles = []; public $isDeleted = false; public $isRenamed = false; @@ -124,7 +124,7 @@ class TreeDirectoryTester extends SimpleCollection { } - function createFile($name,$data = null) { + function createFile($name, $data = null) { $this->newFiles[$name] = $data; @@ -132,7 +132,7 @@ class TreeDirectoryTester extends SimpleCollection { function getChild($name) { - if (isset($this->newDirectories[$name])) return new TreeDirectoryTester($name); + if (isset($this->newDirectories[$name])) return new self($name); if (isset($this->newFiles[$name])) return new TreeFileTester($name, $this->newFiles[$name]); return parent::getChild($name); @@ -225,7 +225,7 @@ class TreeMultiGetTester extends TreeDirectoryTester implements IMultiGet { function getMultipleChildren(array $paths) { $result = []; - foreach($paths as $path) { + foreach ($paths as $path) { try { $child = $this->getChild($path); $result[] = $child; diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/ACLMethodTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/ACLMethodTest.php index 4ecd42717..7d7a54d06 100644 --- a/vendor/sabre/dav/tests/Sabre/DAVACL/ACLMethodTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAVACL/ACLMethodTest.php @@ -14,6 +14,7 @@ class ACLMethodTest extends \PHPUnit_Framework_TestCase { $acl = new Plugin(); $server = new DAV\Server(); + $server->addPlugin(new DAV\Auth\Plugin()); $server->addPlugin($acl); $acl->httpAcl($server->httpRequest, $server->httpResponse); @@ -21,15 +22,14 @@ class ACLMethodTest extends \PHPUnit_Framework_TestCase { } /** - - /** + /** * @expectedException Sabre\DAV\Exception\MethodNotAllowed */ function testNotSupportedByNode() { - $tree = array( + $tree = [ new DAV\SimpleCollection('test'), - ); + ]; $acl = new Plugin(); $server = new DAV\Server($tree); $server->httpRequest = new HTTP\Request(); @@ -37,6 +37,7 @@ class ACLMethodTest extends \PHPUnit_Framework_TestCase { <d:acl xmlns:d="DAV:"> </d:acl>'; $server->httpRequest->setBody($body); + $server->addPlugin(new DAV\Auth\Plugin()); $server->addPlugin($acl); $acl->httpACL($server->httpRequest, $server->httpResponse); @@ -45,9 +46,9 @@ class ACLMethodTest extends \PHPUnit_Framework_TestCase { function testSuccessSimple() { - $tree = array( - new MockACLNode('test',array()), - ); + $tree = [ + new MockACLNode('test', []), + ]; $acl = new Plugin(); $server = new DAV\Server($tree); $server->httpRequest = new HTTP\Request(); @@ -57,6 +58,7 @@ class ACLMethodTest extends \PHPUnit_Framework_TestCase { <d:acl xmlns:d="DAV:"> </d:acl>'; $server->httpRequest->setBody($body); + $server->addPlugin(new DAV\Auth\Plugin()); $server->addPlugin($acl); $this->assertFalse($acl->httpACL($server->httpRequest, $server->httpResponse)); @@ -68,12 +70,12 @@ class ACLMethodTest extends \PHPUnit_Framework_TestCase { */ function testUnrecognizedPrincipal() { - $tree = array( - new MockACLNode('test',array()), - ); + $tree = [ + new MockACLNode('test', []), + ]; $acl = new Plugin(); $server = new DAV\Server($tree); - $server->httpRequest = new HTTP\Request('ACL','/test'); + $server->httpRequest = new HTTP\Request('ACL', '/test'); $body = '<?xml version="1.0"?> <d:acl xmlns:d="DAV:"> <d:ace> @@ -82,6 +84,7 @@ class ACLMethodTest extends \PHPUnit_Framework_TestCase { </d:ace> </d:acl>'; $server->httpRequest->setBody($body); + $server->addPlugin(new DAV\Auth\Plugin()); $server->addPlugin($acl); $acl->httpACL($server->httpRequest, $server->httpResponse); @@ -93,15 +96,15 @@ class ACLMethodTest extends \PHPUnit_Framework_TestCase { */ function testUnrecognizedPrincipal2() { - $tree = array( - new MockACLNode('test',array()), - new DAV\SimpleCollection('principals',array( + $tree = [ + new MockACLNode('test', []), + new DAV\SimpleCollection('principals', [ new DAV\SimpleCollection('notaprincipal'), - )), - ); + ]), + ]; $acl = new Plugin(); $server = new DAV\Server($tree); - $server->httpRequest = new HTTP\Request('ACL','/test'); + $server->httpRequest = new HTTP\Request('ACL', '/test'); $body = '<?xml version="1.0"?> <d:acl xmlns:d="DAV:"> <d:ace> @@ -110,6 +113,7 @@ class ACLMethodTest extends \PHPUnit_Framework_TestCase { </d:ace> </d:acl>'; $server->httpRequest->setBody($body); + $server->addPlugin(new DAV\Auth\Plugin()); $server->addPlugin($acl); $acl->httpACL($server->httpRequest, $server->httpResponse); @@ -121,12 +125,12 @@ class ACLMethodTest extends \PHPUnit_Framework_TestCase { */ function testUnknownPrivilege() { - $tree = array( - new MockACLNode('test',array()), - ); + $tree = [ + new MockACLNode('test', []), + ]; $acl = new Plugin(); $server = new DAV\Server($tree); - $server->httpRequest = new HTTP\Request('ACL','/test'); + $server->httpRequest = new HTTP\Request('ACL', '/test'); $body = '<?xml version="1.0"?> <d:acl xmlns:d="DAV:"> <d:ace> @@ -135,6 +139,7 @@ class ACLMethodTest extends \PHPUnit_Framework_TestCase { </d:ace> </d:acl>'; $server->httpRequest->setBody($body); + $server->addPlugin(new DAV\Auth\Plugin()); $server->addPlugin($acl); $acl->httpACL($server->httpRequest, $server->httpResponse); @@ -146,20 +151,24 @@ class ACLMethodTest extends \PHPUnit_Framework_TestCase { */ function testAbstractPrivilege() { - $tree = array( - new MockACLNode('test',array()), - ); + $tree = [ + new MockACLNode('test', []), + ]; $acl = new Plugin(); $server = new DAV\Server($tree); - $server->httpRequest = new HTTP\Request('ACL','/test'); + $server->on('getSupportedPrivilegeSet', function($node, &$supportedPrivilegeSet) { + $supportedPrivilegeSet['{DAV:}foo'] = ['abstract' => true]; + }); + $server->httpRequest = new HTTP\Request('ACL', '/test'); $body = '<?xml version="1.0"?> <d:acl xmlns:d="DAV:"> <d:ace> - <d:grant><d:privilege><d:all /></d:privilege></d:grant> - <d:principal><d:href>/principals/notfound</d:href></d:principal> + <d:grant><d:privilege><d:foo /></d:privilege></d:grant> + <d:principal><d:href>/principals/foo/</d:href></d:principal> </d:ace> </d:acl>'; $server->httpRequest->setBody($body); + $server->addPlugin(new DAV\Auth\Plugin()); $server->addPlugin($acl); $acl->httpACL($server->httpRequest, $server->httpResponse); @@ -171,20 +180,20 @@ class ACLMethodTest extends \PHPUnit_Framework_TestCase { */ function testUpdateProtectedPrivilege() { - $oldACL = array( - array( + $oldACL = [ + [ 'principal' => 'principals/notfound', 'privilege' => '{DAV:}write', 'protected' => true, - ), - ); + ], + ]; - $tree = array( - new MockACLNode('test',$oldACL), - ); + $tree = [ + new MockACLNode('test', $oldACL), + ]; $acl = new Plugin(); $server = new DAV\Server($tree); - $server->httpRequest = new HTTP\Request('ACL','/test'); + $server->httpRequest = new HTTP\Request('ACL', '/test'); $body = '<?xml version="1.0"?> <d:acl xmlns:d="DAV:"> <d:ace> @@ -193,6 +202,7 @@ class ACLMethodTest extends \PHPUnit_Framework_TestCase { </d:ace> </d:acl>'; $server->httpRequest->setBody($body); + $server->addPlugin(new DAV\Auth\Plugin()); $server->addPlugin($acl); $acl->httpACL($server->httpRequest, $server->httpResponse); @@ -204,20 +214,20 @@ class ACLMethodTest extends \PHPUnit_Framework_TestCase { */ function testUpdateProtectedPrivilege2() { - $oldACL = array( - array( + $oldACL = [ + [ 'principal' => 'principals/notfound', 'privilege' => '{DAV:}write', 'protected' => true, - ), - ); + ], + ]; - $tree = array( - new MockACLNode('test',$oldACL), - ); + $tree = [ + new MockACLNode('test', $oldACL), + ]; $acl = new Plugin(); $server = new DAV\Server($tree); - $server->httpRequest = new HTTP\Request('ACL','/test'); + $server->httpRequest = new HTTP\Request('ACL', '/test'); $body = '<?xml version="1.0"?> <d:acl xmlns:d="DAV:"> <d:ace> @@ -226,6 +236,7 @@ class ACLMethodTest extends \PHPUnit_Framework_TestCase { </d:ace> </d:acl>'; $server->httpRequest->setBody($body); + $server->addPlugin(new DAV\Auth\Plugin()); $server->addPlugin($acl); $acl->httpACL($server->httpRequest, $server->httpResponse); @@ -237,20 +248,20 @@ class ACLMethodTest extends \PHPUnit_Framework_TestCase { */ function testUpdateProtectedPrivilege3() { - $oldACL = array( - array( + $oldACL = [ + [ 'principal' => 'principals/notfound', 'privilege' => '{DAV:}write', 'protected' => true, - ), - ); + ], + ]; - $tree = array( - new MockACLNode('test',$oldACL), - ); + $tree = [ + new MockACLNode('test', $oldACL), + ]; $acl = new Plugin(); $server = new DAV\Server($tree); - $server->httpRequest = new HTTP\Request('ACL','/test'); + $server->httpRequest = new HTTP\Request('ACL', '/test'); $body = '<?xml version="1.0"?> <d:acl xmlns:d="DAV:"> <d:ace> @@ -259,6 +270,7 @@ class ACLMethodTest extends \PHPUnit_Framework_TestCase { </d:ace> </d:acl>'; $server->httpRequest->setBody($body); + $server->addPlugin(new DAV\Auth\Plugin()); $server->addPlugin($acl); $acl->httpACL($server->httpRequest, $server->httpResponse); @@ -267,28 +279,28 @@ class ACLMethodTest extends \PHPUnit_Framework_TestCase { function testSuccessComplex() { - $oldACL = array( - array( + $oldACL = [ + [ 'principal' => 'principals/foo', 'privilege' => '{DAV:}write', 'protected' => true, - ), - array( + ], + [ 'principal' => 'principals/bar', 'privilege' => '{DAV:}read', - ), - ); - - $tree = array( - $node = new MockACLNode('test',$oldACL), - new DAV\SimpleCollection('principals', array( - new MockPrincipal('foo','principals/foo'), - new MockPrincipal('baz','principals/baz'), - )), - ); + ], + ]; + + $tree = [ + $node = new MockACLNode('test', $oldACL), + new DAV\SimpleCollection('principals', [ + new MockPrincipal('foo', 'principals/foo'), + new MockPrincipal('baz', 'principals/baz'), + ]), + ]; $acl = new Plugin(); $server = new DAV\Server($tree); - $server->httpRequest = new HTTP\Request('ACL','/test'); + $server->httpRequest = new HTTP\Request('ACL', '/test'); $body = '<?xml version="1.0"?> <d:acl xmlns:d="DAV:"> <d:ace> @@ -302,23 +314,24 @@ class ACLMethodTest extends \PHPUnit_Framework_TestCase { </d:ace> </d:acl>'; $server->httpRequest->setBody($body); + $server->addPlugin(new DAV\Auth\Plugin()); $server->addPlugin($acl); $this->assertFalse($acl->httpAcl($server->httpRequest, $server->httpResponse)); - $this->assertEquals(array( - array( + $this->assertEquals([ + [ 'principal' => 'principals/foo', 'privilege' => '{DAV:}write', 'protected' => true, - ), - array( + ], + [ 'principal' => 'principals/baz', 'privilege' => '{DAV:}write', 'protected' => false, - ), - ), $node->getACL()); + ], + ], $node->getACL()); } } diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/AllowAccessTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/AllowAccessTest.php index 14a80003a..f16693625 100644 --- a/vendor/sabre/dav/tests/Sabre/DAVACL/AllowAccessTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAVACL/AllowAccessTest.php @@ -3,7 +3,6 @@ namespace Sabre\DAVACL; use Sabre\DAV; -use Sabre\HTTP; class AllowAccessTest extends \PHPUnit_Framework_TestCase { @@ -14,13 +13,24 @@ class AllowAccessTest extends \PHPUnit_Framework_TestCase { function setUp() { - $nodes = array( - new DAV\SimpleCollection('testdir'), - ); + $nodes = [ + new DAV\Mock\Collection('testdir', [ + 'file1.txt' => 'contents', + ]), + ]; $this->server = new DAV\Server($nodes); + $this->server->addPlugin( + new DAV\Auth\Plugin( + new DAV\Auth\Backend\Mock() + ) + ); + // Login + $this->server->getPlugin('auth')->beforeMethod( + new \Sabre\HTTP\Request(), + new \Sabre\HTTP\Response() + ); $aclPlugin = new Plugin(); - $aclPlugin->allowAccessToNodesWithoutACL = true; $this->server->addPlugin($aclPlugin); } @@ -64,16 +74,7 @@ class AllowAccessTest extends \PHPUnit_Framework_TestCase { function testPUT() { $this->server->httpRequest->setMethod('PUT'); - $this->server->httpRequest->setUrl('/testdir'); - - $this->assertTrue($this->server->emit('beforeMethod', [$this->server->httpRequest, $this->server->httpResponse])); - - } - - function testACL() { - - $this->server->httpRequest->setMethod('ACL'); - $this->server->httpRequest->setUrl('/testdir'); + $this->server->httpRequest->setUrl('/testdir/file1.txt'); $this->assertTrue($this->server->emit('beforeMethod', [$this->server->httpRequest, $this->server->httpResponse])); diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/BlockAccessTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/BlockAccessTest.php index be3e9dae9..ceae9aed0 100644 --- a/vendor/sabre/dav/tests/Sabre/DAVACL/BlockAccessTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAVACL/BlockAccessTest.php @@ -3,7 +3,6 @@ namespace Sabre\DAVACL; use Sabre\DAV; -use Sabre\HTTP; class BlockAccessTest extends \PHPUnit_Framework_TestCase { @@ -21,7 +20,17 @@ class BlockAccessTest extends \PHPUnit_Framework_TestCase { $this->server = new DAV\Server($nodes); $this->plugin = new Plugin(); - $this->plugin->allowAccessToNodesWithoutACL = false; + $this->plugin->setDefaultAcl([]); + $this->server->addPlugin( + new DAV\Auth\Plugin( + new DAV\Auth\Backend\Mock() + ) + ); + // Login + $this->server->getPlugin('auth')->beforeMethod( + new \Sabre\HTTP\Request(), + new \Sabre\HTTP\Response() + ); $this->server->addPlugin($this->plugin); } @@ -178,10 +187,10 @@ class BlockAccessTest extends \PHPUnit_Framework_TestCase { 200 => [], 404 => [], 403 => [ - '{DAV:}displayname' => null, + '{DAV:}displayname' => null, '{DAV:}getcontentlength' => null, - '{DAV:}bar' => null, - '{DAV:}owner' => null, + '{DAV:}bar' => null, + '{DAV:}owner' => null, ], ]; diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/Exception/AceConflictTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/Exception/AceConflictTest.php index fc48af67f..1cdf2949f 100644 --- a/vendor/sabre/dav/tests/Sabre/DAVACL/Exception/AceConflictTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAVACL/Exception/AceConflictTest.php @@ -11,24 +11,24 @@ class AceConflictTest extends \PHPUnit_Framework_TestCase { $ex = new AceConflict('message'); $server = new DAV\Server(); - $dom = new \DOMDocument('1.0','utf-8'); - $root = $dom->createElementNS('DAV:','d:root'); + $dom = new \DOMDocument('1.0', 'utf-8'); + $root = $dom->createElementNS('DAV:', 'd:root'); $dom->appendChild($root); $ex->serialize($server, $root); - $xpaths = array( - '/d:root' => 1, + $xpaths = [ + '/d:root' => 1, '/d:root/d:no-ace-conflict' => 1, - ); + ]; // Reloading because PHP DOM sucks $dom2 = new \DOMDocument('1.0', 'utf-8'); $dom2->loadXML($dom->saveXML()); $dxpath = new \DOMXPath($dom2); - $dxpath->registerNamespace('d','DAV:'); - foreach($xpaths as $xpath=>$count) { + $dxpath->registerNamespace('d', 'DAV:'); + foreach ($xpaths as $xpath => $count) { $this->assertEquals($count, $dxpath->query($xpath)->length, 'Looking for : ' . $xpath . ', we could only find ' . $dxpath->query($xpath)->length . ' elements, while we expected ' . $count); diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/Exception/NeedPrivilegesExceptionTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/Exception/NeedPrivilegesExceptionTest.php index 7e66adab6..b13e7722d 100644 --- a/vendor/sabre/dav/tests/Sabre/DAVACL/Exception/NeedPrivilegesExceptionTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAVACL/Exception/NeedPrivilegesExceptionTest.php @@ -4,41 +4,41 @@ namespace Sabre\DAVACL\Exception; use Sabre\DAV; -class NeedPrivilegesTest extends \PHPUnit_Framework_TestCase { +class NeedPrivilegesExceptionTest extends \PHPUnit_Framework_TestCase { function testSerialize() { $uri = 'foo'; - $privileges = array( + $privileges = [ '{DAV:}read', '{DAV:}write', - ); + ]; $ex = new NeedPrivileges($uri, $privileges); $server = new DAV\Server(); - $dom = new \DOMDocument('1.0','utf-8'); - $root = $dom->createElementNS('DAV:','d:root'); + $dom = new \DOMDocument('1.0', 'utf-8'); + $root = $dom->createElementNS('DAV:', 'd:root'); $dom->appendChild($root); $ex->serialize($server, $root); - $xpaths = array( - '/d:root' => 1, - '/d:root/d:need-privileges' => 1, - '/d:root/d:need-privileges/d:resource' => 2, - '/d:root/d:need-privileges/d:resource/d:href' => 2, - '/d:root/d:need-privileges/d:resource/d:privilege' => 2, - '/d:root/d:need-privileges/d:resource/d:privilege/d:read' => 1, + $xpaths = [ + '/d:root' => 1, + '/d:root/d:need-privileges' => 1, + '/d:root/d:need-privileges/d:resource' => 2, + '/d:root/d:need-privileges/d:resource/d:href' => 2, + '/d:root/d:need-privileges/d:resource/d:privilege' => 2, + '/d:root/d:need-privileges/d:resource/d:privilege/d:read' => 1, '/d:root/d:need-privileges/d:resource/d:privilege/d:write' => 1, - ); + ]; // Reloading because PHP DOM sucks $dom2 = new \DOMDocument('1.0', 'utf-8'); $dom2->loadXML($dom->saveXML()); $dxpath = new \DOMXPath($dom2); - $dxpath->registerNamespace('d','DAV:'); - foreach($xpaths as $xpath=>$count) { + $dxpath->registerNamespace('d', 'DAV:'); + foreach ($xpaths as $xpath => $count) { $this->assertEquals($count, $dxpath->query($xpath)->length, 'Looking for : ' . $xpath . ', we could only find ' . $dxpath->query($xpath)->length . ' elements, while we expected ' . $count); diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/Exception/NoAbstractTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/Exception/NoAbstractTest.php index 2406c1c38..f52b17371 100644 --- a/vendor/sabre/dav/tests/Sabre/DAVACL/Exception/NoAbstractTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAVACL/Exception/NoAbstractTest.php @@ -11,24 +11,24 @@ class NoAbstractTest extends \PHPUnit_Framework_TestCase { $ex = new NoAbstract('message'); $server = new DAV\Server(); - $dom = new \DOMDocument('1.0','utf-8'); - $root = $dom->createElementNS('DAV:','d:root'); + $dom = new \DOMDocument('1.0', 'utf-8'); + $root = $dom->createElementNS('DAV:', 'd:root'); $dom->appendChild($root); $ex->serialize($server, $root); - $xpaths = array( - '/d:root' => 1, + $xpaths = [ + '/d:root' => 1, '/d:root/d:no-abstract' => 1, - ); + ]; // Reloading because PHP DOM sucks $dom2 = new \DOMDocument('1.0', 'utf-8'); $dom2->loadXML($dom->saveXML()); $dxpath = new \DOMXPath($dom2); - $dxpath->registerNamespace('d','DAV:'); - foreach($xpaths as $xpath=>$count) { + $dxpath->registerNamespace('d', 'DAV:'); + foreach ($xpaths as $xpath => $count) { $this->assertEquals($count, $dxpath->query($xpath)->length, 'Looking for : ' . $xpath . ', we could only find ' . $dxpath->query($xpath)->length . ' elements, while we expected ' . $count); diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/Exception/NotRecognizedPrincipalTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/Exception/NotRecognizedPrincipalTest.php index 6077b0ba5..df89aaf84 100644 --- a/vendor/sabre/dav/tests/Sabre/DAVACL/Exception/NotRecognizedPrincipalTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAVACL/Exception/NotRecognizedPrincipalTest.php @@ -11,24 +11,24 @@ class NotRecognizedPrincipalTest extends \PHPUnit_Framework_TestCase { $ex = new NotRecognizedPrincipal('message'); $server = new DAV\Server(); - $dom = new \DOMDocument('1.0','utf-8'); - $root = $dom->createElementNS('DAV:','d:root'); + $dom = new \DOMDocument('1.0', 'utf-8'); + $root = $dom->createElementNS('DAV:', 'd:root'); $dom->appendChild($root); $ex->serialize($server, $root); - $xpaths = array( - '/d:root' => 1, + $xpaths = [ + '/d:root' => 1, '/d:root/d:recognized-principal' => 1, - ); + ]; // Reloading because PHP DOM sucks $dom2 = new \DOMDocument('1.0', 'utf-8'); $dom2->loadXML($dom->saveXML()); $dxpath = new \DOMXPath($dom2); - $dxpath->registerNamespace('d','DAV:'); - foreach($xpaths as $xpath=>$count) { + $dxpath->registerNamespace('d', 'DAV:'); + foreach ($xpaths as $xpath => $count) { $this->assertEquals($count, $dxpath->query($xpath)->length, 'Looking for : ' . $xpath . ', we could only find ' . $dxpath->query($xpath)->length . ' elements, while we expected ' . $count); diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/Exception/NotSupportedPrivilegeTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/Exception/NotSupportedPrivilegeTest.php index 8e7b3685d..50623952b 100644 --- a/vendor/sabre/dav/tests/Sabre/DAVACL/Exception/NotSupportedPrivilegeTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAVACL/Exception/NotSupportedPrivilegeTest.php @@ -11,24 +11,24 @@ class NotSupportedPrivilegeTest extends \PHPUnit_Framework_TestCase { $ex = new NotSupportedPrivilege('message'); $server = new DAV\Server(); - $dom = new \DOMDocument('1.0','utf-8'); - $root = $dom->createElementNS('DAV:','d:root'); + $dom = new \DOMDocument('1.0', 'utf-8'); + $root = $dom->createElementNS('DAV:', 'd:root'); $dom->appendChild($root); $ex->serialize($server, $root); - $xpaths = array( - '/d:root' => 1, + $xpaths = [ + '/d:root' => 1, '/d:root/d:not-supported-privilege' => 1, - ); + ]; // Reloading because PHP DOM sucks $dom2 = new \DOMDocument('1.0', 'utf-8'); $dom2->loadXML($dom->saveXML()); $dxpath = new \DOMXPath($dom2); - $dxpath->registerNamespace('d','DAV:'); - foreach($xpaths as $xpath=>$count) { + $dxpath->registerNamespace('d', 'DAV:'); + foreach ($xpaths as $xpath => $count) { $this->assertEquals($count, $dxpath->query($xpath)->length, 'Looking for : ' . $xpath . ', we could only find ' . $dxpath->query($xpath)->length . ' elements, while we expected ' . $count); diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/ExpandPropertiesTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/ExpandPropertiesTest.php index 5e99f2e73..0612b5474 100644 --- a/vendor/sabre/dav/tests/Sabre/DAVACL/ExpandPropertiesTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAVACL/ExpandPropertiesTest.php @@ -11,31 +11,31 @@ class ExpandPropertiesTest extends \PHPUnit_Framework_TestCase { function getServer() { - $tree = array( - new DAV\Mock\PropertiesCollection('node1', [], array( + $tree = [ + new DAV\Mock\PropertiesCollection('node1', [], [ '{http://sabredav.org/ns}simple' => 'foo', '{http://sabredav.org/ns}href' => new DAV\Xml\Property\Href('node2'), - '{DAV:}displayname' => 'Node 1', - )), - new DAV\Mock\PropertiesCollection('node2', [], array( + '{DAV:}displayname' => 'Node 1', + ]), + new DAV\Mock\PropertiesCollection('node2', [], [ + '{http://sabredav.org/ns}simple' => 'simple', + '{http://sabredav.org/ns}hreflist' => new DAV\Xml\Property\Href(['node1', 'node3']), + '{DAV:}displayname' => 'Node 2', + ]), + new DAV\Mock\PropertiesCollection('node3', [], [ '{http://sabredav.org/ns}simple' => 'simple', - '{http://sabredav.org/ns}hreflist' => new DAV\Xml\Property\Href(['node1','node3']), - '{DAV:}displayname' => 'Node 2', - )), - new DAV\Mock\PropertiesCollection('node3', [], array( - '{http://sabredav.org/ns}simple' => 'simple', - '{DAV:}displayname' => 'Node 3', - )), - ); + '{DAV:}displayname' => 'Node 3', + ]), + ]; $fakeServer = new DAV\Server($tree); $fakeServer->sapi = new HTTP\SapiMock(); $fakeServer->debugExceptions = true; $fakeServer->httpResponse = new HTTP\ResponseMock(); $plugin = new Plugin(); - $plugin->allowAccessToNodesWithoutACL = true; - + $plugin->allowUnauthenticatedAccess = false; $this->assertTrue($plugin instanceof Plugin); + $fakeServer->addPlugin($plugin); $this->assertEquals($plugin, $fakeServer->getPlugin('acl')); @@ -53,11 +53,11 @@ class ExpandPropertiesTest extends \PHPUnit_Framework_TestCase { <d:property name="href" namespace="http://sabredav.org/ns" /> </d:expand-property>'; - $serverVars = array( + $serverVars = [ 'REQUEST_METHOD' => 'REPORT', 'HTTP_DEPTH' => '0', 'REQUEST_URI' => '/node1', - ); + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $request->setBody($xml); @@ -67,38 +67,38 @@ class ExpandPropertiesTest extends \PHPUnit_Framework_TestCase { $server->exec(); - $this->assertEquals(207, $server->httpResponse->status,'Incorrect status code received. Full body: ' . $server->httpResponse->body); - $this->assertEquals(array( + $this->assertEquals(207, $server->httpResponse->status, 'Incorrect status code received. Full body: ' . $server->httpResponse->body); + $this->assertEquals([ 'X-Sabre-Version' => [DAV\Version::VERSION], - 'Content-Type' => ['application/xml; charset=utf-8'], - ), $server->httpResponse->getHeaders()); + 'Content-Type' => ['application/xml; charset=utf-8'], + ], $server->httpResponse->getHeaders()); - $check = array( + $check = [ '/d:multistatus', - '/d:multistatus/d:response' => 1, - '/d:multistatus/d:response/d:href' => 1, - '/d:multistatus/d:response/d:propstat' => 2, - '/d:multistatus/d:response/d:propstat/d:prop' => 2, + '/d:multistatus/d:response' => 1, + '/d:multistatus/d:response/d:href' => 1, + '/d:multistatus/d:response/d:propstat' => 2, + '/d:multistatus/d:response/d:propstat/d:prop' => 2, '/d:multistatus/d:response/d:propstat/d:prop/d:displayname' => 1, - '/d:multistatus/d:response/d:propstat/d:prop/s:simple' => 1, - '/d:multistatus/d:response/d:propstat/d:prop/s:href' => 1, + '/d:multistatus/d:response/d:propstat/d:prop/s:simple' => 1, + '/d:multistatus/d:response/d:propstat/d:prop/s:href' => 1, '/d:multistatus/d:response/d:propstat/d:prop/s:href/d:href' => 1, - ); + ]; $xml = simplexml_load_string($server->httpResponse->body); - $xml->registerXPathNamespace('d','DAV:'); - $xml->registerXPathNamespace('s','http://sabredav.org/ns'); - foreach($check as $v1=>$v2) { + $xml->registerXPathNamespace('d', 'DAV:'); + $xml->registerXPathNamespace('s', 'http://sabredav.org/ns'); + foreach ($check as $v1 => $v2) { - $xpath = is_int($v1)?$v2:$v1; + $xpath = is_int($v1) ? $v2 : $v1; $result = $xml->xpath($xpath); $count = 1; if (!is_int($v1)) $count = $v2; - $this->assertEquals($count,count($result), 'we expected ' . $count . ' appearances of ' . $xpath . ' . We found ' . count($result) . '. Full response: ' . $server->httpResponse->body); + $this->assertEquals($count, count($result), 'we expected ' . $count . ' appearances of ' . $xpath . ' . We found ' . count($result) . '. Full response: ' . $server->httpResponse->body); } @@ -116,11 +116,11 @@ class ExpandPropertiesTest extends \PHPUnit_Framework_TestCase { </d:property> </d:expand-property>'; - $serverVars = array( + $serverVars = [ 'REQUEST_METHOD' => 'REPORT', 'HTTP_DEPTH' => '0', 'REQUEST_URI' => '/node1', - ); + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $request->setBody($xml); @@ -131,39 +131,39 @@ class ExpandPropertiesTest extends \PHPUnit_Framework_TestCase { $server->exec(); $this->assertEquals(207, $server->httpResponse->status, 'Incorrect response status received. Full response body: ' . $server->httpResponse->body); - $this->assertEquals(array( + $this->assertEquals([ 'X-Sabre-Version' => [DAV\Version::VERSION], - 'Content-Type' => ['application/xml; charset=utf-8'], - ), $server->httpResponse->getHeaders()); + 'Content-Type' => ['application/xml; charset=utf-8'], + ], $server->httpResponse->getHeaders()); - $check = array( + $check = [ '/d:multistatus', - '/d:multistatus/d:response' => 1, - '/d:multistatus/d:response/d:href' => 1, - '/d:multistatus/d:response/d:propstat' => 1, - '/d:multistatus/d:response/d:propstat/d:prop' => 1, - '/d:multistatus/d:response/d:propstat/d:prop/s:href' => 1, - '/d:multistatus/d:response/d:propstat/d:prop/s:href/d:response' => 1, - '/d:multistatus/d:response/d:propstat/d:prop/s:href/d:response/d:href' => 1, - '/d:multistatus/d:response/d:propstat/d:prop/s:href/d:response/d:propstat' => 1, - '/d:multistatus/d:response/d:propstat/d:prop/s:href/d:response/d:propstat/d:prop' => 1, + '/d:multistatus/d:response' => 1, + '/d:multistatus/d:response/d:href' => 1, + '/d:multistatus/d:response/d:propstat' => 1, + '/d:multistatus/d:response/d:propstat/d:prop' => 1, + '/d:multistatus/d:response/d:propstat/d:prop/s:href' => 1, + '/d:multistatus/d:response/d:propstat/d:prop/s:href/d:response' => 1, + '/d:multistatus/d:response/d:propstat/d:prop/s:href/d:response/d:href' => 1, + '/d:multistatus/d:response/d:propstat/d:prop/s:href/d:response/d:propstat' => 1, + '/d:multistatus/d:response/d:propstat/d:prop/s:href/d:response/d:propstat/d:prop' => 1, '/d:multistatus/d:response/d:propstat/d:prop/s:href/d:response/d:propstat/d:prop/d:displayname' => 1, - ); + ]; $xml = simplexml_load_string($server->httpResponse->body); - $xml->registerXPathNamespace('d','DAV:'); - $xml->registerXPathNamespace('s','http://sabredav.org/ns'); - foreach($check as $v1=>$v2) { + $xml->registerXPathNamespace('d', 'DAV:'); + $xml->registerXPathNamespace('s', 'http://sabredav.org/ns'); + foreach ($check as $v1 => $v2) { - $xpath = is_int($v1)?$v2:$v1; + $xpath = is_int($v1) ? $v2 : $v1; $result = $xml->xpath($xpath); $count = 1; if (!is_int($v1)) $count = $v2; - $this->assertEquals($count,count($result), 'we expected ' . $count . ' appearances of ' . $xpath . ' . We found ' . count($result) . ' Full response body: ' . $server->httpResponse->getBodyAsString()); + $this->assertEquals($count, count($result), 'we expected ' . $count . ' appearances of ' . $xpath . ' . We found ' . count($result) . ' Full response body: ' . $server->httpResponse->getBodyAsString()); } @@ -181,11 +181,11 @@ class ExpandPropertiesTest extends \PHPUnit_Framework_TestCase { </d:property> </d:expand-property>'; - $serverVars = array( + $serverVars = [ 'REQUEST_METHOD' => 'REPORT', 'HTTP_DEPTH' => '0', 'REQUEST_URI' => '/node2', - ); + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $request->setBody($xml); @@ -196,39 +196,39 @@ class ExpandPropertiesTest extends \PHPUnit_Framework_TestCase { $server->exec(); $this->assertEquals(207, $server->httpResponse->status); - $this->assertEquals(array( + $this->assertEquals([ 'X-Sabre-Version' => [DAV\Version::VERSION], - 'Content-Type' => ['application/xml; charset=utf-8'], - ), $server->httpResponse->getHeaders()); + 'Content-Type' => ['application/xml; charset=utf-8'], + ], $server->httpResponse->getHeaders()); - $check = array( + $check = [ '/d:multistatus', - '/d:multistatus/d:response' => 1, - '/d:multistatus/d:response/d:href' => 1, - '/d:multistatus/d:response/d:propstat' => 1, - '/d:multistatus/d:response/d:propstat/d:prop' => 1, - '/d:multistatus/d:response/d:propstat/d:prop/s:hreflist' => 1, - '/d:multistatus/d:response/d:propstat/d:prop/s:hreflist/d:response' => 2, - '/d:multistatus/d:response/d:propstat/d:prop/s:hreflist/d:response/d:href' => 2, - '/d:multistatus/d:response/d:propstat/d:prop/s:hreflist/d:response/d:propstat' => 2, - '/d:multistatus/d:response/d:propstat/d:prop/s:hreflist/d:response/d:propstat/d:prop' => 2, + '/d:multistatus/d:response' => 1, + '/d:multistatus/d:response/d:href' => 1, + '/d:multistatus/d:response/d:propstat' => 1, + '/d:multistatus/d:response/d:propstat/d:prop' => 1, + '/d:multistatus/d:response/d:propstat/d:prop/s:hreflist' => 1, + '/d:multistatus/d:response/d:propstat/d:prop/s:hreflist/d:response' => 2, + '/d:multistatus/d:response/d:propstat/d:prop/s:hreflist/d:response/d:href' => 2, + '/d:multistatus/d:response/d:propstat/d:prop/s:hreflist/d:response/d:propstat' => 2, + '/d:multistatus/d:response/d:propstat/d:prop/s:hreflist/d:response/d:propstat/d:prop' => 2, '/d:multistatus/d:response/d:propstat/d:prop/s:hreflist/d:response/d:propstat/d:prop/d:displayname' => 2, - ); + ]; $xml = simplexml_load_string($server->httpResponse->body); - $xml->registerXPathNamespace('d','DAV:'); - $xml->registerXPathNamespace('s','http://sabredav.org/ns'); - foreach($check as $v1=>$v2) { + $xml->registerXPathNamespace('d', 'DAV:'); + $xml->registerXPathNamespace('s', 'http://sabredav.org/ns'); + foreach ($check as $v1 => $v2) { - $xpath = is_int($v1)?$v2:$v1; + $xpath = is_int($v1) ? $v2 : $v1; $result = $xml->xpath($xpath); $count = 1; if (!is_int($v1)) $count = $v2; - $this->assertEquals($count,count($result), 'we expected ' . $count . ' appearances of ' . $xpath . ' . We found ' . count($result)); + $this->assertEquals($count, count($result), 'we expected ' . $count . ' appearances of ' . $xpath . ' . We found ' . count($result)); } @@ -249,11 +249,11 @@ class ExpandPropertiesTest extends \PHPUnit_Framework_TestCase { </d:property> </d:expand-property>'; - $serverVars = array( + $serverVars = [ 'REQUEST_METHOD' => 'REPORT', 'HTTP_DEPTH' => '0', 'REQUEST_URI' => '/node2', - ); + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $request->setBody($xml); @@ -264,45 +264,45 @@ class ExpandPropertiesTest extends \PHPUnit_Framework_TestCase { $server->exec(); $this->assertEquals(207, $server->httpResponse->status); - $this->assertEquals(array( + $this->assertEquals([ 'X-Sabre-Version' => [DAV\Version::VERSION], - 'Content-Type' => ['application/xml; charset=utf-8'], - ), $server->httpResponse->getHeaders()); + 'Content-Type' => ['application/xml; charset=utf-8'], + ], $server->httpResponse->getHeaders()); - $check = array( + $check = [ '/d:multistatus', - '/d:multistatus/d:response' => 1, - '/d:multistatus/d:response/d:href' => 1, - '/d:multistatus/d:response/d:propstat' => 1, - '/d:multistatus/d:response/d:propstat/d:prop' => 1, - '/d:multistatus/d:response/d:propstat/d:prop/s:hreflist' => 1, - '/d:multistatus/d:response/d:propstat/d:prop/s:hreflist/d:response' => 2, - '/d:multistatus/d:response/d:propstat/d:prop/s:hreflist/d:response/d:href' => 2, - '/d:multistatus/d:response/d:propstat/d:prop/s:hreflist/d:response/d:propstat' => 3, - '/d:multistatus/d:response/d:propstat/d:prop/s:hreflist/d:response/d:propstat/d:prop' => 3, - '/d:multistatus/d:response/d:propstat/d:prop/s:hreflist/d:response/d:propstat/d:prop/d:displayname' => 2, - '/d:multistatus/d:response/d:propstat/d:prop/s:hreflist/d:response/d:propstat/d:prop/s:href' => 2, - '/d:multistatus/d:response/d:propstat/d:prop/s:hreflist/d:response/d:propstat/d:prop/s:href/d:response' => 1, - '/d:multistatus/d:response/d:propstat/d:prop/s:hreflist/d:response/d:propstat/d:prop/s:href/d:response/d:href' => 1, - '/d:multistatus/d:response/d:propstat/d:prop/s:hreflist/d:response/d:propstat/d:prop/s:href/d:response/d:propstat' => 1, - '/d:multistatus/d:response/d:propstat/d:prop/s:hreflist/d:response/d:propstat/d:prop/s:href/d:response/d:propstat/d:prop' => 1, + '/d:multistatus/d:response' => 1, + '/d:multistatus/d:response/d:href' => 1, + '/d:multistatus/d:response/d:propstat' => 1, + '/d:multistatus/d:response/d:propstat/d:prop' => 1, + '/d:multistatus/d:response/d:propstat/d:prop/s:hreflist' => 1, + '/d:multistatus/d:response/d:propstat/d:prop/s:hreflist/d:response' => 2, + '/d:multistatus/d:response/d:propstat/d:prop/s:hreflist/d:response/d:href' => 2, + '/d:multistatus/d:response/d:propstat/d:prop/s:hreflist/d:response/d:propstat' => 3, + '/d:multistatus/d:response/d:propstat/d:prop/s:hreflist/d:response/d:propstat/d:prop' => 3, + '/d:multistatus/d:response/d:propstat/d:prop/s:hreflist/d:response/d:propstat/d:prop/d:displayname' => 2, + '/d:multistatus/d:response/d:propstat/d:prop/s:hreflist/d:response/d:propstat/d:prop/s:href' => 2, + '/d:multistatus/d:response/d:propstat/d:prop/s:hreflist/d:response/d:propstat/d:prop/s:href/d:response' => 1, + '/d:multistatus/d:response/d:propstat/d:prop/s:hreflist/d:response/d:propstat/d:prop/s:href/d:response/d:href' => 1, + '/d:multistatus/d:response/d:propstat/d:prop/s:hreflist/d:response/d:propstat/d:prop/s:href/d:response/d:propstat' => 1, + '/d:multistatus/d:response/d:propstat/d:prop/s:hreflist/d:response/d:propstat/d:prop/s:href/d:response/d:propstat/d:prop' => 1, '/d:multistatus/d:response/d:propstat/d:prop/s:hreflist/d:response/d:propstat/d:prop/s:href/d:response/d:propstat/d:prop/d:displayname' => 1, - ); + ]; $xml = simplexml_load_string($server->httpResponse->body); - $xml->registerXPathNamespace('d','DAV:'); - $xml->registerXPathNamespace('s','http://sabredav.org/ns'); - foreach($check as $v1=>$v2) { + $xml->registerXPathNamespace('d', 'DAV:'); + $xml->registerXPathNamespace('s', 'http://sabredav.org/ns'); + foreach ($check as $v1 => $v2) { - $xpath = is_int($v1)?$v2:$v1; + $xpath = is_int($v1) ? $v2 : $v1; $result = $xml->xpath($xpath); $count = 1; if (!is_int($v1)) $count = $v2; - $this->assertEquals($count,count($result), 'we expected ' . $count . ' appearances of ' . $xpath . ' . We found ' . count($result)); + $this->assertEquals($count, count($result), 'we expected ' . $count . ' appearances of ' . $xpath . ' . We found ' . count($result)); } diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/MockACLNode.php b/vendor/sabre/dav/tests/Sabre/DAVACL/MockACLNode.php index 7b3e8fc12..2d9744e29 100644 --- a/vendor/sabre/dav/tests/Sabre/DAVACL/MockACLNode.php +++ b/vendor/sabre/dav/tests/Sabre/DAVACL/MockACLNode.php @@ -3,14 +3,13 @@ namespace Sabre\DAVACL; use Sabre\DAV; -use Sabre\HTTP; class MockACLNode extends DAV\Node implements IACL { public $name; public $acl; - function __construct($name, array $acl = array()) { + function __construct($name, array $acl = []) { $this->name = $name; $this->acl = $acl; diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/MockPrincipal.php b/vendor/sabre/dav/tests/Sabre/DAVACL/MockPrincipal.php index dd8542b8d..934906802 100644 --- a/vendor/sabre/dav/tests/Sabre/DAVACL/MockPrincipal.php +++ b/vendor/sabre/dav/tests/Sabre/DAVACL/MockPrincipal.php @@ -3,16 +3,15 @@ namespace Sabre\DAVACL; use Sabre\DAV; -use Sabre\HTTP; class MockPrincipal extends DAV\Node implements IPrincipal { public $name; public $principalUrl; - public $groupMembership = array(); - public $groupMemberSet = array(); + public $groupMembership = []; + public $groupMemberSet = []; - function __construct($name,$principalUrl,array $groupMembership = array(), array $groupMemberSet = array()) { + function __construct($name, $principalUrl, array $groupMembership = [], array $groupMemberSet = []) { $this->name = $name; $this->principalUrl = $principalUrl; @@ -35,7 +34,7 @@ class MockPrincipal extends DAV\Node implements IPrincipal { function getAlternateUriSet() { - return array(); + return []; } @@ -63,4 +62,3 @@ class MockPrincipal extends DAV\Node implements IPrincipal { } } - diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/PluginAdminTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/PluginAdminTest.php index fb7516a78..8552448f5 100644 --- a/vendor/sabre/dav/tests/Sabre/DAVACL/PluginAdminTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAVACL/PluginAdminTest.php @@ -5,7 +5,6 @@ namespace Sabre\DAVACL; use Sabre\DAV; use Sabre\HTTP; - require_once 'Sabre/DAVACL/MockACLNode.php'; require_once 'Sabre/HTTP/ResponseMock.php'; @@ -17,10 +16,10 @@ class PluginAdminTest extends \PHPUnit_Framework_TestCase { $principalBackend = new PrincipalBackend\Mock(); - $tree = array( - new MockACLNode('adminonly', array()), + $tree = [ + new MockACLNode('adminonly', []), new PrincipalCollection($principalBackend), - ); + ]; $this->server = new DAV\Server($tree); $this->server->sapi = new HTTP\SapiMock(); @@ -33,11 +32,11 @@ class PluginAdminTest extends \PHPUnit_Framework_TestCase { $plugin = new Plugin(); $this->server->addPlugin($plugin); - $request = HTTP\Sapi::createFromServerArray(array( + $request = HTTP\Sapi::createFromServerArray([ 'REQUEST_METHOD' => 'OPTIONS', - 'HTTP_DEPTH' => 1, - 'REQUEST_URI' => '/adminonly', - )); + 'HTTP_DEPTH' => 1, + 'REQUEST_URI' => '/adminonly', + ]); $response = new HTTP\ResponseMock(); @@ -56,16 +55,16 @@ class PluginAdminTest extends \PHPUnit_Framework_TestCase { function testAdminAccess() { $plugin = new Plugin(); - $plugin->adminPrincipals = array( + $plugin->adminPrincipals = [ 'principals/admin', - ); + ]; $this->server->addPlugin($plugin); - $request = HTTP\Sapi::createFromServerArray(array( + $request = HTTP\Sapi::createFromServerArray([ 'REQUEST_METHOD' => 'OPTIONS', - 'HTTP_DEPTH' => 1, - 'REQUEST_URI' => '/adminonly', - )); + 'HTTP_DEPTH' => 1, + 'REQUEST_URI' => '/adminonly', + ]); $response = new HTTP\ResponseMock(); diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/PluginPropertiesTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/PluginPropertiesTest.php index e5b7e1a3f..5762ac902 100644 --- a/vendor/sabre/dav/tests/Sabre/DAVACL/PluginPropertiesTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAVACL/PluginPropertiesTest.php @@ -10,6 +10,7 @@ class PluginPropertiesTest extends \PHPUnit_Framework_TestCase { function testPrincipalCollectionSet() { $plugin = new Plugin(); + $plugin->allowUnauthenticatedAccess = false; $plugin->principalCollectionSet = [ 'principals1', 'principals2', @@ -25,8 +26,8 @@ class PluginPropertiesTest extends \PHPUnit_Framework_TestCase { $result = $server->getPropertiesForPath('', $requestedProperties); $result = $result[0]; - $this->assertEquals(1,count($result[200])); - $this->assertArrayHasKey('{DAV:}principal-collection-set',$result[200]); + $this->assertEquals(1, count($result[200])); + $this->assertArrayHasKey('{DAV:}principal-collection-set', $result[200]); $this->assertInstanceOf('Sabre\\DAV\\Xml\\Property\\Href', $result[200]['{DAV:}principal-collection-set']); $expected = [ @@ -56,8 +57,8 @@ class PluginPropertiesTest extends \PHPUnit_Framework_TestCase { $result = $fakeServer->getPropertiesForPath('', $requestedProperties); $result = $result[0]; - $this->assertEquals(1,count($result[200])); - $this->assertArrayHasKey('{DAV:}current-user-principal',$result[200]); + $this->assertEquals(1, count($result[200])); + $this->assertArrayHasKey('{DAV:}current-user-principal', $result[200]); $this->assertInstanceOf('Sabre\DAVACL\Xml\Property\Principal', $result[200]['{DAV:}current-user-principal']); $this->assertEquals(Xml\Property\Principal::UNAUTHENTICATED, $result[200]['{DAV:}current-user-principal']->getType()); @@ -67,8 +68,8 @@ class PluginPropertiesTest extends \PHPUnit_Framework_TestCase { $result = $fakeServer->getPropertiesForPath('', $requestedProperties); $result = $result[0]; - $this->assertEquals(1,count($result[200])); - $this->assertArrayHasKey('{DAV:}current-user-principal',$result[200]); + $this->assertEquals(1, count($result[200])); + $this->assertArrayHasKey('{DAV:}current-user-principal', $result[200]); $this->assertInstanceOf('Sabre\DAVACL\Xml\Property\Principal', $result[200]['{DAV:}current-user-principal']); $this->assertEquals(Xml\Property\Principal::HREF, $result[200]['{DAV:}current-user-principal']->getType()); $this->assertEquals('principals/admin/', $result[200]['{DAV:}current-user-principal']->getHref()); @@ -78,6 +79,7 @@ class PluginPropertiesTest extends \PHPUnit_Framework_TestCase { function testSupportedPrivilegeSet() { $plugin = new Plugin(); + $plugin->allowUnauthenticatedAccess = false; $server = new DAV\Server(); $server->addPlugin($plugin); @@ -88,8 +90,8 @@ class PluginPropertiesTest extends \PHPUnit_Framework_TestCase { $result = $server->getPropertiesForPath('', $requestedProperties); $result = $result[0]; - $this->assertEquals(1,count($result[200])); - $this->assertArrayHasKey('{DAV:}supported-privilege-set',$result[200]); + $this->assertEquals(1, count($result[200])); + $this->assertArrayHasKey('{DAV:}supported-privilege-set', $result[200]); $this->assertInstanceOf('Sabre\\DAVACL\\Xml\\Property\\SupportedPrivilegeSet', $result[200]['{DAV:}supported-privilege-set']); $server = new DAV\Server(); @@ -98,26 +100,25 @@ class PluginPropertiesTest extends \PHPUnit_Framework_TestCase { $result = $server->xml->write('{DAV:}root', $prop); $xpaths = [ - '/d:root' => 1, - '/d:root/d:supported-privilege' => 1, - '/d:root/d:supported-privilege/d:privilege' => 1, - '/d:root/d:supported-privilege/d:privilege/d:all' => 1, - '/d:root/d:supported-privilege/d:abstract' => 1, - '/d:root/d:supported-privilege/d:supported-privilege' => 2, - '/d:root/d:supported-privilege/d:supported-privilege/d:privilege' => 2, - '/d:root/d:supported-privilege/d:supported-privilege/d:privilege/d:read' => 1, - '/d:root/d:supported-privilege/d:supported-privilege/d:privilege/d:write' => 1, - '/d:root/d:supported-privilege/d:supported-privilege/d:supported-privilege' => 8, - '/d:root/d:supported-privilege/d:supported-privilege/d:supported-privilege/d:privilege' => 8, - '/d:root/d:supported-privilege/d:supported-privilege/d:supported-privilege/d:privilege/d:read-acl' => 1, + '/d:root' => 1, + '/d:root/d:supported-privilege' => 1, + '/d:root/d:supported-privilege/d:privilege' => 1, + '/d:root/d:supported-privilege/d:privilege/d:all' => 1, + '/d:root/d:supported-privilege/d:abstract' => 0, + '/d:root/d:supported-privilege/d:supported-privilege' => 2, + '/d:root/d:supported-privilege/d:supported-privilege/d:privilege' => 2, + '/d:root/d:supported-privilege/d:supported-privilege/d:privilege/d:read' => 1, + '/d:root/d:supported-privilege/d:supported-privilege/d:privilege/d:write' => 1, + '/d:root/d:supported-privilege/d:supported-privilege/d:supported-privilege' => 7, + '/d:root/d:supported-privilege/d:supported-privilege/d:supported-privilege/d:privilege' => 7, + '/d:root/d:supported-privilege/d:supported-privilege/d:supported-privilege/d:privilege/d:read-acl' => 1, '/d:root/d:supported-privilege/d:supported-privilege/d:supported-privilege/d:privilege/d:read-current-user-privilege-set' => 1, - '/d:root/d:supported-privilege/d:supported-privilege/d:supported-privilege/d:privilege/d:write-content' => 1, - '/d:root/d:supported-privilege/d:supported-privilege/d:supported-privilege/d:privilege/d:write-properties' => 1, - '/d:root/d:supported-privilege/d:supported-privilege/d:supported-privilege/d:privilege/d:write-acl' => 1, - '/d:root/d:supported-privilege/d:supported-privilege/d:supported-privilege/d:privilege/d:bind' => 1, - '/d:root/d:supported-privilege/d:supported-privilege/d:supported-privilege/d:privilege/d:unbind' => 1, - '/d:root/d:supported-privilege/d:supported-privilege/d:supported-privilege/d:privilege/d:unlock' => 1, - '/d:root/d:supported-privilege/d:supported-privilege/d:supported-privilege/d:abstract' => 0, + '/d:root/d:supported-privilege/d:supported-privilege/d:supported-privilege/d:privilege/d:write-content' => 1, + '/d:root/d:supported-privilege/d:supported-privilege/d:supported-privilege/d:privilege/d:write-properties' => 1, + '/d:root/d:supported-privilege/d:supported-privilege/d:supported-privilege/d:privilege/d:bind' => 1, + '/d:root/d:supported-privilege/d:supported-privilege/d:supported-privilege/d:privilege/d:unbind' => 1, + '/d:root/d:supported-privilege/d:supported-privilege/d:supported-privilege/d:privilege/d:unlock' => 1, + '/d:root/d:supported-privilege/d:supported-privilege/d:supported-privilege/d:abstract' => 0, ]; @@ -126,10 +127,10 @@ class PluginPropertiesTest extends \PHPUnit_Framework_TestCase { $dom2->loadXML($result); $dxpath = new \DOMXPath($dom2); - $dxpath->registerNamespace('d','DAV:'); - foreach($xpaths as $xpath=>$count) { + $dxpath->registerNamespace('d', 'DAV:'); + foreach ($xpaths as $xpath => $count) { - $this->assertEquals($count, $dxpath->query($xpath)->length, 'Looking for : ' . $xpath . ', we could only find ' . $dxpath->query($xpath)->length . ' elements, while we expected ' . $count. ' Full XML: ' . $result); + $this->assertEquals($count, $dxpath->query($xpath)->length, 'Looking for : ' . $xpath . ', we could only find ' . $dxpath->query($xpath)->length . ' elements, while we expected ' . $count . ' Full XML: ' . $result); } @@ -138,6 +139,7 @@ class PluginPropertiesTest extends \PHPUnit_Framework_TestCase { function testACL() { $plugin = new Plugin(); + $plugin->allowUnauthenticatedAccess = false; $nodes = [ new MockACLNode('foo', [ @@ -147,7 +149,7 @@ class PluginPropertiesTest extends \PHPUnit_Framework_TestCase { ] ]), new DAV\SimpleCollection('principals', [ - $principal = new MockPrincipal('admin','principals/admin'), + $principal = new MockPrincipal('admin', 'principals/admin'), ]), ]; @@ -167,8 +169,8 @@ class PluginPropertiesTest extends \PHPUnit_Framework_TestCase { $result = $server->getPropertiesForPath('foo', $requestedProperties); $result = $result[0]; - $this->assertEquals(1,count($result[200]),'The {DAV:}acl property did not return from the list. Full list: ' . print_r($result, true)); - $this->assertArrayHasKey('{DAV:}acl',$result[200]); + $this->assertEquals(1, count($result[200]), 'The {DAV:}acl property did not return from the list. Full list: ' . print_r($result, true)); + $this->assertArrayHasKey('{DAV:}acl', $result[200]); $this->assertInstanceOf('Sabre\\DAVACL\\Xml\Property\\Acl', $result[200]['{DAV:}acl']); } @@ -176,6 +178,7 @@ class PluginPropertiesTest extends \PHPUnit_Framework_TestCase { function testACLRestrictions() { $plugin = new Plugin(); + $plugin->allowUnauthenticatedAccess = false; $nodes = [ new MockACLNode('foo', [ @@ -185,7 +188,7 @@ class PluginPropertiesTest extends \PHPUnit_Framework_TestCase { ] ]), new DAV\SimpleCollection('principals', [ - $principal = new MockPrincipal('admin','principals/admin'), + $principal = new MockPrincipal('admin', 'principals/admin'), ]), ]; @@ -205,8 +208,8 @@ class PluginPropertiesTest extends \PHPUnit_Framework_TestCase { $result = $server->getPropertiesForPath('foo', $requestedProperties); $result = $result[0]; - $this->assertEquals(1,count($result[200]),'The {DAV:}acl-restrictions property did not return from the list. Full list: ' . print_r($result, true)); - $this->assertArrayHasKey('{DAV:}acl-restrictions',$result[200]); + $this->assertEquals(1, count($result[200]), 'The {DAV:}acl-restrictions property did not return from the list. Full list: ' . print_r($result, true)); + $this->assertArrayHasKey('{DAV:}acl-restrictions', $result[200]); $this->assertInstanceOf('Sabre\\DAVACL\\Xml\\Property\\AclRestrictions', $result[200]['{DAV:}acl-restrictions']); } @@ -215,7 +218,7 @@ class PluginPropertiesTest extends \PHPUnit_Framework_TestCase { $tree = [ new DAV\SimpleCollection('principals', [ - $principal = new MockPrincipal('user','principals/user'), + $principal = new MockPrincipal('user', 'principals/user'), ]) ]; @@ -223,6 +226,7 @@ class PluginPropertiesTest extends \PHPUnit_Framework_TestCase { //$plugin = new DAV\Auth\Plugin(new DAV\Auth\MockBackend()) //$fakeServer->addPlugin($plugin); $plugin = new Plugin(); + $plugin->allowUnauthenticatedAccess = false; $fakeServer->addPlugin($plugin); $requestedProperties = [ @@ -243,7 +247,7 @@ class PluginPropertiesTest extends \PHPUnit_Framework_TestCase { $tree = [ new DAV\SimpleCollection('principals', [ - $principal = new MockPrincipal('user','principals/user'), + $principal = new MockPrincipal('user', 'principals/user'), ]), ]; @@ -251,6 +255,7 @@ class PluginPropertiesTest extends \PHPUnit_Framework_TestCase { //$plugin = new DAV\Auth\Plugin(new DAV\Auth\MockBackend()); //$fakeServer->addPlugin($plugin); $plugin = new Plugin(); + $plugin->allowUnauthenticatedAccess = false; $fakeServer->addPlugin($plugin); $requestedProperties = [ @@ -272,7 +277,7 @@ class PluginPropertiesTest extends \PHPUnit_Framework_TestCase { $tree = [ new DAV\SimpleCollection('principals', [ - $principal = new MockPrincipal('user','principals/user'), + $principal = new MockPrincipal('user', 'principals/user'), ]), ]; @@ -280,6 +285,7 @@ class PluginPropertiesTest extends \PHPUnit_Framework_TestCase { //$plugin = new DAV\Auth\Plugin(new DAV\Auth\MockBackend()); //$fakeServer->addPlugin($plugin); $plugin = new Plugin(); + $plugin->allowUnauthenticatedAccess = false; $fakeServer->addPlugin($plugin); $requestedProperties = [ @@ -301,12 +307,13 @@ class PluginPropertiesTest extends \PHPUnit_Framework_TestCase { $tree = [ new DAV\SimpleCollection('principals', [ - $principal = new MockPrincipal('user','principals/user'), + $principal = new MockPrincipal('user', 'principals/user'), ]), ]; $fakeServer = new DAV\Server($tree); $plugin = new Plugin(); + $plugin->allowUnauthenticatedAccess = false; $fakeServer->addPlugin($plugin); $requestedProperties = [ @@ -328,12 +335,13 @@ class PluginPropertiesTest extends \PHPUnit_Framework_TestCase { $tree = [ new DAV\SimpleCollection('principals', [ - $principal = new MockPrincipal('user','principals/user'), + $principal = new MockPrincipal('user', 'principals/user'), ]), ]; $fakeServer = new DAV\Server($tree); $plugin = new Plugin(); + $plugin->allowUnauthenticatedAccess = false; $fakeServer->addPlugin($plugin); $requestedProperties = [ diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/PluginUpdatePropertiesTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/PluginUpdatePropertiesTest.php index 64cedd142..0147e6a61 100644 --- a/vendor/sabre/dav/tests/Sabre/DAVACL/PluginUpdatePropertiesTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAVACL/PluginUpdatePropertiesTest.php @@ -3,28 +3,25 @@ namespace Sabre\DAVACL; use Sabre\DAV; -use Sabre\HTTP; - - -require_once 'Sabre/DAVACL/MockPrincipal.php'; class PluginUpdatePropertiesTest extends \PHPUnit_Framework_TestCase { function testUpdatePropertiesPassthrough() { - $tree = array( + $tree = [ new DAV\SimpleCollection('foo'), - ); + ]; $server = new DAV\Server($tree); + $server->addPlugin(new DAV\Auth\Plugin()); $server->addPlugin(new Plugin()); - $result = $server->updateProperties('foo', array( + $result = $server->updateProperties('foo', [ '{DAV:}foo' => 'bar', - )); + ]); - $expected = array( + $expected = [ '{DAV:}foo' => 403, - ); + ]; $this->assertEquals($expected, $result); @@ -32,35 +29,39 @@ class PluginUpdatePropertiesTest extends \PHPUnit_Framework_TestCase { function testRemoveGroupMembers() { - $tree = array( - new MockPrincipal('foo','foo'), - ); + $tree = [ + new MockPrincipal('foo', 'foo'), + ]; $server = new DAV\Server($tree); - $server->addPlugin(new Plugin()); + $plugin = new Plugin(); + $plugin->allowUnauthenticatedAccess = false; + $server->addPlugin($plugin); - $result = $server->updateProperties('foo', array( + $result = $server->updateProperties('foo', [ '{DAV:}group-member-set' => null, - )); + ]); - $expected = array( + $expected = [ '{DAV:}group-member-set' => 204 - ); + ]; $this->assertEquals($expected, $result); - $this->assertEquals(array(),$tree[0]->getGroupMemberSet()); + $this->assertEquals([], $tree[0]->getGroupMemberSet()); } function testSetGroupMembers() { $tree = [ - new MockPrincipal('foo','foo'), + new MockPrincipal('foo', 'foo'), ]; $server = new DAV\Server($tree); - $server->addPlugin(new Plugin()); + $plugin = new Plugin(); + $plugin->allowUnauthenticatedAccess = false; + $server->addPlugin($plugin); $result = $server->updateProperties('foo', [ - '{DAV:}group-member-set' => new DAV\Xml\Property\Href(['/bar','/baz'], true), + '{DAV:}group-member-set' => new DAV\Xml\Property\Href(['/bar', '/baz'], true), ]); $expected = [ @@ -68,7 +69,7 @@ class PluginUpdatePropertiesTest extends \PHPUnit_Framework_TestCase { ]; $this->assertEquals($expected, $result); - $this->assertEquals(['bar', 'baz'],$tree[0]->getGroupMemberSet()); + $this->assertEquals(['bar', 'baz'], $tree[0]->getGroupMemberSet()); } @@ -77,15 +78,17 @@ class PluginUpdatePropertiesTest extends \PHPUnit_Framework_TestCase { */ function testSetBadValue() { - $tree = array( - new MockPrincipal('foo','foo'), - ); + $tree = [ + new MockPrincipal('foo', 'foo'), + ]; $server = new DAV\Server($tree); - $server->addPlugin(new Plugin()); + $plugin = new Plugin(); + $plugin->allowUnauthenticatedAccess = false; + $server->addPlugin($plugin); - $result = $server->updateProperties('foo', array( + $result = $server->updateProperties('foo', [ '{DAV:}group-member-set' => new \StdClass(), - )); + ]); } @@ -95,10 +98,12 @@ class PluginUpdatePropertiesTest extends \PHPUnit_Framework_TestCase { new DAV\SimpleCollection('foo'), ]; $server = new DAV\Server($tree); - $server->addPlugin(new Plugin()); + $plugin = new Plugin(); + $plugin->allowUnauthenticatedAccess = false; + $server->addPlugin($plugin); $result = $server->updateProperties('foo', [ - '{DAV:}group-member-set' => new DAV\Xml\Property\Href(['/bar','/baz'],false), + '{DAV:}group-member-set' => new DAV\Xml\Property\Href(['/bar', '/baz'], false), ]); $expected = [ diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/AbstractPDOTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/AbstractPDOTest.php index 3814ebc0d..9fef3018d 100644 --- a/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/AbstractPDOTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/AbstractPDOTest.php @@ -5,10 +5,24 @@ namespace Sabre\DAVACL\PrincipalBackend; use Sabre\DAV; use Sabre\HTTP; - abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { - abstract function getPDO(); + use DAV\DbTestHelperTrait; + + function setUp() { + + $this->dropTables(['principals', 'groupmembers']); + $this->createSchema('principals'); + + $pdo = $this->getPDO(); + + $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("INSERT INTO groupmembers (principal_id,member_id) VALUES (5,4)"); + + } + function testConstruct() { @@ -26,21 +40,26 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { $pdo = $this->getPDO(); $backend = new PDO($pdo); - $expected = array( - array( - 'uri' => 'principals/user', + $expected = [ + [ + 'uri' => 'principals/admin', + '{http://sabredav.org/ns}email-address' => 'admin@example.org', + '{DAV:}displayname' => 'Administrator', + ], + [ + 'uri' => 'principals/user', '{http://sabredav.org/ns}email-address' => 'user@example.org', - '{DAV:}displayname' => 'User', - ), - array( - 'uri' => 'principals/group', + '{DAV:}displayname' => 'User', + ], + [ + 'uri' => 'principals/group', '{http://sabredav.org/ns}email-address' => 'group@example.org', - '{DAV:}displayname' => 'Group', - ), - ); + '{DAV:}displayname' => 'Group', + ], + ]; $this->assertEquals($expected, $backend->getPrincipalsByPrefix('principals')); - $this->assertEquals(array(), $backend->getPrincipalsByPrefix('foo')); + $this->assertEquals([], $backend->getPrincipalsByPrefix('foo')); } @@ -52,12 +71,12 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { $pdo = $this->getPDO(); $backend = new PDO($pdo); - $expected = array( - 'id' => 1, - 'uri' => 'principals/user', + $expected = [ + 'id' => 4, + 'uri' => 'principals/user', '{http://sabredav.org/ns}email-address' => 'user@example.org', - '{DAV:}displayname' => 'User', - ); + '{DAV:}displayname' => 'User', + ]; $this->assertEquals($expected, $backend->getPrincipalByPath('principals/user')); $this->assertEquals(null, $backend->getPrincipalByPath('foo')); @@ -68,9 +87,9 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { $pdo = $this->getPDO(); $backend = new PDO($pdo); - $expected = array('principals/user'); + $expected = ['principals/user']; - $this->assertEquals($expected,$backend->getGroupMemberSet('principals/group')); + $this->assertEquals($expected, $backend->getGroupMemberSet('principals/group')); } @@ -78,9 +97,9 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { $pdo = $this->getPDO(); $backend = new PDO($pdo); - $expected = array('principals/group'); + $expected = ['principals/group']; - $this->assertEquals($expected,$backend->getGroupMembership('principals/user')); + $this->assertEquals($expected, $backend->getGroupMembership('principals/user')); } @@ -90,15 +109,15 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { // Start situation $backend = new PDO($pdo); - $this->assertEquals(array('principals/user'), $backend->getGroupMemberSet('principals/group')); + $this->assertEquals(['principals/user'], $backend->getGroupMemberSet('principals/group')); // Removing all principals - $backend->setGroupMemberSet('principals/group', array()); - $this->assertEquals(array(), $backend->getGroupMemberSet('principals/group')); + $backend->setGroupMemberSet('principals/group', []); + $this->assertEquals([], $backend->getGroupMemberSet('principals/group')); // Adding principals again - $backend->setGroupMemberSet('principals/group', array('principals/user')); - $this->assertEquals(array('principals/user'), $backend->getGroupMemberSet('principals/group')); + $backend->setGroupMemberSet('principals/group', ['principals/user']); + $this->assertEquals(['principals/user'], $backend->getGroupMemberSet('principals/group')); } @@ -109,17 +128,17 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { $backend = new PDO($pdo); - $result = $backend->searchPrincipals('principals', array('{DAV:}blabla' => 'foo')); - $this->assertEquals(array(), $result); + $result = $backend->searchPrincipals('principals', ['{DAV:}blabla' => 'foo']); + $this->assertEquals([], $result); - $result = $backend->searchPrincipals('principals', array('{DAV:}displayname' => 'ou')); - $this->assertEquals(array('principals/group'), $result); + $result = $backend->searchPrincipals('principals', ['{DAV:}displayname' => 'ou']); + $this->assertEquals(['principals/group'], $result); - $result = $backend->searchPrincipals('principals', array('{DAV:}displayname' => 'UsEr', '{http://sabredav.org/ns}email-address' => 'USER@EXAMPLE')); - $this->assertEquals(array('principals/user'), $result); + $result = $backend->searchPrincipals('principals', ['{DAV:}displayname' => 'UsEr', '{http://sabredav.org/ns}email-address' => 'USER@EXAMPLE']); + $this->assertEquals(['principals/user'], $result); - $result = $backend->searchPrincipals('mom', array('{DAV:}displayname' => 'UsEr', '{http://sabredav.org/ns}email-address' => 'USER@EXAMPLE')); - $this->assertEquals(array(), $result); + $result = $backend->searchPrincipals('mom', ['{DAV:}displayname' => 'UsEr', '{http://sabredav.org/ns}email-address' => 'USER@EXAMPLE']); + $this->assertEquals([], $result); } @@ -137,12 +156,12 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { $this->assertTrue($result); - $this->assertEquals(array( - 'id' => 1, - 'uri' => 'principals/user', - '{DAV:}displayname' => 'pietje', + $this->assertEquals([ + 'id' => 4, + 'uri' => 'principals/user', + '{DAV:}displayname' => 'pietje', '{http://sabredav.org/ns}email-address' => 'user@example.org', - ), $backend->getPrincipalByPath('principals/user')); + ], $backend->getPrincipalByPath('principals/user')); } @@ -153,7 +172,7 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { $propPatch = new DAV\PropPatch([ '{DAV:}displayname' => 'pietje', - '{DAV:}unknown' => 'foo', + '{DAV:}unknown' => 'foo', ]); $backend->updatePrincipal('principals/user', $propPatch); @@ -161,17 +180,17 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { $this->assertFalse($result); - $this->assertEquals(array( + $this->assertEquals([ '{DAV:}displayname' => 424, - '{DAV:}unknown' => 403 - ), $propPatch->getResult()); + '{DAV:}unknown' => 403 + ], $propPatch->getResult()); - $this->assertEquals(array( - 'id' => '1', - 'uri' => 'principals/user', - '{DAV:}displayname' => 'User', + $this->assertEquals([ + 'id' => '4', + 'uri' => 'principals/user', + '{DAV:}displayname' => 'User', '{http://sabredav.org/ns}email-address' => 'user@example.org', - ), $backend->getPrincipalByPath('principals/user')); + ], $backend->getPrincipalByPath('principals/user')); } diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/PDOMySQLTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/PDOMySQLTest.php index 83353c86c..8779eb69f 100644 --- a/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/PDOMySQLTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/PDOMySQLTest.php @@ -2,49 +2,8 @@ namespace Sabre\DAVACL\PrincipalBackend; -use Sabre\DAV; -use Sabre\HTTP; - - -require_once 'Sabre/TestUtil.php'; - class PDOMySQLTest extends 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(<<<SQL -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) -) -SQL - ); - - $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(<<<SQL -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) -) -SQL - ); - - $pdo->query("INSERT INTO groupmembers (principal_id,member_id) VALUES (2,1)"); - - return $pdo; - - } + public $driver = 'mysql'; } diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/PDOSqliteTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/PDOSqliteTest.php index f335ed51f..48454981d 100644 --- a/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/PDOSqliteTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/PDOSqliteTest.php @@ -2,44 +2,8 @@ namespace Sabre\DAVACL\PrincipalBackend; -use Sabre\DAV; -use Sabre\HTTP; +class PDOSqliteTest extends AbstractPDOTest { - -require_once 'Sabre/DAV/Auth/Backend/AbstractPDOTest.php'; - -class PDOSQLiteTest extends AbstractPDOTest { - - function tearDown() { - - if (file_exists(SABRE_TEMPDIR . '/pdobackend')) unlink(SABRE_TEMPDIR . '/pdobackend'); - if (file_exists(SABRE_TEMPDIR . '/pdobackend2')) unlink(SABRE_TEMPDIR . '/pdobackend2'); - - } - - function getPDO() { - - if (!SABRE_HASSQLITE) $this->markTestSkipped('SQLite driver is not available'); - $pdo = new \PDO('sqlite:'.SABRE_TEMPDIR.'/pdobackend'); - $pdo->setAttribute(\PDO::ATTR_ERRMODE,\PDO::ERRMODE_EXCEPTION); - $pdo->query('CREATE TABLE principals (id INTEGER PRIMARY KEY ASC, uri TEXT, email VARCHAR(80), displayname VARCHAR(80))'); - $pdo->query('INSERT INTO principals VALUES (1, "principals/user","user@example.org","User")'); - $pdo->query('INSERT INTO principals VALUES (2, "principals/group","group@example.org","Group")'); - - $pdo->query(<<<SQL -CREATE TABLE groupmembers ( - id INTEGER PRIMARY KEY ASC, - principal_id INT, - member_id INT, - UNIQUE(principal_id, member_id) -) -SQL - ); - - $pdo->query("INSERT INTO groupmembers (principal_id,member_id) VALUES (2,1)"); - - return $pdo; - - } + public $driver = 'sqlite'; } diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalCollectionTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalCollectionTest.php index f51d2dcce..bcf78821b 100644 --- a/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalCollectionTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalCollectionTest.php @@ -2,26 +2,22 @@ namespace Sabre\DAVACL; -use Sabre\DAV; -use Sabre\HTTP; - - class PrincipalCollectionTest extends \PHPUnit_Framework_TestCase { - public function testBasic() { + function testBasic() { $backend = new PrincipalBackend\Mock(); $pc = new PrincipalCollection($backend); $this->assertTrue($pc instanceof PrincipalCollection); - $this->assertEquals('principals',$pc->getName()); + $this->assertEquals('principals', $pc->getName()); } /** * @depends testBasic */ - public function testGetChildren() { + function testGetChildren() { $backend = new PrincipalBackend\Mock(); $pc = new PrincipalCollection($backend); @@ -29,7 +25,7 @@ class PrincipalCollectionTest extends \PHPUnit_Framework_TestCase { $children = $pc->getChildren(); $this->assertTrue(is_array($children)); - foreach($children as $child) { + foreach ($children as $child) { $this->assertTrue($child instanceof IPrincipal); } @@ -39,7 +35,7 @@ class PrincipalCollectionTest extends \PHPUnit_Framework_TestCase { * @depends testBasic * @expectedException Sabre\DAV\Exception\MethodNotAllowed */ - public function testGetChildrenDisable() { + function testGetChildrenDisable() { $backend = new PrincipalBackend\Mock(); $pc = new PrincipalCollection($backend); @@ -49,7 +45,7 @@ class PrincipalCollectionTest extends \PHPUnit_Framework_TestCase { } - public function testFindByUri() { + function testFindByUri() { $backend = new PrincipalBackend\Mock(); $pc = new PrincipalCollection($backend); diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalPropertySearchTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalPropertySearchTest.php index 8e4c86782..60e156d9a 100644 --- a/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalPropertySearchTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalPropertySearchTest.php @@ -23,6 +23,7 @@ class PrincipalPropertySearchTest extends \PHPUnit_Framework_TestCase { $fakeServer->debugExceptions = true; $plugin = new MockPlugin(); $plugin->allowAccessToNodesWithoutACL = true; + $plugin->allowUnauthenticatedAccess = false; $this->assertTrue($plugin instanceof Plugin); $fakeServer->addPlugin($plugin); @@ -48,11 +49,11 @@ class PrincipalPropertySearchTest extends \PHPUnit_Framework_TestCase { </d:prop> </d:principal-property-search>'; - $serverVars = array( + $serverVars = [ 'REQUEST_METHOD' => 'REPORT', 'HTTP_DEPTH' => '1', 'REQUEST_URI' => '/principals', - ); + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $request->setBody($xml); @@ -63,10 +64,10 @@ class PrincipalPropertySearchTest extends \PHPUnit_Framework_TestCase { $server->exec(); $this->assertEquals(400, $server->httpResponse->getStatus(), $server->httpResponse->getBodyAsString()); - $this->assertEquals(array( + $this->assertEquals([ 'X-Sabre-Version' => [DAV\Version::VERSION], - 'Content-Type' => ['application/xml; charset=utf-8'], - ), $server->httpResponse->getHeaders()); + 'Content-Type' => ['application/xml; charset=utf-8'], + ], $server->httpResponse->getHeaders()); } @@ -87,11 +88,11 @@ class PrincipalPropertySearchTest extends \PHPUnit_Framework_TestCase { </d:prop> </d:principal-property-search>'; - $serverVars = array( + $serverVars = [ 'REQUEST_METHOD' => 'REPORT', 'HTTP_DEPTH' => '0', 'REQUEST_URI' => '/principals', - ); + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $request->setBody($xml); @@ -102,11 +103,11 @@ class PrincipalPropertySearchTest extends \PHPUnit_Framework_TestCase { $server->exec(); $this->assertEquals(207, $server->httpResponse->getStatus(), "Full body: " . $server->httpResponse->getBodyAsString()); - $this->assertEquals(array( + $this->assertEquals([ 'X-Sabre-Version' => [DAV\Version::VERSION], - 'Content-Type' => ['application/xml; charset=utf-8'], - 'Vary' => ['Brief,Prefer'], - ), $server->httpResponse->getHeaders()); + 'Content-Type' => ['application/xml; charset=utf-8'], + 'Vary' => ['Brief,Prefer'], + ], $server->httpResponse->getHeaders()); } @@ -127,11 +128,11 @@ class PrincipalPropertySearchTest extends \PHPUnit_Framework_TestCase { </d:prop> </d:principal-property-search>'; - $serverVars = array( + $serverVars = [ 'REQUEST_METHOD' => 'REPORT', 'HTTP_DEPTH' => '0', 'REQUEST_URI' => '/', - ); + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $request->setBody($xml); @@ -142,36 +143,36 @@ class PrincipalPropertySearchTest extends \PHPUnit_Framework_TestCase { $server->exec(); $this->assertEquals(207, $server->httpResponse->status, $server->httpResponse->body); - $this->assertEquals(array( + $this->assertEquals([ 'X-Sabre-Version' => [DAV\Version::VERSION], - 'Content-Type' => ['application/xml; charset=utf-8'], - 'Vary' => ['Brief,Prefer'], - ), $server->httpResponse->getHeaders()); + 'Content-Type' => ['application/xml; charset=utf-8'], + 'Vary' => ['Brief,Prefer'], + ], $server->httpResponse->getHeaders()); - $check = array( + $check = [ '/d:multistatus', - '/d:multistatus/d:response' => 2, - '/d:multistatus/d:response/d:href' => 2, - '/d:multistatus/d:response/d:propstat' => 4, - '/d:multistatus/d:response/d:propstat/d:prop' => 4, - '/d:multistatus/d:response/d:propstat/d:prop/d:displayname' => 2, + '/d:multistatus/d:response' => 2, + '/d:multistatus/d:response/d:href' => 2, + '/d:multistatus/d:response/d:propstat' => 4, + '/d:multistatus/d:response/d:propstat/d:prop' => 4, + '/d:multistatus/d:response/d:propstat/d:prop/d:displayname' => 2, '/d:multistatus/d:response/d:propstat/d:prop/d:getcontentlength' => 2, - '/d:multistatus/d:response/d:propstat/d:status' => 4, - ); + '/d:multistatus/d:response/d:propstat/d:status' => 4, + ]; $xml = simplexml_load_string($server->httpResponse->body); - $xml->registerXPathNamespace('d','DAV:'); - foreach($check as $v1=>$v2) { + $xml->registerXPathNamespace('d', 'DAV:'); + foreach ($check as $v1 => $v2) { - $xpath = is_int($v1)?$v2:$v1; + $xpath = is_int($v1) ? $v2 : $v1; $result = $xml->xpath($xpath); $count = 1; if (!is_int($v1)) $count = $v2; - $this->assertEquals($count,count($result), 'we expected ' . $count . ' appearances of ' . $xpath . ' . We found ' . count($result) . '. Full response body: ' . $server->httpResponse->body); + $this->assertEquals($count, count($result), 'we expected ' . $count . ' appearances of ' . $xpath . ' . We found ' . count($result) . '. Full response body: ' . $server->httpResponse->body); } @@ -200,11 +201,11 @@ class PrincipalPropertySearchTest extends \PHPUnit_Framework_TestCase { </d:prop> </d:principal-property-search>'; - $serverVars = array( + $serverVars = [ 'REQUEST_METHOD' => 'REPORT', 'HTTP_DEPTH' => '0', 'REQUEST_URI' => '/', - ); + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $request->setBody($xml); @@ -215,36 +216,36 @@ class PrincipalPropertySearchTest extends \PHPUnit_Framework_TestCase { $server->exec(); $this->assertEquals(207, $server->httpResponse->status, $server->httpResponse->body); - $this->assertEquals(array( + $this->assertEquals([ 'X-Sabre-Version' => [DAV\Version::VERSION], - 'Content-Type' => ['application/xml; charset=utf-8'], - 'Vary' => ['Brief,Prefer'], - ), $server->httpResponse->getHeaders()); + 'Content-Type' => ['application/xml; charset=utf-8'], + 'Vary' => ['Brief,Prefer'], + ], $server->httpResponse->getHeaders()); - $check = array( + $check = [ '/d:multistatus', - '/d:multistatus/d:response' => 0, - '/d:multistatus/d:response/d:href' => 0, - '/d:multistatus/d:response/d:propstat' => 0, - '/d:multistatus/d:response/d:propstat/d:prop' => 0, - '/d:multistatus/d:response/d:propstat/d:prop/d:displayname' => 0, + '/d:multistatus/d:response' => 0, + '/d:multistatus/d:response/d:href' => 0, + '/d:multistatus/d:response/d:propstat' => 0, + '/d:multistatus/d:response/d:propstat/d:prop' => 0, + '/d:multistatus/d:response/d:propstat/d:prop/d:displayname' => 0, '/d:multistatus/d:response/d:propstat/d:prop/d:getcontentlength' => 0, - '/d:multistatus/d:response/d:propstat/d:status' => 0, - ); + '/d:multistatus/d:response/d:propstat/d:status' => 0, + ]; $xml = simplexml_load_string($server->httpResponse->body); - $xml->registerXPathNamespace('d','DAV:'); - foreach($check as $v1=>$v2) { + $xml->registerXPathNamespace('d', 'DAV:'); + foreach ($check as $v1 => $v2) { - $xpath = is_int($v1)?$v2:$v1; + $xpath = is_int($v1) ? $v2 : $v1; $result = $xml->xpath($xpath); $count = 1; if (!is_int($v1)) $count = $v2; - $this->assertEquals($count,count($result), 'we expected ' . $count . ' appearances of ' . $xpath . ' . We found ' . count($result) . '. Full response body: ' . $server->httpResponse->body); + $this->assertEquals($count, count($result), 'we expected ' . $count . ' appearances of ' . $xpath . ' . We found ' . count($result) . '. Full response body: ' . $server->httpResponse->body); } @@ -272,11 +273,11 @@ class PrincipalPropertySearchTest extends \PHPUnit_Framework_TestCase { </d:prop> </d:principal-property-search>'; - $serverVars = array( + $serverVars = [ 'REQUEST_METHOD' => 'REPORT', 'HTTP_DEPTH' => '0', 'REQUEST_URI' => '/', - ); + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $request->setBody($xml); @@ -287,36 +288,36 @@ class PrincipalPropertySearchTest extends \PHPUnit_Framework_TestCase { $server->exec(); $this->assertEquals(207, $server->httpResponse->status, $server->httpResponse->body); - $this->assertEquals(array( + $this->assertEquals([ 'X-Sabre-Version' => [DAV\Version::VERSION], - 'Content-Type' => ['application/xml; charset=utf-8'], - 'Vary' => ['Brief,Prefer'], - ), $server->httpResponse->getHeaders()); + 'Content-Type' => ['application/xml; charset=utf-8'], + 'Vary' => ['Brief,Prefer'], + ], $server->httpResponse->getHeaders()); - $check = array( + $check = [ '/d:multistatus', - '/d:multistatus/d:response' => 2, - '/d:multistatus/d:response/d:href' => 2, - '/d:multistatus/d:response/d:propstat' => 4, - '/d:multistatus/d:response/d:propstat/d:prop' => 4, - '/d:multistatus/d:response/d:propstat/d:prop/d:displayname' => 2, + '/d:multistatus/d:response' => 2, + '/d:multistatus/d:response/d:href' => 2, + '/d:multistatus/d:response/d:propstat' => 4, + '/d:multistatus/d:response/d:propstat/d:prop' => 4, + '/d:multistatus/d:response/d:propstat/d:prop/d:displayname' => 2, '/d:multistatus/d:response/d:propstat/d:prop/d:getcontentlength' => 2, - '/d:multistatus/d:response/d:propstat/d:status' => 4, - ); + '/d:multistatus/d:response/d:propstat/d:status' => 4, + ]; $xml = simplexml_load_string($server->httpResponse->body); - $xml->registerXPathNamespace('d','DAV:'); - foreach($check as $v1=>$v2) { + $xml->registerXPathNamespace('d', 'DAV:'); + foreach ($check as $v1 => $v2) { - $xpath = is_int($v1)?$v2:$v1; + $xpath = is_int($v1) ? $v2 : $v1; $result = $xml->xpath($xpath); $count = 1; if (!is_int($v1)) $count = $v2; - $this->assertEquals($count,count($result), 'we expected ' . $count . ' appearances of ' . $xpath . ' . We found ' . count($result) . '. Full response body: ' . $server->httpResponse->body); + $this->assertEquals($count, count($result), 'we expected ' . $count . ' appearances of ' . $xpath . ' . We found ' . count($result) . '. Full response body: ' . $server->httpResponse->body); } @@ -337,11 +338,11 @@ class PrincipalPropertySearchTest extends \PHPUnit_Framework_TestCase { </d:prop> </d:principal-property-search>'; - $serverVars = array( + $serverVars = [ 'REQUEST_METHOD' => 'REPORT', 'HTTP_DEPTH' => '0', 'REQUEST_URI' => '/', - ); + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $request->setBody($xml); @@ -352,30 +353,30 @@ class PrincipalPropertySearchTest extends \PHPUnit_Framework_TestCase { $server->exec(); $this->assertEquals(207, $server->httpResponse->status, $server->httpResponse->body); - $this->assertEquals(array( + $this->assertEquals([ 'X-Sabre-Version' => [DAV\Version::VERSION], - 'Content-Type' => ['application/xml; charset=utf-8'], - 'Vary' => ['Brief,Prefer'], - ), $server->httpResponse->getHeaders()); + 'Content-Type' => ['application/xml; charset=utf-8'], + 'Vary' => ['Brief,Prefer'], + ], $server->httpResponse->getHeaders()); - $check = array( + $check = [ '/d:multistatus', '/d:multistatus/d:response' => 0, - ); + ]; $xml = simplexml_load_string($server->httpResponse->body); - $xml->registerXPathNamespace('d','DAV:'); - foreach($check as $v1=>$v2) { + $xml->registerXPathNamespace('d', 'DAV:'); + foreach ($check as $v1 => $v2) { - $xpath = is_int($v1)?$v2:$v1; + $xpath = is_int($v1) ? $v2 : $v1; $result = $xml->xpath($xpath); $count = 1; if (!is_int($v1)) $count = $v2; - $this->assertEquals($count,count($result), 'we expected ' . $count . ' appearances of ' . $xpath . ' . We found ' . count($result) . '. Full response body: ' . $server->httpResponse->body); + $this->assertEquals($count, count($result), 'we expected ' . $count . ' appearances of ' . $xpath . ' . We found ' . count($result) . '. Full response body: ' . $server->httpResponse->body); } @@ -386,10 +387,10 @@ class MockPlugin extends Plugin { function getCurrentUserPrivilegeSet($node) { - return array( + return [ '{DAV:}read', '{DAV:}write', - ); + ]; } diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalSearchPropertySetTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalSearchPropertySetTest.php index 952dc174a..fa1314d10 100644 --- a/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalSearchPropertySetTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalSearchPropertySetTest.php @@ -21,6 +21,7 @@ class PrincipalSearchPropertySetTest extends \PHPUnit_Framework_TestCase { $fakeServer->sapi = new HTTP\SapiMock(); $fakeServer->httpResponse = new HTTP\ResponseMock(); $plugin = new Plugin(); + $plugin->allowUnauthenticatedAccess = false; $this->assertTrue($plugin instanceof Plugin); $fakeServer->addPlugin($plugin); $this->assertEquals($plugin, $fakeServer->getPlugin('acl')); @@ -34,11 +35,11 @@ class PrincipalSearchPropertySetTest extends \PHPUnit_Framework_TestCase { $xml = '<?xml version="1.0"?> <d:principal-search-property-set xmlns:d="DAV:" />'; - $serverVars = array( + $serverVars = [ 'REQUEST_METHOD' => 'REPORT', 'HTTP_DEPTH' => '1', 'REQUEST_URI' => '/principals', - ); + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $request->setBody($xml); @@ -49,10 +50,10 @@ class PrincipalSearchPropertySetTest extends \PHPUnit_Framework_TestCase { $server->exec(); $this->assertEquals(400, $server->httpResponse->status); - $this->assertEquals(array( + $this->assertEquals([ 'X-Sabre-Version' => [DAV\Version::VERSION], - 'Content-Type' => ['application/xml; charset=utf-8'], - ), $server->httpResponse->getHeaders()); + 'Content-Type' => ['application/xml; charset=utf-8'], + ], $server->httpResponse->getHeaders()); } @@ -61,11 +62,11 @@ class PrincipalSearchPropertySetTest extends \PHPUnit_Framework_TestCase { $xml = '<?xml version="1.0"?> <d:principal-search-property-set xmlns:d="DAV:"><d:ohell /></d:principal-search-property-set>'; - $serverVars = array( + $serverVars = [ 'REQUEST_METHOD' => 'REPORT', 'HTTP_DEPTH' => '0', 'REQUEST_URI' => '/principals', - ); + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $request->setBody($xml); @@ -76,10 +77,10 @@ class PrincipalSearchPropertySetTest extends \PHPUnit_Framework_TestCase { $server->exec(); $this->assertEquals(400, $server->httpResponse->status, $server->httpResponse->body); - $this->assertEquals(array( + $this->assertEquals([ 'X-Sabre-Version' => [DAV\Version::VERSION], - 'Content-Type' => ['application/xml; charset=utf-8'], - ), $server->httpResponse->getHeaders()); + 'Content-Type' => ['application/xml; charset=utf-8'], + ], $server->httpResponse->getHeaders()); } @@ -88,11 +89,11 @@ class PrincipalSearchPropertySetTest extends \PHPUnit_Framework_TestCase { $xml = '<?xml version="1.0"?> <d:principal-search-property-set xmlns:d="DAV:"/>'; - $serverVars = array( + $serverVars = [ 'REQUEST_METHOD' => 'REPORT', 'HTTP_DEPTH' => '0', 'REQUEST_URI' => '/principals', - ); + ]; $request = HTTP\Sapi::createFromServerArray($serverVars); $request->setBody($xml); @@ -103,34 +104,34 @@ class PrincipalSearchPropertySetTest extends \PHPUnit_Framework_TestCase { $server->exec(); $this->assertEquals(200, $server->httpResponse->status, $server->httpResponse->body); - $this->assertEquals(array( + $this->assertEquals([ 'X-Sabre-Version' => [DAV\Version::VERSION], - 'Content-Type' => ['application/xml; charset=utf-8'], - ), $server->httpResponse->getHeaders()); + 'Content-Type' => ['application/xml; charset=utf-8'], + ], $server->httpResponse->getHeaders()); - $check = array( + $check = [ '/d:principal-search-property-set', - '/d:principal-search-property-set/d:principal-search-property' => 2, - '/d:principal-search-property-set/d:principal-search-property/d:prop' => 2, - '/d:principal-search-property-set/d:principal-search-property/d:prop/d:displayname' => 1, + '/d:principal-search-property-set/d:principal-search-property' => 2, + '/d:principal-search-property-set/d:principal-search-property/d:prop' => 2, + '/d:principal-search-property-set/d:principal-search-property/d:prop/d:displayname' => 1, '/d:principal-search-property-set/d:principal-search-property/d:prop/s:email-address' => 1, - '/d:principal-search-property-set/d:principal-search-property/d:description' => 2, - ); + '/d:principal-search-property-set/d:principal-search-property/d:description' => 2, + ]; $xml = simplexml_load_string($server->httpResponse->body); - $xml->registerXPathNamespace('d','DAV:'); - $xml->registerXPathNamespace('s','http://sabredav.org/ns'); - foreach($check as $v1=>$v2) { + $xml->registerXPathNamespace('d', 'DAV:'); + $xml->registerXPathNamespace('s', 'http://sabredav.org/ns'); + foreach ($check as $v1 => $v2) { - $xpath = is_int($v1)?$v2:$v1; + $xpath = is_int($v1) ? $v2 : $v1; $result = $xml->xpath($xpath); $count = 1; if (!is_int($v1)) $count = $v2; - $this->assertEquals($count,count($result), 'we expected ' . $count . ' appearances of ' . $xpath . ' . We found ' . count($result) . '. Full response body: ' . $server->httpResponse->body); + $this->assertEquals($count, count($result), 'we expected ' . $count . ' appearances of ' . $xpath . ' . We found ' . count($result) . '. Full response body: ' . $server->httpResponse->body); } diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalTest.php index 03fd9d64d..20622ad17 100644 --- a/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalTest.php @@ -7,10 +7,10 @@ use Sabre\HTTP; class PrincipalTest extends \PHPUnit_Framework_TestCase { - public function testConstruct() { + function testConstruct() { $principalBackend = new PrincipalBackend\Mock(); - $principal = new Principal($principalBackend, array('uri' => 'principals/admin')); + $principal = new Principal($principalBackend, ['uri' => 'principals/admin']); $this->assertTrue($principal instanceof Principal); } @@ -18,65 +18,65 @@ class PrincipalTest extends \PHPUnit_Framework_TestCase { /** * @expectedException Sabre\DAV\Exception */ - public function testConstructNoUri() { + function testConstructNoUri() { $principalBackend = new PrincipalBackend\Mock(); - $principal = new Principal($principalBackend, array()); + $principal = new Principal($principalBackend, []); } - public function testGetName() { + function testGetName() { $principalBackend = new PrincipalBackend\Mock(); - $principal = new Principal($principalBackend, array('uri' => 'principals/admin')); - $this->assertEquals('admin',$principal->getName()); + $principal = new Principal($principalBackend, ['uri' => 'principals/admin']); + $this->assertEquals('admin', $principal->getName()); } - public function testGetDisplayName() { + function testGetDisplayName() { $principalBackend = new PrincipalBackend\Mock(); - $principal = new Principal($principalBackend, array('uri' => 'principals/admin')); - $this->assertEquals('admin',$principal->getDisplayname()); + $principal = new Principal($principalBackend, ['uri' => 'principals/admin']); + $this->assertEquals('admin', $principal->getDisplayname()); - $principal = new Principal($principalBackend, array( - 'uri' => 'principals/admin', + $principal = new Principal($principalBackend, [ + 'uri' => 'principals/admin', '{DAV:}displayname' => 'Mr. Admin' - )); - $this->assertEquals('Mr. Admin',$principal->getDisplayname()); + ]); + $this->assertEquals('Mr. Admin', $principal->getDisplayname()); } - public function testGetProperties() { + function testGetProperties() { $principalBackend = new PrincipalBackend\Mock(); - $principal = new Principal($principalBackend, array( - 'uri' => 'principals/admin', - '{DAV:}displayname' => 'Mr. Admin', + $principal = new Principal($principalBackend, [ + 'uri' => 'principals/admin', + '{DAV:}displayname' => 'Mr. Admin', '{http://www.example.org/custom}custom' => 'Custom', '{http://sabredav.org/ns}email-address' => 'admin@example.org', - )); + ]); - $keys = array( + $keys = [ '{DAV:}displayname', '{http://www.example.org/custom}custom', '{http://sabredav.org/ns}email-address', - ); + ]; $props = $principal->getProperties($keys); - foreach($keys as $key) $this->assertArrayHasKey($key,$props); + foreach ($keys as $key) $this->assertArrayHasKey($key, $props); - $this->assertEquals('Mr. Admin',$props['{DAV:}displayname']); + $this->assertEquals('Mr. Admin', $props['{DAV:}displayname']); $this->assertEquals('admin@example.org', $props['{http://sabredav.org/ns}email-address']); } - public function testUpdateProperties() { + function testUpdateProperties() { $principalBackend = new PrincipalBackend\Mock(); - $principal = new Principal($principalBackend, array('uri' => 'principals/admin')); + $principal = new Principal($principalBackend, ['uri' => 'principals/admin']); - $propPatch = new DAV\PropPatch(array('{DAV:}yourmom' => 'test')); + $propPatch = new DAV\PropPatch(['{DAV:}yourmom' => 'test']); $result = $principal->propPatch($propPatch); $result = $propPatch->commit(); @@ -84,123 +84,123 @@ class PrincipalTest extends \PHPUnit_Framework_TestCase { } - public function testGetPrincipalUrl() { + function testGetPrincipalUrl() { $principalBackend = new PrincipalBackend\Mock(); - $principal = new Principal($principalBackend, array('uri' => 'principals/admin')); - $this->assertEquals('principals/admin',$principal->getPrincipalUrl()); + $principal = new Principal($principalBackend, ['uri' => 'principals/admin']); + $this->assertEquals('principals/admin', $principal->getPrincipalUrl()); } - public function testGetAlternateUriSet() { + function testGetAlternateUriSet() { $principalBackend = new PrincipalBackend\Mock(); - $principal = new Principal($principalBackend, array( - 'uri' => 'principals/admin', - '{DAV:}displayname' => 'Mr. Admin', + $principal = new Principal($principalBackend, [ + 'uri' => 'principals/admin', + '{DAV:}displayname' => 'Mr. Admin', '{http://www.example.org/custom}custom' => 'Custom', '{http://sabredav.org/ns}email-address' => 'admin@example.org', - '{DAV:}alternate-URI-set' => array( + '{DAV:}alternate-URI-set' => [ 'mailto:admin+1@example.org', 'mailto:admin+2@example.org', 'mailto:admin@example.org', - ), - )); + ], + ]); - $expected = array( + $expected = [ 'mailto:admin+1@example.org', 'mailto:admin+2@example.org', 'mailto:admin@example.org', - ); + ]; - $this->assertEquals($expected,$principal->getAlternateUriSet()); + $this->assertEquals($expected, $principal->getAlternateUriSet()); } - public function testGetAlternateUriSetEmpty() { + function testGetAlternateUriSetEmpty() { $principalBackend = new PrincipalBackend\Mock(); - $principal = new Principal($principalBackend, array( + $principal = new Principal($principalBackend, [ 'uri' => 'principals/admin', - )); + ]); - $expected = array(); + $expected = []; - $this->assertEquals($expected,$principal->getAlternateUriSet()); + $this->assertEquals($expected, $principal->getAlternateUriSet()); } - public function testGetGroupMemberSet() { + function testGetGroupMemberSet() { $principalBackend = new PrincipalBackend\Mock(); - $principal = new Principal($principalBackend, array('uri' => 'principals/admin')); - $this->assertEquals(array(),$principal->getGroupMemberSet()); + $principal = new Principal($principalBackend, ['uri' => 'principals/admin']); + $this->assertEquals([], $principal->getGroupMemberSet()); } - public function testGetGroupMembership() { + function testGetGroupMembership() { $principalBackend = new PrincipalBackend\Mock(); - $principal = new Principal($principalBackend, array('uri' => 'principals/admin')); - $this->assertEquals(array(),$principal->getGroupMembership()); + $principal = new Principal($principalBackend, ['uri' => 'principals/admin']); + $this->assertEquals([], $principal->getGroupMembership()); } - public function testSetGroupMemberSet() { + function testSetGroupMemberSet() { $principalBackend = new PrincipalBackend\Mock(); - $principal = new Principal($principalBackend, array('uri' => 'principals/admin')); - $principal->setGroupMemberSet(array('principals/foo')); + $principal = new Principal($principalBackend, ['uri' => 'principals/admin']); + $principal->setGroupMemberSet(['principals/foo']); - $this->assertEquals(array( - 'principals/admin' => array('principals/foo'), - ), $principalBackend->groupMembers); + $this->assertEquals([ + 'principals/admin' => ['principals/foo'], + ], $principalBackend->groupMembers); } - public function testGetOwner() { + function testGetOwner() { $principalBackend = new PrincipalBackend\Mock(); - $principal = new Principal($principalBackend, array('uri' => 'principals/admin')); - $this->assertEquals('principals/admin',$principal->getOwner()); + $principal = new Principal($principalBackend, ['uri' => 'principals/admin']); + $this->assertEquals('principals/admin', $principal->getOwner()); } - public function testGetGroup() { + function testGetGroup() { $principalBackend = new PrincipalBackend\Mock(); - $principal = new Principal($principalBackend, array('uri' => 'principals/admin')); + $principal = new Principal($principalBackend, ['uri' => 'principals/admin']); $this->assertNull($principal->getGroup()); } - public function testGetACl() { + function testGetACl() { $principalBackend = new PrincipalBackend\Mock(); - $principal = new Principal($principalBackend, array('uri' => 'principals/admin')); - $this->assertEquals(array( - array( - 'privilege' => '{DAV:}read', - 'principal' => '{DAV:}authenticated', + $principal = new Principal($principalBackend, ['uri' => 'principals/admin']); + $this->assertEquals([ + [ + 'privilege' => '{DAV:}all', + 'principal' => '{DAV:}owner', 'protected' => true, - ) - ),$principal->getACL()); + ] + ], $principal->getACL()); } /** - * @expectedException Sabre\DAV\Exception\MethodNotAllowed + * @expectedException \Sabre\DAV\Exception\Forbidden */ - public function testSetACl() { + function testSetACl() { $principalBackend = new PrincipalBackend\Mock(); - $principal = new Principal($principalBackend, array('uri' => 'principals/admin')); - $principal->setACL(array()); + $principal = new Principal($principalBackend, ['uri' => 'principals/admin']); + $principal->setACL([]); } - public function testGetSupportedPrivilegeSet() { + function testGetSupportedPrivilegeSet() { $principalBackend = new PrincipalBackend\Mock(); - $principal = new Principal($principalBackend, array('uri' => 'principals/admin')); + $principal = new Principal($principalBackend, ['uri' => 'principals/admin']); $this->assertNull($principal->getSupportedPrivilegeSet()); } diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/SimplePluginTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/SimplePluginTest.php index fb73cc16a..2de0ba6a8 100644 --- a/vendor/sabre/dav/tests/Sabre/DAVACL/SimplePluginTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAVACL/SimplePluginTest.php @@ -5,7 +5,6 @@ namespace Sabre\DAVACL; use Sabre\DAV; use Sabre\HTTP; - require_once 'Sabre/DAVACL/MockPrincipal.php'; require_once 'Sabre/DAVACL/MockACLNode.php'; @@ -14,21 +13,22 @@ class SimplePluginTest extends \PHPUnit_Framework_TestCase { function testValues() { $aclPlugin = new Plugin(); - $this->assertEquals('acl',$aclPlugin->getPluginName()); + $this->assertEquals('acl', $aclPlugin->getPluginName()); $this->assertEquals( - array('access-control', 'calendarserver-principal-property-search'), + ['access-control', 'calendarserver-principal-property-search'], $aclPlugin->getFeatures() ); $this->assertEquals( - array( + [ '{DAV:}expand-property', + '{DAV:}principal-match', '{DAV:}principal-property-search', '{DAV:}principal-search-property-set' - ), + ], $aclPlugin->getSupportedReportSet('')); - $this->assertEquals(array('ACL'), $aclPlugin->getMethods('')); + $this->assertEquals(['ACL'], $aclPlugin->getMethods('')); $this->assertEquals( @@ -39,90 +39,84 @@ class SimplePluginTest extends \PHPUnit_Framework_TestCase { function testGetFlatPrivilegeSet() { - $expected = array( - '{DAV:}all' => array( - 'privilege' => '{DAV:}all', - 'abstract' => true, - 'aggregates' => array( + $expected = [ + '{DAV:}all' => [ + 'privilege' => '{DAV:}all', + 'abstract' => false, + 'aggregates' => [ '{DAV:}read', '{DAV:}write', - ), - 'concrete' => null, - ), - '{DAV:}read' => array( - 'privilege' => '{DAV:}read', - 'abstract' => false, - 'aggregates' => array( + ], + 'concrete' => '{DAV:}all', + ], + '{DAV:}read' => [ + 'privilege' => '{DAV:}read', + 'abstract' => false, + 'aggregates' => [ '{DAV:}read-acl', '{DAV:}read-current-user-privilege-set', - ), + ], 'concrete' => '{DAV:}read', - ), - '{DAV:}read-acl' => array( - 'privilege' => '{DAV:}read-acl', - 'abstract' => false, - 'aggregates' => array(), - 'concrete' => '{DAV:}read-acl', - ), - '{DAV:}read-current-user-privilege-set' => array( - 'privilege' => '{DAV:}read-current-user-privilege-set', - 'abstract' => false, - 'aggregates' => array(), - 'concrete' => '{DAV:}read-current-user-privilege-set', - ), - '{DAV:}write' => array( - 'privilege' => '{DAV:}write', - 'abstract' => false, - 'aggregates' => array( - '{DAV:}write-acl', + ], + '{DAV:}read-acl' => [ + 'privilege' => '{DAV:}read-acl', + 'abstract' => false, + 'aggregates' => [], + 'concrete' => '{DAV:}read-acl', + ], + '{DAV:}read-current-user-privilege-set' => [ + 'privilege' => '{DAV:}read-current-user-privilege-set', + 'abstract' => false, + 'aggregates' => [], + 'concrete' => '{DAV:}read-current-user-privilege-set', + ], + '{DAV:}write' => [ + 'privilege' => '{DAV:}write', + 'abstract' => false, + 'aggregates' => [ '{DAV:}write-properties', '{DAV:}write-content', + '{DAV:}unlock', '{DAV:}bind', '{DAV:}unbind', - '{DAV:}unlock', - ), + ], 'concrete' => '{DAV:}write', - ), - '{DAV:}write-acl' => array( - 'privilege' => '{DAV:}write-acl', - 'abstract' => false, - 'aggregates' => array(), - 'concrete' => '{DAV:}write-acl', - ), - '{DAV:}write-properties' => array( - 'privilege' => '{DAV:}write-properties', - 'abstract' => false, - 'aggregates' => array(), - 'concrete' => '{DAV:}write-properties', - ), - '{DAV:}write-content' => array( - 'privilege' => '{DAV:}write-content', - 'abstract' => false, - 'aggregates' => array(), - 'concrete' => '{DAV:}write-content', - ), - '{DAV:}unlock' => array( - 'privilege' => '{DAV:}unlock', - 'abstract' => false, - 'aggregates' => array(), - 'concrete' => '{DAV:}unlock', - ), - '{DAV:}bind' => array( - 'privilege' => '{DAV:}bind', - 'abstract' => false, - 'aggregates' => array(), - 'concrete' => '{DAV:}bind', - ), - '{DAV:}unbind' => array( - 'privilege' => '{DAV:}unbind', - 'abstract' => false, - 'aggregates' => array(), - 'concrete' => '{DAV:}unbind', - ), - - ); + ], + '{DAV:}write-properties' => [ + 'privilege' => '{DAV:}write-properties', + 'abstract' => false, + 'aggregates' => [], + 'concrete' => '{DAV:}write-properties', + ], + '{DAV:}write-content' => [ + 'privilege' => '{DAV:}write-content', + 'abstract' => false, + 'aggregates' => [], + 'concrete' => '{DAV:}write-content', + ], + '{DAV:}unlock' => [ + 'privilege' => '{DAV:}unlock', + 'abstract' => false, + 'aggregates' => [], + 'concrete' => '{DAV:}unlock', + ], + '{DAV:}bind' => [ + 'privilege' => '{DAV:}bind', + 'abstract' => false, + 'aggregates' => [], + 'concrete' => '{DAV:}bind', + ], + '{DAV:}unbind' => [ + 'privilege' => '{DAV:}unbind', + 'abstract' => false, + 'aggregates' => [], + 'concrete' => '{DAV:}unbind', + ], + + ]; $plugin = new Plugin(); + $plugin->allowUnauthenticatedAccess = false; $server = new DAV\Server(); $server->addPlugin($plugin); $this->assertEquals($expected, $plugin->getFlatPrivilegeSet('')); @@ -132,24 +126,26 @@ class SimplePluginTest extends \PHPUnit_Framework_TestCase { function testCurrentUserPrincipalsNotLoggedIn() { $acl = new Plugin(); + $acl->allowUnauthenticatedAccess = false; $server = new DAV\Server(); $server->addPlugin($acl); - $this->assertEquals(array(),$acl->getCurrentUserPrincipals()); + $this->assertEquals([], $acl->getCurrentUserPrincipals()); } function testCurrentUserPrincipalsSimple() { - $tree = array( + $tree = [ - new DAV\SimpleCollection('principals', array( - new MockPrincipal('admin','principals/admin'), - )) + new DAV\SimpleCollection('principals', [ + new MockPrincipal('admin', 'principals/admin'), + ]) - ); + ]; $acl = new Plugin(); + $acl->allowUnauthenticatedAccess = false; $server = new DAV\Server($tree); $server->addPlugin($acl); @@ -159,24 +155,25 @@ class SimplePluginTest extends \PHPUnit_Framework_TestCase { //forcing login $auth->beforeMethod(new HTTP\Request(), new HTTP\Response()); - $this->assertEquals(array('principals/admin'),$acl->getCurrentUserPrincipals()); + $this->assertEquals(['principals/admin'], $acl->getCurrentUserPrincipals()); } function testCurrentUserPrincipalsGroups() { - $tree = array( + $tree = [ - new DAV\SimpleCollection('principals', array( - new MockPrincipal('admin','principals/admin',array('principals/administrators', 'principals/everyone')), - new MockPrincipal('administrators','principals/administrators',array('principals/groups'), array('principals/admin')), - new MockPrincipal('everyone','principals/everyone',array(), array('principals/admin')), - new MockPrincipal('groups','principals/groups',array(), array('principals/administrators')), - )) + new DAV\SimpleCollection('principals', [ + new MockPrincipal('admin', 'principals/admin', ['principals/administrators', 'principals/everyone']), + new MockPrincipal('administrators', 'principals/administrators', ['principals/groups'], ['principals/admin']), + new MockPrincipal('everyone', 'principals/everyone', [], ['principals/admin']), + new MockPrincipal('groups', 'principals/groups', [], ['principals/administrators']), + ]) - ); + ]; $acl = new Plugin(); + $acl->allowUnauthenticatedAccess = false; $server = new DAV\Server($tree); $server->addPlugin($acl); @@ -186,75 +183,77 @@ class SimplePluginTest extends \PHPUnit_Framework_TestCase { //forcing login $auth->beforeMethod(new HTTP\Request(), new HTTP\Response()); - $expected = array( + $expected = [ 'principals/admin', 'principals/administrators', 'principals/everyone', 'principals/groups', - ); + ]; - $this->assertEquals($expected,$acl->getCurrentUserPrincipals()); + $this->assertEquals($expected, $acl->getCurrentUserPrincipals()); // The second one should trigger the cache and be identical - $this->assertEquals($expected,$acl->getCurrentUserPrincipals()); + $this->assertEquals($expected, $acl->getCurrentUserPrincipals()); } function testGetACL() { - $acl = array( - array( + $acl = [ + [ 'principal' => 'principals/admin', 'privilege' => '{DAV:}read', - ), - array( + ], + [ 'principal' => 'principals/admin', 'privilege' => '{DAV:}write', - ), - ); + ], + ]; - $tree = array( - new MockACLNode('foo',$acl), - ); + $tree = [ + new MockACLNode('foo', $acl), + ]; $server = new DAV\Server($tree); $aclPlugin = new Plugin(); + $aclPlugin->allowUnauthenticatedAccess = false; $server->addPlugin($aclPlugin); - $this->assertEquals($acl,$aclPlugin->getACL('foo')); + $this->assertEquals($acl, $aclPlugin->getACL('foo')); } function testGetCurrentUserPrivilegeSet() { - $acl = array( - array( + $acl = [ + [ 'principal' => 'principals/admin', 'privilege' => '{DAV:}read', - ), - array( + ], + [ 'principal' => 'principals/user1', 'privilege' => '{DAV:}read', - ), - array( + ], + [ 'principal' => 'principals/admin', 'privilege' => '{DAV:}write', - ), - ); + ], + ]; - $tree = array( - new MockACLNode('foo',$acl), + $tree = [ + new MockACLNode('foo', $acl), - new DAV\SimpleCollection('principals', array( - new MockPrincipal('admin','principals/admin'), - )), + new DAV\SimpleCollection('principals', [ + new MockPrincipal('admin', 'principals/admin'), + ]), - ); + ]; $server = new DAV\Server($tree); $aclPlugin = new Plugin(); + $aclPlugin->allowUnauthenticatedAccess = false; $server->addPlugin($aclPlugin); $auth = new DAV\Auth\Plugin(new DAV\Auth\Backend\Mock()); @@ -263,52 +262,51 @@ class SimplePluginTest extends \PHPUnit_Framework_TestCase { //forcing login $auth->beforeMethod(new HTTP\Request(), new HTTP\Response()); - $expected = array( + $expected = [ '{DAV:}write', - '{DAV:}write-acl', '{DAV:}write-properties', '{DAV:}write-content', - '{DAV:}bind', - '{DAV:}unbind', '{DAV:}unlock', + '{DAV:}write-acl', '{DAV:}read', '{DAV:}read-acl', '{DAV:}read-current-user-privilege-set', - ); + ]; - $this->assertEquals($expected,$aclPlugin->getCurrentUserPrivilegeSet('foo')); + $this->assertEquals($expected, $aclPlugin->getCurrentUserPrivilegeSet('foo')); } function testCheckPrivileges() { - $acl = array( - array( + $acl = [ + [ 'principal' => 'principals/admin', 'privilege' => '{DAV:}read', - ), - array( + ], + [ 'principal' => 'principals/user1', 'privilege' => '{DAV:}read', - ), - array( + ], + [ 'principal' => 'principals/admin', 'privilege' => '{DAV:}write', - ), - ); + ], + ]; - $tree = array( - new MockACLNode('foo',$acl), + $tree = [ + new MockACLNode('foo', $acl), - new DAV\SimpleCollection('principals', array( - new MockPrincipal('admin','principals/admin'), - )), + new DAV\SimpleCollection('principals', [ + new MockPrincipal('admin', 'principals/admin'), + ]), - ); + ]; $server = new DAV\Server($tree); $aclPlugin = new Plugin(); + $aclPlugin->allowUnauthenticatedAccess = false; $server->addPlugin($aclPlugin); $auth = new DAV\Auth\Plugin(new DAV\Auth\Backend\Mock()); @@ -317,11 +315,7 @@ class SimplePluginTest extends \PHPUnit_Framework_TestCase { //forcing login //$auth->beforeMethod('GET','/'); - $this->assertFalse($aclPlugin->checkPrivileges('foo', array('{DAV:}read'), Plugin::R_PARENT, false)); + $this->assertFalse($aclPlugin->checkPrivileges('foo', ['{DAV:}read'], Plugin::R_PARENT, false)); } } - - - - diff --git a/vendor/sabre/dav/tests/Sabre/DAVServerTest.php b/vendor/sabre/dav/tests/Sabre/DAVServerTest.php index d329b5b05..35f240d23 100644 --- a/vendor/sabre/dav/tests/Sabre/DAVServerTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAVServerTest.php @@ -27,6 +27,7 @@ abstract class DAVServerTest extends \PHPUnit_Framework_TestCase { protected $setupCalDAVICSExport = false; protected $setupLocks = false; protected $setupFiles = false; + protected $setupSharing = false; protected $setupPropertyStorage = false; /** @@ -90,6 +91,13 @@ abstract class DAVServerTest extends \PHPUnit_Framework_TestCase { protected $locksPlugin; /** + * Sharing plugin. + * + * @var \Sabre\DAV\Sharing\Plugin + */ + protected $sharingPlugin; + + /* * @var Sabre\DAV\PropertyStorage\Plugin */ protected $propertyStoragePlugin; @@ -102,6 +110,12 @@ abstract class DAVServerTest extends \PHPUnit_Framework_TestCase { function setUp() { + $this->initializeEverything(); + + } + + function initializeEverything() { + $this->setUpBackends(); $this->setUpTree(); @@ -113,6 +127,10 @@ abstract class DAVServerTest extends \PHPUnit_Framework_TestCase { $this->caldavPlugin = new CalDAV\Plugin(); $this->server->addPlugin($this->caldavPlugin); } + if ($this->setupCalDAVSharing || $this->setupSharing) { + $this->sharingPlugin = new DAV\Sharing\Plugin(); + $this->server->addPlugin($this->sharingPlugin); + } if ($this->setupCalDAVSharing) { $this->caldavSharingPlugin = new CalDAV\SharingPlugin(); $this->server->addPlugin($this->caldavSharingPlugin); @@ -132,10 +150,6 @@ abstract class DAVServerTest extends \PHPUnit_Framework_TestCase { $this->carddavPlugin = new CardDAV\Plugin(); $this->server->addPlugin($this->carddavPlugin); } - if ($this->setupACL) { - $this->aclPlugin = new DAVACL\Plugin(); - $this->server->addPlugin($this->aclPlugin); - } if ($this->setupLocks) { $this->locksPlugin = new DAV\Locks\Plugin( $this->locksBackend @@ -149,13 +163,15 @@ abstract class DAVServerTest extends \PHPUnit_Framework_TestCase { $this->server->addPlugin($this->propertyStoragePlugin); } if ($this->autoLogin) { - $authBackend = new DAV\Auth\Backend\Mock(); - $authBackend->setPrincipal('principals/' . $this->autoLogin); - $this->authPlugin = new DAV\Auth\Plugin($authBackend); - $this->server->addPlugin($this->authPlugin); - - // This will trigger the actual login procedure - $this->authPlugin->beforeMethod(new Request(), new Response()); + $this->autoLogin($this->autoLogin); + } + if ($this->setupACL) { + $this->aclPlugin = new DAVACL\Plugin(); + if (!$this->autoLogin) { + $this->aclPlugin->allowUnauthenticatedAccess = false; + } + $this->aclPlugin->adminPrincipals = ['principals/admin']; + $this->server->addPlugin($this->aclPlugin); } } @@ -166,22 +182,54 @@ abstract class DAVServerTest extends \PHPUnit_Framework_TestCase { * You can either pass an instance of Sabre\HTTP\Request, or an array, * which will then be used as the _SERVER array. * + * If $expectedStatus is set, we'll compare it with the HTTP status of + * the returned response. If it doesn't match, we'll immediately fail + * the test. + * * @param array|\Sabre\HTTP\Request $request + * @param int $expectedStatus * @return \Sabre\HTTP\Response */ - function request($request) { + function request($request, $expectedStatus = null) { if (is_array($request)) { $request = HTTP\Request::createFromServerArray($request); } + $response = new HTTP\ResponseMock(); + $this->server->httpRequest = $request; - $this->server->httpResponse = new HTTP\ResponseMock(); + $this->server->httpResponse = $response; $this->server->exec(); + if ($expectedStatus) { + $responseBody = $expectedStatus !== $response->getStatus() ? $response->getBodyAsString() : ''; + $this->assertEquals($expectedStatus, $response->getStatus(), 'Incorrect HTTP status received for request. Response body: ' . $responseBody); + } return $this->server->httpResponse; } + /** + * This function takes a username and sets the server in a state where + * this user is logged in, and no longer requires an authentication check. + * + * @param string $userName + */ + function autoLogin($userName) { + $authBackend = new DAV\Auth\Backend\Mock(); + $authBackend->setPrincipal('principals/' . $userName); + $this->authPlugin = new DAV\Auth\Plugin($authBackend); + + // If the auth plugin already exists, we're removing its hooks: + if ($oldAuth = $this->server->getPlugin('auth')) { + $this->server->removeListener('beforeMethod', [$oldAuth, 'beforeMethod']); + } + $this->server->addPlugin($this->authPlugin); + + // This will trigger the actual login procedure + $this->authPlugin->beforeMethod(new Request(), new Response()); + } + /** * Override this to provide your own Tree for your test-case. */ @@ -200,10 +248,14 @@ abstract class DAVServerTest extends \PHPUnit_Framework_TestCase { ); } - if ($this->setupCardDAV || $this->setupCalDAV) { + if ($this->setupCalDAV) { $this->tree[] = new CalDAV\Principal\Collection( $this->principalBackend ); + } elseif ($this->setupCardDAV || $this->setupACL) { + $this->tree[] = new DAVACL\PrincipalCollection( + $this->principalBackend + ); } if ($this->setupFiles) { @@ -231,7 +283,7 @@ abstract class DAVServerTest extends \PHPUnit_Framework_TestCase { if ($this->setupCardDAV && is_null($this->carddavBackend)) { $this->carddavBackend = new CardDAV\Backend\Mock($this->carddavAddressBooks, $this->carddavCards); } - if ($this->setupCardDAV || $this->setupCalDAV) { + if ($this->setupCardDAV || $this->setupCalDAV || $this->setupACL) { $this->principalBackend = new DAVACL\PrincipalBackend\Mock(); } if ($this->setupLocks) { @@ -244,7 +296,7 @@ abstract class DAVServerTest extends \PHPUnit_Framework_TestCase { } - function assertHTTPStatus($expectedStatus, HTTP\Request $req) { + function assertHttpStatus($expectedStatus, HTTP\Request $req) { $resp = $this->request($req); $this->assertEquals((int)$expectedStatus, (int)$resp->status, 'Incorrect HTTP status received: ' . $resp->body); diff --git a/vendor/sabre/dav/tests/Sabre/TestUtil.php b/vendor/sabre/dav/tests/Sabre/TestUtil.php index 20bce1ea0..9df94915f 100644 --- a/vendor/sabre/dav/tests/Sabre/TestUtil.php +++ b/vendor/sabre/dav/tests/Sabre/TestUtil.php @@ -11,17 +11,17 @@ class TestUtil { */ static function clearTempDir() { - self::deleteTree(SABRE_TEMPDIR,false); + self::deleteTree(SABRE_TEMPDIR, false); } - static private function deleteTree($path,$deleteRoot = true) { + private static function deleteTree($path, $deleteRoot = true) { - foreach(scandir($path) as $node) { + foreach (scandir($path) as $node) { - if ($node=='.' || $node=='..') continue; - $myPath = $path.'/'. $node; + if ($node == '.' || $node == '..') continue; + $myPath = $path . '/' . $node; if (is_file($myPath)) { unlink($myPath); } else { @@ -38,8 +38,8 @@ class TestUtil { static function getMySQLDB() { try { - $pdo = new \PDO(SABRE_MYSQLDSN,SABRE_MYSQLUSER,SABRE_MYSQLPASS); - $pdo->setAttribute(\PDO::ATTR_ERRMODE,\PDO::ERRMODE_EXCEPTION); + $pdo = new \PDO(SABRE_MYSQLDSN, SABRE_MYSQLUSER, SABRE_MYSQLPASS); + $pdo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION); return $pdo; } catch (\PDOException $e) { return null; @@ -49,10 +49,23 @@ class TestUtil { static function getSQLiteDB() { - $pdo = new \PDO('sqlite:'.SABRE_TEMPDIR.'/pdobackend'); - $pdo->setAttribute(\PDO::ATTR_ERRMODE,\PDO::ERRMODE_EXCEPTION); + $pdo = new \PDO('sqlite:' . SABRE_TEMPDIR . '/pdobackend'); + $pdo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION); return $pdo; } + static function getPgSqlDB() { + + //try { + $pdo = new \PDO(SABRE_PGSQLDSN); + $pdo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION); + return $pdo; + //} catch (\PDOException $e) { + // return null; + //} + + } + + } -- cgit v1.2.3