summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorThomas Müller <thomas.mueller@tmit.eu>2014-11-11 20:37:50 +0100
committerThomas Müller <thomas.mueller@tmit.eu>2014-11-11 20:37:50 +0100
commit4c1244f50c78b16c670f9ef1a8e33ef4b30d0d77 (patch)
treefd58111b3105e3f2bbc9a1efd186cbfe25a222b4 /tests
parent3ecb3f16bf51bf2b691292212e72081c6353a3d4 (diff)
parente73ccbd4cade0622615ee133496a571ac1d6dba7 (diff)
downloadnextcloud-server-4c1244f50c78b16c670f9ef1a8e33ef4b30d0d77.tar.gz
nextcloud-server-4c1244f50c78b16c670f9ef1a8e33ef4b30d0d77.zip
Merge pull request #11917 from owncloud/fix-11909
Add checkbox to enforce SSL for subdomains
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);
+ }
+}