Print log message when version could not be got from updater server

This could help to diagnose why the updater server could not be reached,
as well as other subtler issues like requests taking too long if the
updater server was tried to be connected to as a "side effect" (for
example, when the "updatenotification" app boots).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
This commit is contained in:
Daniel Calviño Sánchez 2023-09-02 14:16:01 +02:00
parent db5dbd1d56
commit 9a179c391e
2 changed files with 9 additions and 0 deletions

View file

@ -31,6 +31,7 @@ use OCP\IConfig;
use OCP\IUserManager;
use OCP\Support\Subscription\IRegistry;
use OCP\Util;
use Psr\Log\LoggerInterface;
class VersionCheck {
public function __construct(
@ -38,6 +39,7 @@ class VersionCheck {
private IConfig $config,
private IUserManager $userManager,
private IRegistry $registry,
private LoggerInterface $logger,
) {
}
@ -86,6 +88,8 @@ class VersionCheck {
try {
$xml = $this->getUrlContent($url);
} catch (\Exception $e) {
$this->logger->info('Version could not be fetched from updater server: ' . $url, ['exception' => $e]);
return false;
}

View file

@ -28,6 +28,7 @@ use OCP\IConfig;
use OCP\IUserManager;
use OCP\Support\Subscription\IRegistry;
use OCP\Util;
use Psr\Log\LoggerInterface;
class VersionCheckTest extends \Test\TestCase {
/** @var IConfig| \PHPUnit\Framework\MockObject\MockObject */
@ -36,6 +37,8 @@ class VersionCheckTest extends \Test\TestCase {
private $updater;
/** @var IRegistry | \PHPUnit\Framework\Mo2ckObject\MockObject*/
private $registry;
/** @var LoggerInterface | \PHPUnit\Framework\Mo2ckObject\MockObject*/
private $logger;
protected function setUp(): void {
parent::setUp();
@ -50,6 +53,7 @@ class VersionCheckTest extends \Test\TestCase {
$this->registry
->method('delegateHasValidSubscription')
->willReturn(false);
$this->logger = $this->createMock(LoggerInterface::class);
$this->updater = $this->getMockBuilder(VersionCheck::class)
->setMethods(['getUrlContent'])
->setConstructorArgs([
@ -57,6 +61,7 @@ class VersionCheckTest extends \Test\TestCase {
$this->config,
$this->createMock(IUserManager::class),
$this->registry,
$this->logger,
])
->getMock();
}