summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorLukas Reschke <lukas@owncloud.com>2014-11-03 10:55:52 +0100
committerLukas Reschke <lukas@owncloud.com>2014-11-03 16:53:03 +0100
commite73ccbd4cade0622615ee133496a571ac1d6dba7 (patch)
tree114c981b1ae7ae1e050dbfe74c1333b238a2b178 /tests
parentf8f38b06dfef0af2555124cf0d1ec55402aa8c8c (diff)
downloadnextcloud-server-e73ccbd4cade0622615ee133496a571ac1d6dba7.tar.gz
nextcloud-server-e73ccbd4cade0622615ee133496a571ac1d6dba7.zip
Migrate "setsecurity.php" to the AppFramework
Add switch to enforce SSL for subdomains Add unit tests Add test for boolean values Camel-case Fix ugly JS
Diffstat (limited to 'tests')
-rw-r--r--tests/settings/controller/securitysettingscontrollertest.php138
1 files changed, 138 insertions, 0 deletions
diff --git a/tests/settings/controller/securitysettingscontrollertest.php b/tests/settings/controller/securitysettingscontrollertest.php
new file mode 100644
index 00000000000..d89e4932368
--- /dev/null
+++ b/tests/settings/controller/securitysettingscontrollertest.php
@@ -0,0 +1,138 @@
+<?php
+/**
+ * @author Lukas Reschke
+ * @copyright 2014 Lukas Reschke lukas@owncloud.com
+ *
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+namespace OC\Settings\Controller;
+
+use \OC\Settings\Application;
+
+/**
+ * @package OC\Settings\Controller
+ */
+class SecuritySettingsControllerTest extends \PHPUnit_Framework_TestCase {
+
+ /** @var \OCP\AppFramework\IAppContainer */
+ private $container;
+
+ /** @var SecuritySettingsController */
+ private $securitySettingsController;
+
+ protected function setUp() {
+ $app = new Application();
+ $this->container = $app->getContainer();
+ $this->container['Config'] = $this->getMockBuilder('\OCP\IConfig')
+ ->disableOriginalConstructor()->getMock();
+ $this->container['AppName'] = 'settings';
+ $this->securitySettingsController = $this->container['SecuritySettingsController'];
+ }
+
+
+ public function testEnforceSSLEmpty() {
+ $this->container['Config']
+ ->expects($this->once())
+ ->method('setSystemValue')
+ ->with('forcessl', false);
+
+ $response = $this->securitySettingsController->enforceSSL();
+ $expectedResponse = array('status' => 'success');
+
+ $this->assertSame($expectedResponse, $response);
+ }
+
+ public function testEnforceSSL() {
+ $this->container['Config']
+ ->expects($this->once())
+ ->method('setSystemValue')
+ ->with('forcessl', true);
+
+ $response = $this->securitySettingsController->enforceSSL(true);
+ $expectedResponse = array('status' => 'success');
+
+ $this->assertSame($expectedResponse, $response);
+ }
+
+ public function testEnforceSSLInvalid() {
+ $this->container['Config']
+ ->expects($this->exactly(0))
+ ->method('setSystemValue');
+
+ $response = $this->securitySettingsController->enforceSSL('blah');
+ $expectedResponse = array('status' => 'error');
+
+ $this->assertSame($expectedResponse, $response);
+ }
+
+ public function testEnforceSSLForSubdomainsEmpty() {
+ $this->container['Config']
+ ->expects($this->once())
+ ->method('setSystemValue')
+ ->with('forceSSLforSubdomains', false);
+
+ $response = $this->securitySettingsController->enforceSSLForSubdomains();
+ $expectedResponse = array('status' => 'success');
+
+ $this->assertSame($expectedResponse, $response);
+ }
+
+ public function testEnforceSSLForSubdomains() {
+ $this->container['Config']
+ ->expects($this->once())
+ ->method('setSystemValue')
+ ->with('forceSSLforSubdomains', true);
+
+ $response = $this->securitySettingsController->enforceSSLForSubdomains(true);
+ $expectedResponse = array('status' => 'success');
+
+ $this->assertSame($expectedResponse, $response);
+ }
+
+ public function testEnforceSSLForSubdomainsInvalid() {
+ $this->container['Config']
+ ->expects($this->exactly(0))
+ ->method('setSystemValue');
+
+ $response = $this->securitySettingsController->enforceSSLForSubdomains('blah');
+ $expectedResponse = array('status' => 'error');
+
+ $this->assertSame($expectedResponse, $response);
+ }
+
+ public function testTrustedDomainsWithExistingValues() {
+ $this->container['Config']
+ ->expects($this->once())
+ ->method('setSystemValue')
+ ->with('trusted_domains', array('owncloud.org', 'owncloud.com', 'newdomain.com'));
+ $this->container['Config']
+ ->expects($this->once())
+ ->method('getSystemValue')
+ ->with('trusted_domains')
+ ->will($this->returnValue(array('owncloud.org', 'owncloud.com')));
+
+ $response = $this->securitySettingsController->trustedDomains('newdomain.com');
+ $expectedResponse = array('status' => 'success');
+
+ $this->assertSame($expectedResponse, $response);
+ }
+
+ public function testTrustedDomainsEmpty() {
+ $this->container['Config']
+ ->expects($this->once())
+ ->method('setSystemValue')
+ ->with('trusted_domains', array('newdomain.com'));
+ $this->container['Config']
+ ->expects($this->once())
+ ->method('getSystemValue')
+ ->with('trusted_domains')
+ ->will($this->returnValue(''));
+
+ $response = $this->securitySettingsController->trustedDomains('newdomain.com');
+ $expectedResponse = array('status' => 'success');
+
+ $this->assertSame($expectedResponse, $response);
+ }
+}