diff options
author | Morris Jobke <hey@morrisjobke.de> | 2018-11-22 13:42:54 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-11-22 13:42:54 +0100 |
commit | db6fad3eeea0137c091e505f6c93bad55d105b99 (patch) | |
tree | c9901048cf690d7dc1202ddc5426d0e86e2f58ac | |
parent | e8df902083f92b07538050057c3414325cf5bf2e (diff) | |
parent | 935bb256398a6ebab4e882fc740487dfbd401f73 (diff) | |
download | nextcloud-server-db6fad3eeea0137c091e505f6c93bad55d105b99.tar.gz nextcloud-server-db6fad3eeea0137c091e505f6c93bad55d105b99.zip |
Merge pull request #12571 from TheLastProject/feature/make_connectivity_check_domains_changeable
Make connectivity check domains configurable
-rw-r--r-- | config/config.sample.php | 20 | ||||
-rw-r--r-- | settings/Controller/CheckSetupController.php | 8 | ||||
-rw-r--r-- | tests/Settings/Controller/CheckSetupControllerTest.php | 26 |
3 files changed, 43 insertions, 11 deletions
diff --git a/config/config.sample.php b/config/config.sample.php index 902bfa6e44d..5190e46ad7f 100644 --- a/config/config.sample.php +++ b/config/config.sample.php @@ -657,6 +657,26 @@ $CONFIG = array( 'has_internet_connection' => true, /** + * Which domains to request to determine the availability of an Internet + * connection. If none of these hosts are reachable, the administration panel + * will show a warning. Set to an empty list to not do any such checks (warning + * will still be shown). + * + * Defaults to the following domains: + * + * - www.nextcloud.com + * - www.startpage.com + * - www.eff.org + * - www.edri.org + */ +'connectivity_check_domains' => array( + 'www.nextcloud.com', + 'www.startpage.com', + 'www.eff.org', + 'www.edri.org' +), + +/** * Allows Nextcloud to verify a working .well-known URL redirects. This is done * by attempting to make a request from JS to * https://your-domain.com/.well-known/caldav/ diff --git a/settings/Controller/CheckSetupController.php b/settings/Controller/CheckSetupController.php index ba56c72dccf..5da84eca68d 100644 --- a/settings/Controller/CheckSetupController.php +++ b/settings/Controller/CheckSetupController.php @@ -130,11 +130,9 @@ class CheckSetupController extends Controller { return false; } - $siteArray = ['www.nextcloud.com', - 'www.startpage.com', - 'www.eff.org', - 'www.edri.org', - ]; + $siteArray = $this->config->getSystemValue('connectivity_check_domains', [ + 'www.nextcloud.com', 'www.startpage.com', 'www.eff.org', 'www.edri.org' + ]); foreach($siteArray as $site) { if ($this->isSiteReachable($site)) { diff --git a/tests/Settings/Controller/CheckSetupControllerTest.php b/tests/Settings/Controller/CheckSetupControllerTest.php index ff565f3734b..7731e08eed0 100644 --- a/tests/Settings/Controller/CheckSetupControllerTest.php +++ b/tests/Settings/Controller/CheckSetupControllerTest.php @@ -189,10 +189,15 @@ class CheckSetupControllerTest extends TestCase { } public function testIsInternetConnectionWorkingCorrectly() { - $this->config->expects($this->once()) + $this->config->expects($this->at(0)) ->method('getSystemValue') ->with('has_internet_connection', true) - ->will($this->returnValue(true)); + ->will($this->returnValue(true)); + + $this->config->expects($this->at(1)) + ->method('getSystemValue') + ->with('connectivity_check_domains', ['www.nextcloud.com', 'www.startpage.com', 'www.eff.org', 'www.edri.org']) + ->will($this->returnValue(['www.nextcloud.com', 'www.startpage.com', 'www.eff.org', 'www.edri.org'])); $client = $this->getMockBuilder('\OCP\Http\Client\IClient') ->disableOriginalConstructor()->getMock(); @@ -213,10 +218,15 @@ class CheckSetupControllerTest extends TestCase { } public function testIsInternetConnectionFail() { - $this->config->expects($this->once()) + $this->config->expects($this->at(0)) ->method('getSystemValue') ->with('has_internet_connection', true) - ->will($this->returnValue(true)); + ->will($this->returnValue(true)); + + $this->config->expects($this->at(1)) + ->method('getSystemValue') + ->with('connectivity_check_domains', ['www.nextcloud.com', 'www.startpage.com', 'www.eff.org', 'www.edri.org']) + ->will($this->returnValue(['www.nextcloud.com', 'www.startpage.com', 'www.eff.org', 'www.edri.org'])); $client = $this->getMockBuilder('\OCP\Http\Client\IClient') ->disableOriginalConstructor()->getMock(); @@ -339,13 +349,17 @@ class CheckSetupControllerTest extends TestCase { ->willReturn(''); $this->config->expects($this->at(2)) ->method('getSystemValue') + ->with('connectivity_check_domains', ['www.nextcloud.com', 'www.startpage.com', 'www.eff.org', 'www.edri.org']) + ->will($this->returnValue(['www.nextcloud.com', 'www.startpage.com', 'www.eff.org', 'www.edri.org'])); + $this->config->expects($this->at(3)) + ->method('getSystemValue') ->with('memcache.local', null) ->will($this->returnValue('SomeProvider')); - $this->config->expects($this->at(3)) + $this->config->expects($this->at(4)) ->method('getSystemValue') ->with('has_internet_connection', true) ->will($this->returnValue(true)); - $this->config->expects($this->at(4)) + $this->config->expects($this->at(5)) ->method('getSystemValue') ->with('appstoreenabled', true) ->will($this->returnValue(false)); |