From b63dbae68aa1b5430f186aee5fcce55db711abc4 Mon Sep 17 00:00:00 2001 From: Christopher Ng Date: Thu, 10 Aug 2023 19:01:07 -0700 Subject: fix(updatenotification): Skip update check Signed-off-by: Christopher Ng --- apps/updatenotification/lib/Notification/BackgroundJob.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/apps/updatenotification/lib/Notification/BackgroundJob.php b/apps/updatenotification/lib/Notification/BackgroundJob.php index 4889c931238..08142d5b00b 100644 --- a/apps/updatenotification/lib/Notification/BackgroundJob.php +++ b/apps/updatenotification/lib/Notification/BackgroundJob.php @@ -57,6 +57,11 @@ class BackgroundJob extends TimedJob { } protected function run($argument) { + // Do not check for updates if not connected to the internet + if (!$this->config->getSystemValueBool('has_internet_connection', true)) { + return; + } + if (\OC::$CLI && !$this->config->getSystemValueBool('debug', false)) { try { // Jitter the pinging of the updater server and the appstore a bit. -- cgit v1.2.3 From de4bc44f956cf51bcd01fa3ac01fc8824dc05eda Mon Sep 17 00:00:00 2001 From: Christopher Ng Date: Thu, 10 Aug 2023 19:07:53 -0700 Subject: test(updatenotification): No internet Signed-off-by: Christopher Ng --- .../tests/Notification/BackgroundJobTest.php | 29 ++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/apps/updatenotification/tests/Notification/BackgroundJobTest.php b/apps/updatenotification/tests/Notification/BackgroundJobTest.php index df8b104e9ca..d669a5832b4 100644 --- a/apps/updatenotification/tests/Notification/BackgroundJobTest.php +++ b/apps/updatenotification/tests/Notification/BackgroundJobTest.php @@ -112,9 +112,34 @@ class BackgroundJobTest extends TestCase { $job->expects($this->once()) ->method('checkAppUpdates'); + $this->config->expects($this->exactly(2)) + ->method('getSystemValueBool') + ->withConsecutive( + ['has_internet_connection', true], + ['debug', false], + ) + ->willReturnOnConsecutiveCalls( + true, + true, + ); + + self::invokePrivate($job, 'run', [null]); + } + + public function testRunNoInternet() { + $job = $this->getJob([ + 'checkCoreUpdate', + 'checkAppUpdates', + ]); + + $job->expects($this->never()) + ->method('checkCoreUpdate'); + $job->expects($this->never()) + ->method('checkAppUpdates'); + $this->config->method('getSystemValueBool') - ->with('debug', false) - ->willReturn(true); + ->with('has_internet_connection', true) + ->willReturn(false); self::invokePrivate($job, 'run', [null]); } -- cgit v1.2.3