Skip to content
Snippets Groups Projects
Unverified Commit da25ed99 authored by Roeland Jago Douma's avatar Roeland Jago Douma
Browse files

Do not check for updates if we have no internet

parent 2b262656
No related branches found
No related tags found
No related merge requests found
......@@ -33,7 +33,7 @@ class VersionCheck {
/** @var IClientService */
private $clientService;
/** @var IConfig */
private $config;
......@@ -54,6 +54,11 @@ class VersionCheck {
* @return array|bool
*/
public function check() {
// If this server is set to have no internet connection this is all not needed
if (!$this->config->getSystemValueBool('has_internet_connection', true)) {
return false;
}
// Look up the cache - it is invalidated all 30 minutes
if (((int)$this->config->getAppValue('core', 'lastupdatedat') + 1800) > time()) {
return json_decode($this->config->getAppValue('core', 'lastupdateResult'), true);
......
......@@ -67,11 +67,16 @@ class VersionCheckTest extends \Test\TestCase {
$this->config
->expects($this->at(0))
->method('getSystemValueBool')
->with('has_internet_connection', true)
->willReturn(true);
$this->config
->expects($this->at(1))
->method('getAppValue')
->with('core', 'lastupdatedat')
->will($this->returnValue(time()));
$this->config
->expects($this->at(1))
->expects($this->at(2))
->method('getAppValue')
->with('core', 'lastupdateResult')
->will($this->returnValue(json_encode($expectedResult)));
......@@ -92,30 +97,35 @@ class VersionCheckTest extends \Test\TestCase {
$this->config
->expects($this->at(0))
->method('getSystemValueBool')
->with('has_internet_connection', true)
->willReturn(true);
$this->config
->expects($this->at(1))
->method('getAppValue')
->with('core', 'lastupdatedat')
->will($this->returnValue(0));
$this->config
->expects($this->at(1))
->expects($this->at(2))
->method('getSystemValue')
->with('updater.server.url', 'https://updates.nextcloud.com/updater_server/')
->willReturnArgument(1);
$this->config
->expects($this->at(2))
->expects($this->at(3))
->method('setAppValue')
->with('core', 'lastupdatedat', $this->isType('integer'));
$this->config
->expects($this->at(4))
->expects($this->at(5))
->method('getAppValue')
->with('core', 'installedat')
->will($this->returnValue('installedat'));
$this->config
->expects($this->at(5))
->expects($this->at(6))
->method('getAppValue')
->with('core', 'lastupdatedat')
->will($this->returnValue('lastupdatedat'));
$this->config
->expects($this->at(6))
->expects($this->at(7))
->method('setAppValue')
->with('core', 'lastupdateResult', json_encode($expectedResult));
......@@ -140,30 +150,35 @@ class VersionCheckTest extends \Test\TestCase {
public function testCheckWithInvalidXml() {
$this->config
->expects($this->at(0))
->method('getSystemValueBool')
->with('has_internet_connection', true)
->willReturn(true);
$this->config
->expects($this->at(1))
->method('getAppValue')
->with('core', 'lastupdatedat')
->will($this->returnValue(0));
$this->config
->expects($this->at(1))
->expects($this->at(2))
->method('getSystemValue')
->with('updater.server.url', 'https://updates.nextcloud.com/updater_server/')
->willReturnArgument(1);
$this->config
->expects($this->at(2))
->expects($this->at(3))
->method('setAppValue')
->with('core', 'lastupdatedat', $this->isType('integer'));
$this->config
->expects($this->at(4))
->expects($this->at(5))
->method('getAppValue')
->with('core', 'installedat')
->will($this->returnValue('installedat'));
$this->config
->expects($this->at(5))
->expects($this->at(6))
->method('getAppValue')
->with('core', 'lastupdatedat')
->will($this->returnValue('lastupdatedat'));
$this->config
->expects($this->at(6))
->expects($this->at(7))
->method('setAppValue')
->with('core', 'lastupdateResult', '[]');
......@@ -190,25 +205,30 @@ class VersionCheckTest extends \Test\TestCase {
$this->config
->expects($this->at(0))
->method('getSystemValueBool')
->with('has_internet_connection', true)
->willReturn(true);
$this->config
->expects($this->at(1))
->method('getAppValue')
->with('core', 'lastupdatedat')
->will($this->returnValue(0));
$this->config
->expects($this->at(1))
->expects($this->at(2))
->method('getSystemValue')
->with('updater.server.url', 'https://updates.nextcloud.com/updater_server/')
->willReturnArgument(1);
$this->config
->expects($this->at(2))
->expects($this->at(3))
->method('setAppValue')
->with('core', 'lastupdatedat', $this->isType('integer'));
$this->config
->expects($this->at(4))
->expects($this->at(5))
->method('getAppValue')
->with('core', 'installedat')
->will($this->returnValue('installedat'));
$this->config
->expects($this->at(5))
->expects($this->at(6))
->method('getAppValue')
->with('core', 'lastupdatedat')
->will($this->returnValue('lastupdatedat'));
......@@ -235,30 +255,35 @@ class VersionCheckTest extends \Test\TestCase {
$this->config
->expects($this->at(0))
->method('getSystemValueBool')
->with('has_internet_connection', true)
->willReturn(true);
$this->config
->expects($this->at(1))
->method('getAppValue')
->with('core', 'lastupdatedat')
->will($this->returnValue(0));
$this->config
->expects($this->at(1))
->expects($this->at(2))
->method('getSystemValue')
->with('updater.server.url', 'https://updates.nextcloud.com/updater_server/')
->willReturnArgument(1);
$this->config
->expects($this->at(2))
->expects($this->at(3))
->method('setAppValue')
->with('core', 'lastupdatedat', $this->isType('integer'));
$this->config
->expects($this->at(4))
->expects($this->at(5))
->method('getAppValue')
->with('core', 'installedat')
->will($this->returnValue('installedat'));
$this->config
->expects($this->at(5))
->expects($this->at(6))
->method('getAppValue')
->with('core', 'lastupdatedat')
->will($this->returnValue('lastupdatedat'));
$this->config
->expects($this->at(6))
->expects($this->at(7))
->method('setAppValue')
->with('core', 'lastupdateResult', json_encode($expectedResult));
......@@ -285,25 +310,30 @@ class VersionCheckTest extends \Test\TestCase {
$this->config
->expects($this->at(0))
->method('getSystemValueBool')
->with('has_internet_connection', true)
->willReturn(true);
$this->config
->expects($this->at(1))
->method('getAppValue')
->with('core', 'lastupdatedat')
->will($this->returnValue(0));
$this->config
->expects($this->at(1))
->expects($this->at(2))
->method('getSystemValue')
->with('updater.server.url', 'https://updates.nextcloud.com/updater_server/')
->willReturnArgument(1);
$this->config
->expects($this->at(2))
->expects($this->at(3))
->method('setAppValue')
->with('core', 'lastupdatedat', $this->isType('integer'));
$this->config
->expects($this->at(4))
->expects($this->at(5))
->method('getAppValue')
->with('core', 'installedat')
->will($this->returnValue('installedat'));
$this->config
->expects($this->at(5))
->expects($this->at(6))
->method('getAppValue')
->with('core', 'lastupdatedat')
->will($this->returnValue('lastupdatedat'));
......@@ -324,4 +354,14 @@ class VersionCheckTest extends \Test\TestCase {
$this->assertSame($expectedResult, $this->updater->check());
}
public function testNoInternet() {
$this->config
->expects($this->at(0))
->method('getSystemValueBool')
->with('has_internet_connection', true)
->willReturn(false);
$this->assertFalse($this->updater->check());
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment