diff options
author | Roeland Jago Douma <rullzer@users.noreply.github.com> | 2017-11-17 21:07:10 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-11-17 21:07:10 +0100 |
commit | 07af58df5f7fac2fa3ab6f5bf8a3b0cad8f1d7ba (patch) | |
tree | 5086b08309e9b9b9ea19f98a9b4643cf501d6a30 | |
parent | 059be95d6c8e694ed6bece861deb9e2d015cda7d (diff) | |
parent | 6bbda28881223a39e548b9fde0e4d62f5fcbec82 (diff) | |
download | nextcloud-server-07af58df5f7fac2fa3ab6f5bf8a3b0cad8f1d7ba.tar.gz nextcloud-server-07af58df5f7fac2fa3ab6f5bf8a3b0cad8f1d7ba.zip |
Merge pull request #7121 from nextcloud/fix_7119
If there is no internet connection don't try to contact appstore
-rw-r--r-- | lib/private/App/AppStore/Fetcher/Fetcher.php | 3 | ||||
-rw-r--r-- | tests/lib/App/AppStore/Fetcher/AppFetcherTest.php | 26 | ||||
-rw-r--r-- | tests/lib/App/AppStore/Fetcher/CategoryFetcherTest.php | 24 | ||||
-rw-r--r-- | tests/lib/App/AppStore/Fetcher/FetcherBase.php | 26 |
4 files changed, 69 insertions, 10 deletions
diff --git a/lib/private/App/AppStore/Fetcher/Fetcher.php b/lib/private/App/AppStore/Fetcher/Fetcher.php index 3ac207ebf75..5ce64671ffa 100644 --- a/lib/private/App/AppStore/Fetcher/Fetcher.php +++ b/lib/private/App/AppStore/Fetcher/Fetcher.php @@ -128,8 +128,9 @@ abstract class Fetcher { */ public function get() { $appstoreenabled = $this->config->getSystemValue('appstoreenabled', true); + $internetavailable = $this->config->getSystemValue('has_internet_connection', true); - if (!$appstoreenabled) { + if (!$appstoreenabled || !$internetavailable) { return []; } diff --git a/tests/lib/App/AppStore/Fetcher/AppFetcherTest.php b/tests/lib/App/AppStore/Fetcher/AppFetcherTest.php index 2efecef4dc7..4549b05935c 100644 --- a/tests/lib/App/AppStore/Fetcher/AppFetcherTest.php +++ b/tests/lib/App/AppStore/Fetcher/AppFetcherTest.php @@ -1945,10 +1945,30 @@ EJL3BaQAQaASSsvFrcozYxrQG4VzEg== public function testAppstoreDisabled() { $this->config - ->expects($this->once()) ->method('getSystemValue') - ->with('appstoreenabled', true) - ->willReturn(false); + ->will($this->returnCallback(function($var, $default) { + if ($var === 'appstoreenabled') { + return false; + } + return $default; + })); + $this->appData + ->expects($this->never()) + ->method('getFolder'); + + $this->assertEquals([], $this->fetcher->get()); + } + + + public function testNoInternet() { + $this->config + ->method('getSystemValue') + ->will($this->returnCallback(function($var, $default) { + if ($var === 'has_internet_connection') { + return false; + } + return $default; + })); $this->appData ->expects($this->never()) ->method('getFolder'); diff --git a/tests/lib/App/AppStore/Fetcher/CategoryFetcherTest.php b/tests/lib/App/AppStore/Fetcher/CategoryFetcherTest.php index a1ce718520f..f4b8c320c51 100644 --- a/tests/lib/App/AppStore/Fetcher/CategoryFetcherTest.php +++ b/tests/lib/App/AppStore/Fetcher/CategoryFetcherTest.php @@ -40,15 +40,33 @@ class CategoryFetcherTest extends FetcherBase { public function testAppstoreDisabled() { $this->config - ->expects($this->once()) ->method('getSystemValue') - ->with('appstoreenabled', true) - ->willReturn(false); + ->will($this->returnCallback(function($var, $default) { + if ($var === 'appstoreenabled') { + return false; + } + return $default; + })); $this->appData ->expects($this->never()) ->method('getFolder'); $this->assertEquals([], $this->fetcher->get()); + } + + public function testNoInternet() { + $this->config + ->method('getSystemValue') + ->will($this->returnCallback(function($var, $default) { + if ($var === 'has_internet_connection') { + return false; + } + return $default; + })); + $this->appData + ->expects($this->never()) + ->method('getFolder'); + $this->assertEquals([], $this->fetcher->get()); } } diff --git a/tests/lib/App/AppStore/Fetcher/FetcherBase.php b/tests/lib/App/AppStore/Fetcher/FetcherBase.php index 2cfb34a0965..90b7523d850 100644 --- a/tests/lib/App/AppStore/Fetcher/FetcherBase.php +++ b/tests/lib/App/AppStore/Fetcher/FetcherBase.php @@ -78,6 +78,11 @@ abstract class FetcherBase extends TestCase { $this->config ->expects($this->at(1)) ->method('getSystemValue') + ->with('has_internet_connection', true) + ->willReturn(true); + $this->config + ->expects($this->at(2)) + ->method('getSystemValue') ->with( $this->equalTo('version'), $this->anything() @@ -121,11 +126,16 @@ abstract class FetcherBase extends TestCase { $this->config ->expects($this->at(1)) ->method('getSystemValue') - ->with('appstoreenabled', true) + ->with('has_internet_connection', true) ->willReturn(true); $this->config ->expects($this->at(2)) ->method('getSystemValue') + ->with('appstoreenabled', true) + ->willReturn(true); + $this->config + ->expects($this->at(3)) + ->method('getSystemValue') ->with( $this->equalTo('version'), $this->anything() @@ -277,11 +287,16 @@ abstract class FetcherBase extends TestCase { $this->config ->expects($this->at(1)) ->method('getSystemValue') - ->with('appstoreenabled', true) + ->with('has_internet_connection', true) ->willReturn(true); $this->config ->expects($this->at(2)) ->method('getSystemValue') + ->with('appstoreenabled', true) + ->willReturn(true); + $this->config + ->expects($this->at(3)) + ->method('getSystemValue') ->with( $this->equalTo('version'), $this->anything() @@ -356,11 +371,16 @@ abstract class FetcherBase extends TestCase { $this->config ->expects($this->at(1)) ->method('getSystemValue') - ->with('appstoreenabled', true) + ->with('has_internet_connection', true) ->willReturn(true); $this->config ->expects($this->at(2)) ->method('getSystemValue') + ->with('appstoreenabled', true) + ->willReturn(true); + $this->config + ->expects($this->at(3)) + ->method('getSystemValue') ->with( $this->equalTo('version'), $this->anything() |