aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/sabre/dav/tests/Sabre/DAV/ServerPreconditionTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/sabre/dav/tests/Sabre/DAV/ServerPreconditionTest.php')
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAV/ServerPreconditionTest.php283
1 files changed, 0 insertions, 283 deletions
diff --git a/vendor/sabre/dav/tests/Sabre/DAV/ServerPreconditionTest.php b/vendor/sabre/dav/tests/Sabre/DAV/ServerPreconditionTest.php
deleted file mode 100644
index fa88e9095..000000000
--- a/vendor/sabre/dav/tests/Sabre/DAV/ServerPreconditionTest.php
+++ /dev/null
@@ -1,283 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace Sabre\DAV;
-
-use Sabre\HTTP;
-
-require_once 'Sabre/HTTP/ResponseMock.php';
-
-class ServerPreconditionsTest extends \PHPUnit\Framework\TestCase
-{
- /**
- * @expectedException \Sabre\DAV\Exception\PreconditionFailed
- */
- public function testIfMatchNoNode()
- {
- $root = new SimpleCollection('root', [new ServerPreconditionsNode()]);
- $server = new Server($root);
- $httpRequest = new HTTP\Request('GET', '/bar', ['If-Match' => '*']);
- $httpResponse = new HTTP\Response();
- $server->checkPreconditions($httpRequest, $httpResponse);
- }
-
- public function testIfMatchHasNode()
- {
- $root = new SimpleCollection('root', [new ServerPreconditionsNode()]);
- $server = new Server($root);
- $httpRequest = new HTTP\Request('GET', '/foo', ['If-Match' => '*']);
- $httpResponse = new HTTP\Response();
- $this->assertTrue($server->checkPreconditions($httpRequest, $httpResponse));
- }
-
- /**
- * @expectedException \Sabre\DAV\Exception\PreconditionFailed
- */
- public function testIfMatchWrongEtag()
- {
- $root = new SimpleCollection('root', [new ServerPreconditionsNode()]);
- $server = new Server($root);
- $httpRequest = new HTTP\Request('GET', '/foo', ['If-Match' => '1234']);
- $httpResponse = new HTTP\Response();
- $server->checkPreconditions($httpRequest, $httpResponse);
- }
-
- public function testIfMatchCorrectEtag()
- {
- $root = new SimpleCollection('root', [new ServerPreconditionsNode()]);
- $server = new Server($root);
- $httpRequest = new HTTP\Request('GET', '/foo', ['If-Match' => '"abc123"']);
- $httpResponse = new HTTP\Response();
- $this->assertTrue($server->checkPreconditions($httpRequest, $httpResponse));
- }
-
- /**
- * Evolution sometimes uses \" instead of " for If-Match headers.
- *
- * @depends testIfMatchCorrectEtag
- */
- public function testIfMatchEvolutionEtag()
- {
- $root = new SimpleCollection('root', [new ServerPreconditionsNode()]);
- $server = new Server($root);
- $httpRequest = new HTTP\Request('GET', '/foo', ['If-Match' => '\\"abc123\\"']);
- $httpResponse = new HTTP\Response();
- $this->assertTrue($server->checkPreconditions($httpRequest, $httpResponse));
- }
-
- public function testIfMatchMultiple()
- {
- $root = new SimpleCollection('root', [new ServerPreconditionsNode()]);
- $server = new Server($root);
- $httpRequest = new HTTP\Request('GET', '/foo', ['If-Match' => '"hellothere", "abc123"']);
- $httpResponse = new HTTP\Response();
- $this->assertTrue($server->checkPreconditions($httpRequest, $httpResponse));
- }
-
- public function testIfNoneMatchNoNode()
- {
- $root = new SimpleCollection('root', [new ServerPreconditionsNode()]);
- $server = new Server($root);
- $httpRequest = new HTTP\Request('GET', '/bar', ['If-None-Match' => '*']);
- $httpResponse = new HTTP\Response();
- $this->assertTrue($server->checkPreconditions($httpRequest, $httpResponse));
- }
-
- /**
- * @expectedException \Sabre\DAV\Exception\PreconditionFailed
- */
- public function testIfNoneMatchHasNode()
- {
- $root = new SimpleCollection('root', [new ServerPreconditionsNode()]);
- $server = new Server($root);
- $httpRequest = new HTTP\Request('POST', '/foo', ['If-None-Match' => '*']);
- $httpResponse = new HTTP\Response();
- $server->checkPreconditions($httpRequest, $httpResponse);
- }
-
- public function testIfNoneMatchWrongEtag()
- {
- $root = new SimpleCollection('root', [new ServerPreconditionsNode()]);
- $server = new Server($root);
- $httpRequest = new HTTP\Request('POST', '/foo', ['If-None-Match' => '"1234"']);
- $httpResponse = new HTTP\Response();
- $this->assertTrue($server->checkPreconditions($httpRequest, $httpResponse));
- }
-
- public function testIfNoneMatchWrongEtagMultiple()
- {
- $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();
- $this->assertTrue($server->checkPreconditions($httpRequest, $httpResponse));
- }
-
- /**
- * @expectedException \Sabre\DAV\Exception\PreconditionFailed
- */
- public function testIfNoneMatchCorrectEtag()
- {
- $root = new SimpleCollection('root', [new ServerPreconditionsNode()]);
- $server = new Server($root);
- $httpRequest = new HTTP\Request('POST', '/foo', ['If-None-Match' => '"abc123"']);
- $httpResponse = new HTTP\Response();
- $server->checkPreconditions($httpRequest, $httpResponse);
- }
-
- /**
- * @expectedException \Sabre\DAV\Exception\PreconditionFailed
- */
- public function testIfNoneMatchCorrectEtagMultiple()
- {
- $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();
- $server->checkPreconditions($httpRequest, $httpResponse);
- }
-
- public function testIfNoneMatchCorrectEtagAsGet()
- {
- $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();
-
- $this->assertFalse($server->checkPreconditions($httpRequest, $server->httpResponse));
- $this->assertEquals(304, $server->httpResponse->getStatus());
- $this->assertEquals(['ETag' => ['"abc123"']], $server->httpResponse->getHeaders());
- }
-
- /**
- * This was a test written for issue #515.
- */
- public function testNoneMatchCorrectEtagEnsureSapiSent()
- {
- $root = new SimpleCollection('root', [new ServerPreconditionsNode()]);
- $server = new Server($root);
- $server->sapi = new HTTP\SapiMock();
- HTTP\SapiMock::$sent = 0;
- $httpRequest = new HTTP\Request('GET', '/foo', ['If-None-Match' => '"abc123"']);
- $server->httpRequest = $httpRequest;
- $server->httpResponse = new HTTP\ResponseMock();
-
- $server->exec();
-
- $this->assertFalse($server->checkPreconditions($httpRequest, $server->httpResponse));
- $this->assertEquals(304, $server->httpResponse->getStatus());
- $this->assertEquals([
- 'ETag' => ['"abc123"'],
- 'X-Sabre-Version' => [Version::VERSION],
- ], $server->httpResponse->getHeaders());
- $this->assertEquals(1, HTTP\SapiMock::$sent);
- }
-
- public function testIfModifiedSinceUnModified()
- {
- $root = new SimpleCollection('root', [new ServerPreconditionsNode()]);
- $server = new Server($root);
- $httpRequest = new HTTP\Request('GET', '/foo', [
- 'If-Modified-Since' => 'Sun, 06 Nov 1994 08:49:37 GMT',
- ]);
- $server->httpResponse = new HTTP\ResponseMock();
- $this->assertFalse($server->checkPreconditions($httpRequest, $server->httpResponse));
-
- $this->assertEquals(304, $server->httpResponse->status);
- $this->assertEquals([
- 'Last-Modified' => ['Sat, 06 Apr 1985 23:30:00 GMT'],
- ], $server->httpResponse->getHeaders());
- }
-
- public function testIfModifiedSinceModified()
- {
- $root = new SimpleCollection('root', [new ServerPreconditionsNode()]);
- $server = new Server($root);
- $httpRequest = new HTTP\Request('GET', '/foo', [
- 'If-Modified-Since' => 'Tue, 06 Nov 1984 08:49:37 GMT',
- ]);
-
- $httpResponse = new HTTP\ResponseMock();
- $this->assertTrue($server->checkPreconditions($httpRequest, $httpResponse));
- }
-
- public function testIfModifiedSinceInvalidDate()
- {
- $root = new SimpleCollection('root', [new ServerPreconditionsNode()]);
- $server = new Server($root);
- $httpRequest = new HTTP\Request('GET', '/foo', [
- 'If-Modified-Since' => 'Your mother',
- ]);
- $httpResponse = new HTTP\ResponseMock();
-
- // Invalid dates must be ignored, so this should return true
- $this->assertTrue($server->checkPreconditions($httpRequest, $httpResponse));
- }
-
- public function testIfModifiedSinceInvalidDate2()
- {
- $root = new SimpleCollection('root', [new ServerPreconditionsNode()]);
- $server = new Server($root);
- $httpRequest = new HTTP\Request('GET', '/foo', [
- 'If-Unmodified-Since' => 'Sun, 06 Nov 1994 08:49:37 EST',
- ]);
- $httpResponse = new HTTP\ResponseMock();
- $this->assertTrue($server->checkPreconditions($httpRequest, $httpResponse));
- }
-
- public function testIfUnmodifiedSinceUnModified()
- {
- $root = new SimpleCollection('root', [new ServerPreconditionsNode()]);
- $server = new Server($root);
- $httpRequest = new HTTP\Request('GET', '/foo', [
- 'If-Unmodified-Since' => 'Sun, 06 Nov 1994 08:49:37 GMT',
- ]);
- $httpResponse = new HTTP\Response();
- $this->assertTrue($server->checkPreconditions($httpRequest, $httpResponse));
- }
-
- /**
- * @expectedException \Sabre\DAV\Exception\PreconditionFailed
- */
- public function testIfUnmodifiedSinceModified()
- {
- $root = new SimpleCollection('root', [new ServerPreconditionsNode()]);
- $server = new Server($root);
- $httpRequest = new HTTP\Request('GET', '/foo', [
- 'If-Unmodified-Since' => 'Tue, 06 Nov 1984 08:49:37 GMT',
- ]);
- $httpResponse = new HTTP\ResponseMock();
- $server->checkPreconditions($httpRequest, $httpResponse);
- }
-
- public function testIfUnmodifiedSinceInvalidDate()
- {
- $root = new SimpleCollection('root', [new ServerPreconditionsNode()]);
- $server = new Server($root);
- $httpRequest = new HTTP\Request('GET', '/foo', [
- 'If-Unmodified-Since' => 'Sun, 06 Nov 1984 08:49:37 CET',
- ]);
- $httpResponse = new HTTP\ResponseMock();
- $this->assertTrue($server->checkPreconditions($httpRequest, $httpResponse));
- }
-}
-
-class ServerPreconditionsNode extends File
-{
- public function getETag()
- {
- return '"abc123"';
- }
-
- public function getLastModified()
- {
- /* my birthday & time, I believe */
- return strtotime('1985-04-07 01:30 +02:00');
- }
-
- public function getName()
- {
- return 'foo';
- }
-}