зеркало из https://github.com/nextcloud/server.git
fix(updatenotification): spread the use of new appconfig
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
This commit is contained in:
Родитель
5723c13dc0
Коммит
519e434573
|
@ -30,6 +30,7 @@ use OC\Profile\TProfileHelper;
|
|||
use OCP\AppFramework\Http\TemplateResponse;
|
||||
use OCP\AppFramework\Services\IInitialState;
|
||||
use OCP\AppFramework\Utility\ITimeFactory;
|
||||
use OCP\IAppConfig;
|
||||
use OCP\IConfig;
|
||||
use OCP\IDBConnection;
|
||||
use OCP\IL10N;
|
||||
|
@ -39,28 +40,16 @@ use OCP\Settings\IDelegatedSettings;
|
|||
class Server implements IDelegatedSettings {
|
||||
use TProfileHelper;
|
||||
|
||||
private IDBConnection $connection;
|
||||
private IInitialState $initialStateService;
|
||||
private ProfileManager $profileManager;
|
||||
private ITimeFactory $timeFactory;
|
||||
private IConfig $config;
|
||||
private IL10N $l;
|
||||
private IURLGenerator $urlGenerator;
|
||||
|
||||
public function __construct(IDBConnection $connection,
|
||||
IInitialState $initialStateService,
|
||||
ProfileManager $profileManager,
|
||||
ITimeFactory $timeFactory,
|
||||
IURLGenerator $urlGenerator,
|
||||
IConfig $config,
|
||||
IL10N $l) {
|
||||
$this->connection = $connection;
|
||||
$this->initialStateService = $initialStateService;
|
||||
$this->profileManager = $profileManager;
|
||||
$this->timeFactory = $timeFactory;
|
||||
$this->config = $config;
|
||||
$this->l = $l;
|
||||
$this->urlGenerator = $urlGenerator;
|
||||
public function __construct(
|
||||
private IDBConnection $connection,
|
||||
private IInitialState $initialStateService,
|
||||
private ProfileManager $profileManager,
|
||||
private ITimeFactory $timeFactory,
|
||||
private IURLGenerator $urlGenerator,
|
||||
private IConfig $config,
|
||||
private IAppConfig $appConfig,
|
||||
private IL10N $l,
|
||||
) {
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -69,7 +58,7 @@ class Server implements IDelegatedSettings {
|
|||
public function getForm() {
|
||||
// Background jobs
|
||||
$this->initialStateService->provideInitialState('backgroundJobsMode', $this->config->getAppValue('core', 'backgroundjobs_mode', 'ajax'));
|
||||
$this->initialStateService->provideInitialState('lastCron', (int)$this->config->getAppValue('core', 'lastcron', '0'));
|
||||
$this->initialStateService->provideInitialState('lastCron', $this->appConfig->getValueInt('core', 'lastcron', 0));
|
||||
$this->initialStateService->provideInitialState('cronMaxAge', $this->cronMaxAge());
|
||||
$this->initialStateService->provideInitialState('cronErrors', $this->config->getAppValue('core', 'cronErrors'));
|
||||
$this->initialStateService->provideInitialState('cliBasedCronPossible', function_exists('posix_getpwuid'));
|
||||
|
|
|
@ -26,6 +26,7 @@ declare(strict_types=1);
|
|||
|
||||
namespace OCA\Settings\SetupChecks;
|
||||
|
||||
use OCP\IAppConfig;
|
||||
use OCP\IConfig;
|
||||
use OCP\IDateTimeFormatter;
|
||||
use OCP\IL10N;
|
||||
|
@ -37,6 +38,7 @@ class CronInfo implements ISetupCheck {
|
|||
public function __construct(
|
||||
private IL10N $l10n,
|
||||
private IConfig $config,
|
||||
private IAppConfig $appConfig,
|
||||
private IURLGenerator $urlGenerator,
|
||||
private IDateTimeFormatter $dateTimeFormatter,
|
||||
) {
|
||||
|
@ -51,7 +53,7 @@ class CronInfo implements ISetupCheck {
|
|||
}
|
||||
|
||||
public function run(): SetupResult {
|
||||
$lastCronRun = (int)$this->config->getAppValue('core', 'lastcron', '0');
|
||||
$lastCronRun = $this->appConfig->getValueInt('core', 'lastcron', 0);
|
||||
$relativeTime = $this->dateTimeFormatter->formatTimeSpan($lastCronRun);
|
||||
|
||||
if ((time() - $lastCronRun) > 3600) {
|
||||
|
|
|
@ -36,6 +36,7 @@ use OCA\Settings\Settings\Admin\Server;
|
|||
use OCP\AppFramework\Http\TemplateResponse;
|
||||
use OCP\AppFramework\Services\IInitialState;
|
||||
use OCP\AppFramework\Utility\ITimeFactory;
|
||||
use OCP\IAppConfig;
|
||||
use OCP\IConfig;
|
||||
use OCP\IDBConnection;
|
||||
use OCP\IL10N;
|
||||
|
@ -59,6 +60,8 @@ class ServerTest extends TestCase {
|
|||
private $timeFactory;
|
||||
/** @var IConfig|MockObject */
|
||||
private $config;
|
||||
/** @var IAppConfig|MockObject */
|
||||
private $appConfig;
|
||||
/** @var IL10N|MockObject */
|
||||
private $l10n;
|
||||
/** @var IUrlGenerator|MockObject */
|
||||
|
@ -71,6 +74,7 @@ class ServerTest extends TestCase {
|
|||
$this->profileManager = $this->createMock(ProfileManager::class);
|
||||
$this->timeFactory = $this->createMock(ITimeFactory::class);
|
||||
$this->config = $this->createMock(IConfig::class);
|
||||
$this->appConfig = $this->createMock(IAppConfig::class);
|
||||
$this->l10n = $this->createMock(IL10N::class);
|
||||
$this->urlGenerator = $this->createMock(IUrlGenerator::class);
|
||||
|
||||
|
@ -83,6 +87,7 @@ class ServerTest extends TestCase {
|
|||
$this->timeFactory,
|
||||
$this->urlGenerator,
|
||||
$this->config,
|
||||
$this->appConfig,
|
||||
$this->l10n,
|
||||
])
|
||||
->getMock();
|
||||
|
|
|
@ -33,6 +33,7 @@ use OC\User\Backend;
|
|||
use OCA\UpdateNotification\UpdateChecker;
|
||||
use OCP\AppFramework\Http\TemplateResponse;
|
||||
use OCP\AppFramework\Services\IInitialState;
|
||||
use OCP\IAppConfig;
|
||||
use OCP\IConfig;
|
||||
use OCP\IDateTimeFormatter;
|
||||
use OCP\IGroupManager;
|
||||
|
@ -45,40 +46,22 @@ use OCP\Util;
|
|||
use Psr\Log\LoggerInterface;
|
||||
|
||||
class Admin implements ISettings {
|
||||
private IConfig $config;
|
||||
private UpdateChecker $updateChecker;
|
||||
private IGroupManager $groupManager;
|
||||
private IDateTimeFormatter $dateTimeFormatter;
|
||||
private IFactory $l10nFactory;
|
||||
private IRegistry $subscriptionRegistry;
|
||||
private IUserManager $userManager;
|
||||
private LoggerInterface $logger;
|
||||
private IInitialState $initialState;
|
||||
|
||||
public function __construct(
|
||||
IConfig $config,
|
||||
UpdateChecker $updateChecker,
|
||||
IGroupManager $groupManager,
|
||||
IDateTimeFormatter $dateTimeFormatter,
|
||||
IFactory $l10nFactory,
|
||||
IRegistry $subscriptionRegistry,
|
||||
IUserManager $userManager,
|
||||
LoggerInterface $logger,
|
||||
IInitialState $initialState
|
||||
private IConfig $config,
|
||||
private IAppConfig $appConfig,
|
||||
private UpdateChecker $updateChecker,
|
||||
private IGroupManager $groupManager,
|
||||
private IDateTimeFormatter $dateTimeFormatter,
|
||||
private IFactory $l10nFactory,
|
||||
private IRegistry $subscriptionRegistry,
|
||||
private IUserManager $userManager,
|
||||
private LoggerInterface $logger,
|
||||
private IInitialState $initialState
|
||||
) {
|
||||
$this->config = $config;
|
||||
$this->updateChecker = $updateChecker;
|
||||
$this->groupManager = $groupManager;
|
||||
$this->dateTimeFormatter = $dateTimeFormatter;
|
||||
$this->l10nFactory = $l10nFactory;
|
||||
$this->subscriptionRegistry = $subscriptionRegistry;
|
||||
$this->userManager = $userManager;
|
||||
$this->logger = $logger;
|
||||
$this->initialState = $initialState;
|
||||
}
|
||||
|
||||
public function getForm(): TemplateResponse {
|
||||
$lastUpdateCheckTimestamp = (int)$this->config->getAppValue('core', 'lastupdatedat');
|
||||
$lastUpdateCheckTimestamp = $this->appConfig->getValueInt('core', 'lastupdatedat');
|
||||
$lastUpdateCheck = $this->dateTimeFormatter->formatDateTime($lastUpdateCheckTimestamp);
|
||||
|
||||
$channels = [
|
||||
|
|
|
@ -34,6 +34,7 @@ use OCA\UpdateNotification\Settings\Admin;
|
|||
use OCA\UpdateNotification\UpdateChecker;
|
||||
use OCP\AppFramework\Http\TemplateResponse;
|
||||
use OCP\AppFramework\Services\IInitialState;
|
||||
use OCP\IAppConfig;
|
||||
use OCP\IConfig;
|
||||
use OCP\IDateTimeFormatter;
|
||||
use OCP\IGroup;
|
||||
|
@ -55,6 +56,8 @@ class AdminTest extends TestCase {
|
|||
private $admin;
|
||||
/** @var IConfig|\PHPUnit\Framework\MockObject\MockObject */
|
||||
private $config;
|
||||
/** @var IAppConfig|\PHPUnit\Framework\MockObject\MockObject */
|
||||
private $appConfig;
|
||||
/** @var UpdateChecker|\PHPUnit\Framework\MockObject\MockObject */
|
||||
private $updateChecker;
|
||||
/** @var IGroupManager|\PHPUnit\Framework\MockObject\MockObject */
|
||||
|
@ -74,6 +77,7 @@ class AdminTest extends TestCase {
|
|||
parent::setUp();
|
||||
|
||||
$this->config = $this->createMock(IConfig::class);
|
||||
$this->appConfig = $this->createMock(IAppConfig::class);
|
||||
$this->updateChecker = $this->createMock(UpdateChecker::class);
|
||||
$this->groupManager = $this->createMock(IGroupManager::class);
|
||||
$this->dateTimeFormatter = $this->createMock(IDateTimeFormatter::class);
|
||||
|
@ -85,6 +89,7 @@ class AdminTest extends TestCase {
|
|||
|
||||
$this->admin = new Admin(
|
||||
$this->config,
|
||||
$this->appConfig,
|
||||
$this->updateChecker,
|
||||
$this->groupManager,
|
||||
$this->dateTimeFormatter,
|
||||
|
@ -143,14 +148,16 @@ class AdminTest extends TestCase {
|
|||
if ($currentChannel === 'git') {
|
||||
$channels[] = 'git';
|
||||
}
|
||||
|
||||
$this->appConfig
|
||||
->expects($this->once())
|
||||
->method('getValueInt')
|
||||
->with('core', 'lastupdatedat', 0)
|
||||
->willReturn(12345);
|
||||
$this->config
|
||||
->expects($this->exactly(2))
|
||||
->expects($this->once())
|
||||
->method('getAppValue')
|
||||
->willReturnMap([
|
||||
['core', 'lastupdatedat', '', '12345'],
|
||||
['updatenotification', 'notify_groups', '["admin"]', '["admin"]'],
|
||||
]);
|
||||
->with('updatenotification', 'notify_groups', '["admin"]')
|
||||
->willReturn('["admin"]');
|
||||
$this->config
|
||||
->method('getSystemValue')
|
||||
->willReturnMap([
|
||||
|
@ -160,7 +167,7 @@ class AdminTest extends TestCase {
|
|||
$this->dateTimeFormatter
|
||||
->expects($this->once())
|
||||
->method('formatDateTime')
|
||||
->with('12345')
|
||||
->with(12345)
|
||||
->willReturn('LastCheckedReturnValue');
|
||||
$this->updateChecker
|
||||
->expects($this->once())
|
||||
|
@ -268,13 +275,16 @@ class AdminTest extends TestCase {
|
|||
$channels[] = 'git';
|
||||
}
|
||||
|
||||
$this->appConfig
|
||||
->expects($this->once())
|
||||
->method('getValueInt')
|
||||
->with('core', 'lastupdatedat', 0)
|
||||
->willReturn(12345);
|
||||
$this->config
|
||||
->expects($this->exactly(2))
|
||||
->expects($this->once())
|
||||
->method('getAppValue')
|
||||
->willReturnMap([
|
||||
['core', 'lastupdatedat', '', '12345'],
|
||||
['updatenotification', 'notify_groups', '["admin"]', '["admin"]'],
|
||||
]);
|
||||
->with('updatenotification', 'notify_groups', '["admin"]')
|
||||
->willReturn('["admin"]');
|
||||
$this->config
|
||||
->method('getSystemValue')
|
||||
->willReturnMap([
|
||||
|
@ -392,13 +402,16 @@ class AdminTest extends TestCase {
|
|||
$channels[] = 'git';
|
||||
}
|
||||
|
||||
$this->appConfig
|
||||
->expects($this->once())
|
||||
->method('getValueInt')
|
||||
->with('core', 'lastupdatedat', 0)
|
||||
->willReturn(12345);
|
||||
$this->config
|
||||
->expects($this->exactly(2))
|
||||
->expects($this->once())
|
||||
->method('getAppValue')
|
||||
->willReturnMap([
|
||||
['core', 'lastupdatedat', '', '12345'],
|
||||
['updatenotification', 'notify_groups', '["admin"]', '["admin"]'],
|
||||
]);
|
||||
->with('updatenotification', 'notify_groups', '["admin"]')
|
||||
->willReturn('["admin"]');
|
||||
$this->config
|
||||
->method('getSystemValue')
|
||||
->willReturnMap([
|
||||
|
|
|
@ -40,10 +40,13 @@ use OC\Repair\Events\RepairStepEvent;
|
|||
use OC\Repair\Events\RepairWarningEvent;
|
||||
use OCP\EventDispatcher\Event;
|
||||
use OCP\EventDispatcher\IEventDispatcher;
|
||||
use OCP\IAppConfig;
|
||||
use OCP\IConfig;
|
||||
use OCP\IEventSource;
|
||||
use OCP\IEventSourceFactory;
|
||||
use OCP\IL10N;
|
||||
use OCP\L10N\IFactory;
|
||||
use OCP\Server;
|
||||
use Psr\Log\LoggerInterface;
|
||||
|
||||
if (!str_contains(@ini_get('disable_functions'), 'set_time_limit')) {
|
||||
|
@ -111,13 +114,13 @@ if (\OCP\Util::needUpgrade()) {
|
|||
// avoid side effects
|
||||
\OC_User::setIncognitoMode(true);
|
||||
|
||||
$logger = \OC::$server->get(\Psr\Log\LoggerInterface::class);
|
||||
$config = \OC::$server->getConfig();
|
||||
$config = Server::get(IConfig::class);
|
||||
$updater = new \OC\Updater(
|
||||
$config,
|
||||
Server::get(IAppConfig::class),
|
||||
\OC::$server->getIntegrityCodeChecker(),
|
||||
$logger,
|
||||
\OC::$server->query(\OC\Installer::class)
|
||||
Server::get(LoggerInterface::class),
|
||||
Server::get(\OC\Installer::class)
|
||||
);
|
||||
$incompatibleApps = [];
|
||||
$incompatibleOverwrites = $config->getSystemValue('app_install_overwrite', []);
|
||||
|
@ -189,7 +192,7 @@ if (\OCP\Util::needUpgrade()) {
|
|||
try {
|
||||
$updater->upgrade();
|
||||
} catch (\Exception $e) {
|
||||
\OCP\Server::get(LoggerInterface::class)->error(
|
||||
Server::get(LoggerInterface::class)->error(
|
||||
$e->getMessage(),
|
||||
[
|
||||
'exception' => $e,
|
||||
|
|
|
@ -62,6 +62,7 @@ use OC\TextProcessing\RemoveOldTasksBackgroundJob;
|
|||
use OCP\AppFramework\Utility\ITimeFactory;
|
||||
use OCP\BackgroundJob\IJobList;
|
||||
use OCP\Defaults;
|
||||
use OCP\IAppConfig;
|
||||
use OCP\IConfig;
|
||||
use OCP\IGroup;
|
||||
use OCP\IGroupManager;
|
||||
|
@ -382,7 +383,8 @@ class Setup {
|
|||
|
||||
$config = Server::get(IConfig::class);
|
||||
$config->setAppValue('core', 'installedat', (string)microtime(true));
|
||||
$config->setAppValue('core', 'lastupdatedat', (string)microtime(true));
|
||||
$appConfig = Server::get(IAppConfig::class);
|
||||
$appConfig->setValueInt('core', 'lastupdatedat', time());
|
||||
|
||||
$vendorData = $this->getVendorData();
|
||||
$config->setAppValue('core', 'vendor', $vendorData['vendor']);
|
||||
|
|
|
@ -59,6 +59,7 @@ use OCP\App\IAppManager;
|
|||
use OCP\EventDispatcher\Event;
|
||||
use OCP\EventDispatcher\IEventDispatcher;
|
||||
use OCP\HintException;
|
||||
use OCP\IAppConfig;
|
||||
use OCP\IConfig;
|
||||
use OCP\ILogger;
|
||||
use OCP\Util;
|
||||
|
@ -74,19 +75,7 @@ use Psr\Log\LoggerInterface;
|
|||
* - failure(string $message)
|
||||
*/
|
||||
class Updater extends BasicEmitter {
|
||||
/** @var LoggerInterface */
|
||||
private $log;
|
||||
|
||||
/** @var IConfig */
|
||||
private $config;
|
||||
|
||||
/** @var Checker */
|
||||
private $checker;
|
||||
|
||||
/** @var Installer */
|
||||
private $installer;
|
||||
|
||||
private $logLevelNames = [
|
||||
private array $logLevelNames = [
|
||||
0 => 'Debug',
|
||||
1 => 'Info',
|
||||
2 => 'Warning',
|
||||
|
@ -94,14 +83,13 @@ class Updater extends BasicEmitter {
|
|||
4 => 'Fatal',
|
||||
];
|
||||
|
||||
public function __construct(IConfig $config,
|
||||
Checker $checker,
|
||||
?LoggerInterface $log,
|
||||
Installer $installer) {
|
||||
$this->log = $log;
|
||||
$this->config = $config;
|
||||
$this->checker = $checker;
|
||||
$this->installer = $installer;
|
||||
public function __construct(
|
||||
private IConfig $config,
|
||||
private IAppConfig $appConfig,
|
||||
private Checker $checker,
|
||||
private ?LoggerInterface $log,
|
||||
private Installer $installer
|
||||
) {
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -303,7 +291,7 @@ class Updater extends BasicEmitter {
|
|||
$repair->run();
|
||||
|
||||
//Invalidate update feed
|
||||
$this->config->setAppValue('core', 'lastupdatedat', '0');
|
||||
$this->appConfig->setValueInt('core', 'lastupdatedat', 0);
|
||||
|
||||
// Check for code integrity if not disabled
|
||||
if (\OC::$server->getIntegrityCodeChecker()->isCodeCheckEnforced()) {
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
namespace OC\Updater;
|
||||
|
||||
use OCP\Http\Client\IClientService;
|
||||
use OCP\IAppConfig;
|
||||
use OCP\IConfig;
|
||||
use OCP\IUserManager;
|
||||
use OCP\Support\Subscription\IRegistry;
|
||||
|
@ -37,6 +38,7 @@ class VersionCheck {
|
|||
public function __construct(
|
||||
private IClientService $clientService,
|
||||
private IConfig $config,
|
||||
private IAppConfig $appConfig,
|
||||
private IUserManager $userManager,
|
||||
private IRegistry $registry,
|
||||
private LoggerInterface $logger,
|
||||
|
@ -56,13 +58,13 @@ class VersionCheck {
|
|||
}
|
||||
|
||||
// Look up the cache - it is invalidated all 30 minutes
|
||||
if (((int)$this->config->getAppValue('core', 'lastupdatedat') + 1800) > time()) {
|
||||
if (($this->appConfig->getValueInt('core', 'lastupdatedat') + 1800) > time()) {
|
||||
return json_decode($this->config->getAppValue('core', 'lastupdateResult'), true);
|
||||
}
|
||||
|
||||
$updaterUrl = $this->config->getSystemValueString('updater.server.url', 'https://updates.nextcloud.com/updater_server/');
|
||||
|
||||
$this->config->setAppValue('core', 'lastupdatedat', (string)time());
|
||||
$this->appConfig->setValueInt('core', 'lastupdatedat', time());
|
||||
|
||||
if ($this->config->getAppValue('core', 'installedat', '') === '') {
|
||||
$this->config->setAppValue('core', 'installedat', (string)microtime(true));
|
||||
|
@ -70,7 +72,7 @@ class VersionCheck {
|
|||
|
||||
$version = Util::getVersion();
|
||||
$version['installed'] = $this->config->getAppValue('core', 'installedat');
|
||||
$version['updated'] = $this->config->getAppValue('core', 'lastupdatedat');
|
||||
$version['updated'] = $this->appConfig->getValueInt('core', 'lastupdatedat');
|
||||
$version['updatechannel'] = \OC_Util::getChannel();
|
||||
$version['edition'] = '';
|
||||
$version['build'] = \OC_Util::getBuild();
|
||||
|
|
|
@ -24,6 +24,7 @@ namespace Test\Updater;
|
|||
|
||||
use OC\Updater\VersionCheck;
|
||||
use OCP\Http\Client\IClientService;
|
||||
use OCP\IAppConfig;
|
||||
use OCP\IConfig;
|
||||
use OCP\IUserManager;
|
||||
use OCP\Support\Subscription\IRegistry;
|
||||
|
@ -33,6 +34,8 @@ use Psr\Log\LoggerInterface;
|
|||
class VersionCheckTest extends \Test\TestCase {
|
||||
/** @var IConfig| \PHPUnit\Framework\MockObject\MockObject */
|
||||
private $config;
|
||||
/** @var IAppConfig| \PHPUnit\Framework\MockObject\MockObject */
|
||||
private $appConfig;
|
||||
/** @var VersionCheck | \PHPUnit\Framework\MockObject\MockObject*/
|
||||
private $updater;
|
||||
/** @var IRegistry | \PHPUnit\Framework\Mo2ckObject\MockObject*/
|
||||
|
@ -45,6 +48,9 @@ class VersionCheckTest extends \Test\TestCase {
|
|||
$this->config = $this->getMockBuilder(IConfig::class)
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
$this->appConfig = $this->getMockBuilder(IAppConfig::class)
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
$clientService = $this->getMockBuilder(IClientService::class)
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
@ -59,6 +65,7 @@ class VersionCheckTest extends \Test\TestCase {
|
|||
->setConstructorArgs([
|
||||
$clientService,
|
||||
$this->config,
|
||||
$this->appConfig,
|
||||
$this->createMock(IUserManager::class),
|
||||
$this->registry,
|
||||
$this->logger,
|
||||
|
@ -71,7 +78,7 @@ class VersionCheckTest extends \Test\TestCase {
|
|||
* @return string
|
||||
*/
|
||||
private function buildUpdateUrl($baseUrl) {
|
||||
return $baseUrl . '?version='.implode('x', Util::getVersion()).'xinstalledatxlastupdatedatx'.\OC_Util::getChannel().'xxx'.PHP_MAJOR_VERSION.'x'.PHP_MINOR_VERSION.'x'.PHP_RELEASE_VERSION.'x0x0';
|
||||
return $baseUrl . '?version='.implode('x', Util::getVersion()).'xinstalledatx' . time() . 'x'.\OC_Util::getChannel().'xxx'.PHP_MAJOR_VERSION.'x'.PHP_MINOR_VERSION.'x'.PHP_RELEASE_VERSION.'x0x0';
|
||||
}
|
||||
|
||||
public function testCheckInCache() {
|
||||
|
@ -88,17 +95,16 @@ class VersionCheckTest extends \Test\TestCase {
|
|||
->method('getSystemValueBool')
|
||||
->with('has_internet_connection', true)
|
||||
->willReturn(true);
|
||||
$this->appConfig
|
||||
->expects($this->once())
|
||||
->method('getValueInt')
|
||||
->with('core', 'lastupdatedat')
|
||||
->willReturn(time());
|
||||
$this->config
|
||||
->expects($this->exactly(2))
|
||||
->expects($this->once())
|
||||
->method('getAppValue')
|
||||
->withConsecutive(
|
||||
['core', 'lastupdatedat'],
|
||||
['core', 'lastupdateResult']
|
||||
)
|
||||
->willReturnOnConsecutiveCalls(
|
||||
time(),
|
||||
json_encode($expectedResult)
|
||||
);
|
||||
->with('core', 'lastupdateResult')
|
||||
->willReturn(json_encode($expectedResult));
|
||||
|
||||
$this->assertSame($expectedResult, $this->updater->check());
|
||||
}
|
||||
|
@ -119,33 +125,32 @@ class VersionCheckTest extends \Test\TestCase {
|
|||
->method('getSystemValueBool')
|
||||
->with('has_internet_connection', true)
|
||||
->willReturn(true);
|
||||
$this->config
|
||||
->expects($this->exactly(4))
|
||||
->method('getAppValue')
|
||||
->withConsecutive(
|
||||
['core', 'lastupdatedat'],
|
||||
['core', 'installedat'],
|
||||
['core', 'installedat'],
|
||||
['core', 'lastupdatedat'],
|
||||
)
|
||||
$this->appConfig
|
||||
->expects($this->exactly(2))
|
||||
->method('getValueInt')
|
||||
->with('core', 'lastupdatedat')
|
||||
->willReturnOnConsecutiveCalls(
|
||||
'0',
|
||||
'installedat',
|
||||
'installedat',
|
||||
'lastupdatedat',
|
||||
0,
|
||||
time(),
|
||||
);
|
||||
$this->config
|
||||
->expects($this->exactly(2))
|
||||
->method('getAppValue')
|
||||
->with('core', 'installedat')
|
||||
->willReturn('installedat');
|
||||
$this->config
|
||||
->expects($this->once())
|
||||
->method('getSystemValueString')
|
||||
->with('updater.server.url', 'https://updates.nextcloud.com/updater_server/')
|
||||
->willReturnArgument(1);
|
||||
$this->appConfig
|
||||
->expects($this->once())
|
||||
->method('setValueInt')
|
||||
->with('core', 'lastupdatedat', time());
|
||||
$this->config
|
||||
->expects($this->exactly(2))
|
||||
->expects($this->once())
|
||||
->method('setAppValue')
|
||||
->withConsecutive(
|
||||
['core', 'lastupdatedat', $this->isType('string')],
|
||||
['core', 'lastupdateResult', json_encode($expectedResult)]
|
||||
);
|
||||
->with('core', 'lastupdateResult', json_encode($expectedResult));
|
||||
|
||||
$updateXml = '<?xml version="1.0"?>
|
||||
<owncloud>
|
||||
|
@ -171,33 +176,32 @@ class VersionCheckTest extends \Test\TestCase {
|
|||
->method('getSystemValueBool')
|
||||
->with('has_internet_connection', true)
|
||||
->willReturn(true);
|
||||
$this->config
|
||||
->expects($this->exactly(4))
|
||||
->method('getAppValue')
|
||||
->withConsecutive(
|
||||
['core', 'lastupdatedat'],
|
||||
['core', 'installedat'],
|
||||
['core', 'installedat'],
|
||||
['core', 'lastupdatedat'],
|
||||
)
|
||||
$this->appConfig
|
||||
->expects($this->exactly(2))
|
||||
->method('getValueInt')
|
||||
->with('core', 'lastupdatedat')
|
||||
->willReturnOnConsecutiveCalls(
|
||||
'0',
|
||||
'installedat',
|
||||
'installedat',
|
||||
'lastupdatedat',
|
||||
0,
|
||||
time(),
|
||||
);
|
||||
$this->config
|
||||
->expects($this->exactly(2))
|
||||
->method('getAppValue')
|
||||
->with('core', 'installedat')
|
||||
->willReturn('installedat');
|
||||
$this->config
|
||||
->expects($this->once())
|
||||
->method('getSystemValueString')
|
||||
->with('updater.server.url', 'https://updates.nextcloud.com/updater_server/')
|
||||
->willReturnArgument(1);
|
||||
$this->appConfig
|
||||
->expects($this->once())
|
||||
->method('setValueInt')
|
||||
->with('core', 'lastupdatedat', time());
|
||||
$this->config
|
||||
->expects($this->exactly(2))
|
||||
->expects($this->once())
|
||||
->method('setAppValue')
|
||||
->withConsecutive(
|
||||
['core', 'lastupdatedat', $this->isType('string')],
|
||||
['core', 'lastupdateResult', '[]']
|
||||
);
|
||||
->with('core', 'lastupdateResult', $this->isType('string'));
|
||||
|
||||
$updateXml = 'Invalid XML Response!';
|
||||
$this->updater
|
||||
|
@ -225,33 +229,32 @@ class VersionCheckTest extends \Test\TestCase {
|
|||
->method('getSystemValueBool')
|
||||
->with('has_internet_connection', true)
|
||||
->willReturn(true);
|
||||
$this->config
|
||||
->expects($this->exactly(4))
|
||||
->method('getAppValue')
|
||||
->withConsecutive(
|
||||
['core', 'lastupdatedat'],
|
||||
['core', 'installedat'],
|
||||
['core', 'installedat'],
|
||||
['core', 'lastupdatedat'],
|
||||
)
|
||||
$this->appConfig
|
||||
->expects($this->exactly(2))
|
||||
->method('getValueInt')
|
||||
->with('core', 'lastupdatedat')
|
||||
->willReturnOnConsecutiveCalls(
|
||||
'0',
|
||||
'installedat',
|
||||
'installedat',
|
||||
'lastupdatedat',
|
||||
0,
|
||||
time(),
|
||||
);
|
||||
$this->config
|
||||
->expects($this->exactly(2))
|
||||
->method('getAppValue')
|
||||
->with('core', 'installedat')
|
||||
->willReturn('installedat');
|
||||
$this->config
|
||||
->expects($this->once())
|
||||
->method('getSystemValueString')
|
||||
->with('updater.server.url', 'https://updates.nextcloud.com/updater_server/')
|
||||
->willReturnArgument(1);
|
||||
$this->appConfig
|
||||
->expects($this->once())
|
||||
->method('setValueInt')
|
||||
->with('core', 'lastupdatedat', time());
|
||||
$this->config
|
||||
->expects($this->exactly(2))
|
||||
->expects($this->once())
|
||||
->method('setAppValue')
|
||||
->withConsecutive(
|
||||
['core', 'lastupdatedat', $this->isType('string')],
|
||||
['core', 'lastupdateResult', $this->isType('string')]
|
||||
);
|
||||
->with('core', 'lastupdateResult', $this->isType('string'));
|
||||
|
||||
$updateXml = '<?xml version="1.0"?>
|
||||
<owncloud>
|
||||
|
@ -278,33 +281,32 @@ class VersionCheckTest extends \Test\TestCase {
|
|||
->method('getSystemValueBool')
|
||||
->with('has_internet_connection', true)
|
||||
->willReturn(true);
|
||||
$this->config
|
||||
->expects($this->exactly(4))
|
||||
->method('getAppValue')
|
||||
->withConsecutive(
|
||||
['core', 'lastupdatedat'],
|
||||
['core', 'installedat'],
|
||||
['core', 'installedat'],
|
||||
['core', 'lastupdatedat'],
|
||||
)
|
||||
$this->appConfig
|
||||
->expects($this->exactly(2))
|
||||
->method('getValueInt')
|
||||
->with('core', 'lastupdatedat')
|
||||
->willReturnOnConsecutiveCalls(
|
||||
'0',
|
||||
'installedat',
|
||||
'installedat',
|
||||
'lastupdatedat',
|
||||
0,
|
||||
time(),
|
||||
);
|
||||
$this->config
|
||||
->expects($this->exactly(2))
|
||||
->method('getAppValue')
|
||||
->with('core', 'installedat')
|
||||
->willReturn('installedat');
|
||||
$this->config
|
||||
->expects($this->once())
|
||||
->method('getSystemValueString')
|
||||
->with('updater.server.url', 'https://updates.nextcloud.com/updater_server/')
|
||||
->willReturnArgument(1);
|
||||
$this->appConfig
|
||||
->expects($this->once())
|
||||
->method('setValueInt')
|
||||
->with('core', 'lastupdatedat', time());
|
||||
$this->config
|
||||
->expects($this->exactly(2))
|
||||
->expects($this->once())
|
||||
->method('setAppValue')
|
||||
->withConsecutive(
|
||||
['core', 'lastupdatedat', $this->isType('string')],
|
||||
['core', 'lastupdateResult', json_encode($expectedResult)]
|
||||
);
|
||||
->with('core', 'lastupdateResult', $this->isType('string'));
|
||||
|
||||
$updateXml = '';
|
||||
$this->updater
|
||||
|
@ -332,33 +334,32 @@ class VersionCheckTest extends \Test\TestCase {
|
|||
->method('getSystemValueBool')
|
||||
->with('has_internet_connection', true)
|
||||
->willReturn(true);
|
||||
$this->config
|
||||
->expects($this->exactly(4))
|
||||
->method('getAppValue')
|
||||
->withConsecutive(
|
||||
['core', 'lastupdatedat'],
|
||||
['core', 'installedat'],
|
||||
['core', 'installedat'],
|
||||
['core', 'lastupdatedat'],
|
||||
)
|
||||
$this->appConfig
|
||||
->expects($this->exactly(2))
|
||||
->method('getValueInt')
|
||||
->with('core', 'lastupdatedat')
|
||||
->willReturnOnConsecutiveCalls(
|
||||
'0',
|
||||
'installedat',
|
||||
'installedat',
|
||||
'lastupdatedat',
|
||||
0,
|
||||
time(),
|
||||
);
|
||||
$this->config
|
||||
->expects($this->exactly(2))
|
||||
->method('getAppValue')
|
||||
->with('core', 'installedat')
|
||||
->willReturn('installedat');
|
||||
$this->config
|
||||
->expects($this->once())
|
||||
->method('getSystemValueString')
|
||||
->with('updater.server.url', 'https://updates.nextcloud.com/updater_server/')
|
||||
->willReturnArgument(1);
|
||||
$this->appConfig
|
||||
->expects($this->once())
|
||||
->method('setValueInt')
|
||||
->with('core', 'lastupdatedat', time());
|
||||
$this->config
|
||||
->expects($this->exactly(2))
|
||||
->expects($this->once())
|
||||
->method('setAppValue')
|
||||
->withConsecutive(
|
||||
['core', 'lastupdatedat', $this->isType('string')],
|
||||
['core', 'lastupdateResult', $this->isType('string')]
|
||||
);
|
||||
->with('core', 'lastupdateResult', $this->isType('string'));
|
||||
|
||||
// missing autoupdater element should still not fail
|
||||
$updateXml = '<?xml version="1.0"?>
|
||||
|
|
|
@ -25,6 +25,7 @@ namespace Test;
|
|||
use OC\Installer;
|
||||
use OC\IntegrityCheck\Checker;
|
||||
use OC\Updater;
|
||||
use OCP\IAppConfig;
|
||||
use OCP\IConfig;
|
||||
use PHPUnit\Framework\MockObject\MockObject;
|
||||
use Psr\Log\LoggerInterface;
|
||||
|
@ -32,6 +33,8 @@ use Psr\Log\LoggerInterface;
|
|||
class UpdaterTest extends TestCase {
|
||||
/** @var IConfig|MockObject */
|
||||
private $config;
|
||||
/** @var IAppConfig|MockObject */
|
||||
private $appConfig;
|
||||
/** @var LoggerInterface|MockObject */
|
||||
private $logger;
|
||||
/** @var Updater */
|
||||
|
@ -46,6 +49,9 @@ class UpdaterTest extends TestCase {
|
|||
$this->config = $this->getMockBuilder(IConfig::class)
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
$this->appConfig = $this->getMockBuilder(IAppConfig::class)
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
$this->logger = $this->getMockBuilder(LoggerInterface::class)
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
@ -58,6 +64,7 @@ class UpdaterTest extends TestCase {
|
|||
|
||||
$this->updater = new Updater(
|
||||
$this->config,
|
||||
$this->appConfig,
|
||||
$this->checker,
|
||||
$this->logger,
|
||||
$this->installer
|
||||
|
|
Загрузка…
Ссылка в новой задаче