summaryrefslogtreecommitdiffstats
path: root/apps/dav/tests/unit
diff options
context:
space:
mode:
authorJulius Härtl <jus@bitgrid.net>2019-12-23 13:08:10 +0100
committerJulius Härtl <jus@bitgrid.net>2020-02-04 15:35:23 +0100
commit8fba05db965f188ff49705af5b55eef87373dd8d (patch)
tree1dc7b31dd68c77e946d78085392e55dbdf844c09 /apps/dav/tests/unit
parentd63fc8eea498c2035c54e3081c4256f02193235d (diff)
downloadnextcloud-server-8fba05db965f188ff49705af5b55eef87373dd8d.tar.gz
nextcloud-server-8fba05db965f188ff49705af5b55eef87373dd8d.zip
Check for empty authorization headers for office requests and allow anonymous option on the whole tree
Signed-off-by: Julius Härtl <jus@bitgrid.net>
Diffstat (limited to 'apps/dav/tests/unit')
-rw-r--r--apps/dav/tests/unit/DAV/AnonymousOptionsTest.php17
1 files changed, 15 insertions, 2 deletions
diff --git a/apps/dav/tests/unit/DAV/AnonymousOptionsTest.php b/apps/dav/tests/unit/DAV/AnonymousOptionsTest.php
index a0abac0712a..a61c8e1e550 100644
--- a/apps/dav/tests/unit/DAV/AnonymousOptionsTest.php
+++ b/apps/dav/tests/unit/DAV/AnonymousOptionsTest.php
@@ -33,7 +33,7 @@ use Sabre\HTTP\Sapi;
use Test\TestCase;
class AnonymousOptionsTest extends TestCase {
- private function sendRequest($method, $path) {
+ private function sendRequest($method, $path, $userAgent = '') {
$server = new Server();
$server->addPlugin(new AnonymousOptionsPlugin());
$server->addPlugin(new Plugin(new BasicCallBack(function() {
@@ -42,6 +42,7 @@ class AnonymousOptionsTest extends TestCase {
$server->httpRequest->setMethod($method);
$server->httpRequest->setUrl($path);
+ $server->httpRequest->setHeader('User-Agent', $userAgent);
$server->sapi = new SapiMock();
$server->exec();
@@ -63,7 +64,19 @@ class AnonymousOptionsTest extends TestCase {
public function testAnonymousOptionsNonRootSubDir() {
$response = $this->sendRequest('OPTIONS', 'foo/bar');
- $this->assertEquals(401, $response->getStatus());
+ $this->assertEquals(200, $response->getStatus());
+ }
+
+ public function testAnonymousHead() {
+ $response = $this->sendRequest('HEAD', '', 'Microsoft Office does strange things');
+
+ $this->assertEquals(200, $response->getStatus());
+ }
+
+ public function testAnonymousHeadNoOffice() {
+ $response = $this->sendRequest('HEAD', '');
+
+ $this->assertEquals(401, $response->getStatus(), 'curl');
}
}