summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorThomas Müller <thomas.mueller@tmit.eu>2013-08-31 01:38:44 +0200
committerThomas Müller <thomas.mueller@tmit.eu>2013-08-31 01:38:44 +0200
commita9d6b59307f703f186e32f716b73e014e594d495 (patch)
tree98783ee5fe9ec7dfa77ebca5fb741d9e7863e371 /tests
parent14b67d6c5f1e3cd538714a8b5f512dd34847e795 (diff)
parent0f5df181a3b1f88075193fca0bed88f289314c8e (diff)
downloadnextcloud-server-a9d6b59307f703f186e32f716b73e014e594d495.tar.gz
nextcloud-server-a9d6b59307f703f186e32f716b73e014e594d495.zip
Merge branch 'master' into appframework-master
Diffstat (limited to 'tests')
-rw-r--r--tests/lib/connector/sabre/quotaplugin.php101
-rw-r--r--tests/lib/group/group.php10
2 files changed, 106 insertions, 5 deletions
diff --git a/tests/lib/connector/sabre/quotaplugin.php b/tests/lib/connector/sabre/quotaplugin.php
new file mode 100644
index 00000000000..1186de28742
--- /dev/null
+++ b/tests/lib/connector/sabre/quotaplugin.php
@@ -0,0 +1,101 @@
+<?php
+/**
+ * Copyright (c) 2013 Thomas Müller <thomas.mueller@tmit.eu>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+class Test_OC_Connector_Sabre_QuotaPlugin extends PHPUnit_Framework_TestCase {
+
+ /**
+ * @var Sabre_DAV_Server
+ */
+ private $server;
+
+ /**
+ * @var OC_Connector_Sabre_QuotaPlugin
+ */
+ private $plugin;
+
+ public function setUp() {
+ $this->server = new Sabre_DAV_Server();
+ $this->plugin = new OC_Connector_Sabre_QuotaPlugin();
+ $this->plugin->initialize($this->server);
+ }
+
+ /**
+ * @dataProvider lengthProvider
+ */
+ public function testLength($expected, $headers)
+ {
+ $this->server->httpRequest = new Sabre_HTTP_Request($headers);
+ $length = $this->plugin->getLength();
+ $this->assertEquals($expected, $length);
+ }
+
+ /**
+ * @dataProvider quotaOkayProvider
+ */
+ public function testCheckQuota($quota, $headers)
+ {
+ $this->plugin->fileView = $this->buildFileViewMock($quota);
+
+ $this->server->httpRequest = new Sabre_HTTP_Request($headers);
+ $result = $this->plugin->checkQuota('');
+ $this->assertTrue($result);
+ }
+
+ /**
+ * @expectedException Sabre_DAV_Exception_InsufficientStorage
+ * @dataProvider quotaExceededProvider
+ */
+ public function testCheckExceededQuota($quota, $headers)
+ {
+ $this->plugin->fileView = $this->buildFileViewMock($quota);
+
+ $this->server->httpRequest = new Sabre_HTTP_Request($headers);
+ $this->plugin->checkQuota('');
+ }
+
+ public function quotaOkayProvider() {
+ return array(
+ array(1024, array()),
+ array(1024, array('HTTP_X_EXPECTED_ENTITY_LENGTH' => '1024')),
+ array(1024, array('HTTP_CONTENT_LENGTH' => '512')),
+ array(1024, array('HTTP_OC_TOTAL_LENGTH' => '1024', 'HTTP_CONTENT_LENGTH' => '512')),
+ // OC\Files\FREE_SPACE_UNKNOWN = -2
+ array(-2, array()),
+ array(-2, array('HTTP_X_EXPECTED_ENTITY_LENGTH' => '1024')),
+ array(-2, array('HTTP_CONTENT_LENGTH' => '512')),
+ array(-2, array('HTTP_OC_TOTAL_LENGTH' => '1024', 'HTTP_CONTENT_LENGTH' => '512')),
+ );
+ }
+
+ public function quotaExceededProvider() {
+ return array(
+ array(1023, array('HTTP_X_EXPECTED_ENTITY_LENGTH' => '1024')),
+ array(511, array('HTTP_CONTENT_LENGTH' => '512')),
+ array(2047, array('HTTP_OC_TOTAL_LENGTH' => '2048', 'HTTP_CONTENT_LENGTH' => '1024')),
+ );
+ }
+
+ public function lengthProvider() {
+ return array(
+ array(null, array()),
+ array(1024, array('HTTP_X_EXPECTED_ENTITY_LENGTH' => '1024')),
+ array(512, array('HTTP_CONTENT_LENGTH' => '512')),
+ array(2048, array('HTTP_OC_TOTAL_LENGTH' => '2048', 'HTTP_CONTENT_LENGTH' => '1024')),
+ array(4096, array('HTTP_OC_TOTAL_LENGTH' => '2048', 'HTTP_X_EXPECTED_ENTITY_LENGTH' => '4096')),
+ );
+ }
+
+ private function buildFileViewMock($quota) {
+ // mock filesysten
+ $view = $this->getMock('\OC\Files\View', array('free_space'), array(), '', FALSE);
+ $view->expects($this->any())->method('free_space')->withAnyParameters()->will($this->returnValue($quota));
+
+ return $view;
+ }
+
+}
diff --git a/tests/lib/group/group.php b/tests/lib/group/group.php
index 75e975d9e65..f1fda3b9288 100644
--- a/tests/lib/group/group.php
+++ b/tests/lib/group/group.php
@@ -43,8 +43,8 @@ class Group extends \PHPUnit_Framework_TestCase {
$users = $group->getUsers();
$this->assertEquals(2, count($users));
- $user1 = $users[0];
- $user2 = $users[1];
+ $user1 = $users['user1'];
+ $user2 = $users['user2'];
$this->assertEquals('user1', $user1->getUID());
$this->assertEquals('user2', $user2->getUID());
}
@@ -68,9 +68,9 @@ class Group extends \PHPUnit_Framework_TestCase {
$users = $group->getUsers();
$this->assertEquals(3, count($users));
- $user1 = $users[0];
- $user2 = $users[1];
- $user3 = $users[2];
+ $user1 = $users['user1'];
+ $user2 = $users['user2'];
+ $user3 = $users['user3'];
$this->assertEquals('user1', $user1->getUID());
$this->assertEquals('user2', $user2->getUID());
$this->assertEquals('user3', $user3->getUID());