Make Update notficiations strict and fix all inspections
Signed-off-by: Joas Schilling <coding@schilljs.com>
This commit is contained in:
parent
9296116297
commit
19f7cc9e92
14 changed files with 94 additions and 75 deletions
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
* @copyright Copyright (c) 2018, Joas Schilling <coding@schilljs.com>
|
||||
*
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
* @copyright Copyright (c) 2016, ownCloud, Inc.
|
||||
*
|
||||
|
@ -76,7 +77,7 @@ class AdminController extends Controller {
|
|||
* @param string $channel
|
||||
* @return DataResponse
|
||||
*/
|
||||
public function setChannel($channel) {
|
||||
public function setChannel(string $channel): DataResponse {
|
||||
Util::setChannel($channel);
|
||||
$this->config->setAppValue('core', 'lastupdatedat', 0);
|
||||
return new DataResponse(['status' => 'success', 'data' => ['message' => $this->l10n->t('Channel updated')]]);
|
||||
|
@ -85,7 +86,7 @@ class AdminController extends Controller {
|
|||
/**
|
||||
* @return DataResponse
|
||||
*/
|
||||
public function createCredentials() {
|
||||
public function createCredentials(): DataResponse {
|
||||
// Create a new job and store the creation date
|
||||
$this->jobList->add(ResetTokenBackgroundJob::class);
|
||||
$this->config->setAppValue('core', 'updater.secret.created', $this->timeFactory->getTime());
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
* @copyright Copyright (c) 2016, ownCloud, Inc.
|
||||
*
|
||||
|
@ -90,7 +91,7 @@ class BackgroundJob extends TimedJob {
|
|||
* Check for ownCloud update
|
||||
*/
|
||||
protected function checkCoreUpdate() {
|
||||
if (in_array($this->getChannel(), ['daily', 'git'], true)) {
|
||||
if (\in_array($this->getChannel(), ['daily', 'git'], true)) {
|
||||
// "These aren't the update channels you're looking for." - Ben Obi-Wan Kenobi
|
||||
return;
|
||||
}
|
||||
|
@ -102,10 +103,10 @@ class BackgroundJob extends TimedJob {
|
|||
$errors = 1 + (int) $this->config->getAppValue('updatenotification', 'update_check_errors', 0);
|
||||
$this->config->setAppValue('updatenotification', 'update_check_errors', $errors);
|
||||
|
||||
if (in_array($errors, $this->connectionNotifications, true)) {
|
||||
if (\in_array($errors, $this->connectionNotifications, true)) {
|
||||
$this->sendErrorNotifications($errors);
|
||||
}
|
||||
} else if (is_array($status)) {
|
||||
} else if (\is_array($status)) {
|
||||
$this->config->setAppValue('updatenotification', 'update_check_errors', 0);
|
||||
$this->clearErrorNotifications();
|
||||
|
||||
|
@ -178,26 +179,31 @@ class BackgroundJob extends TimedJob {
|
|||
if ($lastNotification === $version) {
|
||||
// We already notified about this update
|
||||
return;
|
||||
} else if ($lastNotification !== false) {
|
||||
}
|
||||
|
||||
if ($lastNotification !== false) {
|
||||
// Delete old updates
|
||||
$this->deleteOutdatedNotifications($app, $lastNotification);
|
||||
}
|
||||
|
||||
|
||||
$notification = $this->notificationManager->createNotification();
|
||||
$notification->setApp('updatenotification')
|
||||
->setDateTime(new \DateTime())
|
||||
->setObject($app, $version);
|
||||
try {
|
||||
$notification->setApp('updatenotification')
|
||||
->setDateTime(new \DateTime())
|
||||
->setObject($app, $version);
|
||||
|
||||
if ($visibleVersion !== '') {
|
||||
$notification->setSubject('update_available', ['version' => $visibleVersion]);
|
||||
} else {
|
||||
$notification->setSubject('update_available');
|
||||
}
|
||||
if ($visibleVersion !== '') {
|
||||
$notification->setSubject('update_available', ['version' => $visibleVersion]);
|
||||
} else {
|
||||
$notification->setSubject('update_available');
|
||||
}
|
||||
|
||||
foreach ($this->getUsersToNotify() as $uid) {
|
||||
$notification->setUser($uid);
|
||||
$this->notificationManager->notify($notification);
|
||||
foreach ($this->getUsersToNotify() as $uid) {
|
||||
$notification->setUser($uid);
|
||||
$this->notificationManager->notify($notification);
|
||||
}
|
||||
} catch (\InvalidArgumentException $e) {
|
||||
return;
|
||||
}
|
||||
|
||||
$this->config->setAppValue('updatenotification', $app, $version);
|
||||
|
@ -206,12 +212,12 @@ class BackgroundJob extends TimedJob {
|
|||
/**
|
||||
* @return string[]
|
||||
*/
|
||||
protected function getUsersToNotify() {
|
||||
protected function getUsersToNotify(): array {
|
||||
if ($this->users !== null) {
|
||||
return $this->users;
|
||||
}
|
||||
|
||||
$notifyGroups = json_decode($this->config->getAppValue('updatenotification', 'notify_groups', '["admin"]'), true);
|
||||
$notifyGroups = (array) json_decode($this->config->getAppValue('updatenotification', 'notify_groups', '["admin"]'), true);
|
||||
$this->users = [];
|
||||
foreach ($notifyGroups as $group) {
|
||||
$groupToNotify = $this->groupManager->get($group);
|
||||
|
@ -235,15 +241,19 @@ class BackgroundJob extends TimedJob {
|
|||
*/
|
||||
protected function deleteOutdatedNotifications($app, $version) {
|
||||
$notification = $this->notificationManager->createNotification();
|
||||
$notification->setApp('updatenotification')
|
||||
->setObject($app, $version);
|
||||
try {
|
||||
$notification->setApp('updatenotification')
|
||||
->setObject($app, $version);
|
||||
} catch (\InvalidArgumentException $e) {
|
||||
return;
|
||||
}
|
||||
$this->notificationManager->markProcessed($notification);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return VersionCheck
|
||||
*/
|
||||
protected function createVersionCheck() {
|
||||
protected function createVersionCheck(): VersionCheck {
|
||||
return new VersionCheck(
|
||||
$this->client,
|
||||
$this->config
|
||||
|
@ -253,7 +263,7 @@ class BackgroundJob extends TimedJob {
|
|||
/**
|
||||
* @return string
|
||||
*/
|
||||
protected function getChannel() {
|
||||
protected function getChannel(): string {
|
||||
return \OC_Util::getChannel();
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
* @copyright Copyright (c) 2016, ownCloud, Inc.
|
||||
*
|
||||
|
@ -33,6 +34,7 @@ use OCP\L10N\IFactory;
|
|||
use OCP\Notification\IManager;
|
||||
use OCP\Notification\INotification;
|
||||
use OCP\Notification\INotifier;
|
||||
use OCP\Util;
|
||||
|
||||
class Notifier implements INotifier {
|
||||
|
||||
|
@ -84,9 +86,9 @@ class Notifier implements INotifier {
|
|||
* @throws \InvalidArgumentException When the notification was not prepared by a notifier
|
||||
* @since 9.0.0
|
||||
*/
|
||||
public function prepare(INotification $notification, $languageCode) {
|
||||
public function prepare(INotification $notification, $languageCode): INotification {
|
||||
if ($notification->getApp() !== 'updatenotification') {
|
||||
throw new \InvalidArgumentException();
|
||||
throw new \InvalidArgumentException('Unknown app id');
|
||||
}
|
||||
|
||||
$l = $this->l10NFactory->get('updatenotification', $languageCode);
|
||||
|
@ -94,7 +96,7 @@ class Notifier implements INotifier {
|
|||
$errors = (int) $this->config->getAppValue('updatenotification', 'update_check_errors', 0);
|
||||
if ($errors === 0) {
|
||||
$this->notificationManager->markProcessed($notification);
|
||||
throw new \InvalidArgumentException();
|
||||
throw new \InvalidArgumentException('Update checked worked again');
|
||||
}
|
||||
|
||||
$notification->setParsedSubject($l->t('The update server could not be reached since %d days to check for new updates.', [$errors]))
|
||||
|
@ -145,14 +147,14 @@ class Notifier implements INotifier {
|
|||
protected function updateAlreadyInstalledCheck(INotification $notification, $installedVersion) {
|
||||
if (version_compare($notification->getObjectId(), $installedVersion, '<=')) {
|
||||
$this->notificationManager->markProcessed($notification);
|
||||
throw new \InvalidArgumentException();
|
||||
throw new \InvalidArgumentException('Update already installed');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return bool
|
||||
*/
|
||||
protected function isAdmin() {
|
||||
protected function isAdmin(): bool {
|
||||
$user = $this->userSession->getUser();
|
||||
|
||||
if ($user instanceof IUser) {
|
||||
|
@ -162,11 +164,11 @@ class Notifier implements INotifier {
|
|||
return false;
|
||||
}
|
||||
|
||||
protected function getCoreVersions() {
|
||||
return implode('.', \OCP\Util::getVersion());
|
||||
protected function getCoreVersions(): string {
|
||||
return implode('.', Util::getVersion());
|
||||
}
|
||||
|
||||
protected function getAppVersions() {
|
||||
protected function getAppVersions(): array {
|
||||
return \OC_App::getAppVersions();
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
* @copyright Copyright (c) 2016, ownCloud, Inc.
|
||||
*
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
* @copyright Copyright (c) 2016, ownCloud, Inc.
|
||||
*
|
||||
|
@ -56,7 +57,7 @@ class Admin implements ISettings {
|
|||
/**
|
||||
* @return TemplateResponse
|
||||
*/
|
||||
public function getForm() {
|
||||
public function getForm(): TemplateResponse {
|
||||
$lastUpdateCheckTimestamp = $this->config->getAppValue('core', 'lastupdatedat');
|
||||
$lastUpdateCheck = $this->dateTimeFormatter->formatDateTime($lastUpdateCheckTimestamp);
|
||||
|
||||
|
@ -99,7 +100,7 @@ class Admin implements ISettings {
|
|||
/**
|
||||
* @return string the section ID, e.g. 'sharing'
|
||||
*/
|
||||
public function getSection() {
|
||||
public function getSection(): string {
|
||||
return 'server';
|
||||
}
|
||||
|
||||
|
@ -110,7 +111,7 @@ class Admin implements ISettings {
|
|||
*
|
||||
* E.g.: 70
|
||||
*/
|
||||
public function getPriority() {
|
||||
public function getPriority(): int {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
* @copyright Copyright (c) 2016, ownCloud, Inc.
|
||||
*
|
||||
|
@ -40,18 +41,18 @@ class UpdateChecker {
|
|||
/**
|
||||
* @return array
|
||||
*/
|
||||
public function getUpdateState() {
|
||||
public function getUpdateState(): array {
|
||||
$data = $this->updater->check();
|
||||
$result = [];
|
||||
|
||||
if(isset($data['version']) && $data['version'] !== '' && $data['version'] !== []) {
|
||||
if (isset($data['version']) && $data['version'] !== '' && $data['version'] !== []) {
|
||||
$result['updateAvailable'] = true;
|
||||
$result['updateVersion'] = $data['versionstring'];
|
||||
$result['updaterEnabled'] = $data['autoupdater'] === '1';
|
||||
if(substr($data['web'], 0, 8) === 'https://') {
|
||||
if (strpos($data['web'], 'https://') === 0) {
|
||||
$result['updateLink'] = $data['web'];
|
||||
}
|
||||
if(substr($data['url'], 0, 8) === 'https://') {
|
||||
if (strpos($data['url'], 'https://') === 0) {
|
||||
$result['downloadLink'] = $data['url'];
|
||||
}
|
||||
|
||||
|
@ -68,7 +69,7 @@ class UpdateChecker {
|
|||
$data['array']['oc_updateState'] = json_encode([
|
||||
'updateAvailable' => true,
|
||||
'updateVersion' => $this->getUpdateState()['updateVersion'],
|
||||
'updateLink' => isset($this->getUpdateState()['updateLink']) ? $this->getUpdateState()['updateLink'] : '',
|
||||
'updateLink' => $this->getUpdateState()['updateLink'] ?? '',
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
declare(strict_types=1);
|
||||
script('updatenotification', 'admin');
|
||||
style('updatenotification', 'admin');
|
||||
|
||||
|
@ -40,7 +41,7 @@
|
|||
<?php if (!$isDefaultUpdateServerURL) { ?>
|
||||
<br />
|
||||
<em>
|
||||
<?php p($l->t("A non-default update server is in use to be checked for updates:")); ?>
|
||||
<?php p($l->t('A non-default update server is in use to be checked for updates:')); ?>
|
||||
<code><?php p($updateServerURL); ?></code>
|
||||
</em>
|
||||
<?php } ?>
|
||||
|
@ -65,10 +66,10 @@
|
|||
<p id="oca_updatenotification_groups">
|
||||
<?php p($l->t('Notify members of the following groups about available updates:')); ?>
|
||||
<input name="oca_updatenotification_groups_list" type="hidden" id="oca_updatenotification_groups_list" value="<?php p($_['notify_groups']) ?>" style="width: 400px"><br />
|
||||
<em class="<?php if (!in_array($currentChannel, ['daily', 'git'])) p('hidden'); ?>">
|
||||
<em class="<?php if (!\in_array($currentChannel, ['daily', 'git'], true)) { p('hidden'); } ?>">
|
||||
<?php p($l->t('Only notification for app updates are available.')); ?>
|
||||
<?php if ($currentChannel === 'daily') p($l->t('The selected update channel makes dedicated notifications for the server obsolete.')); ?>
|
||||
<?php if ($currentChannel === 'git') p($l->t('The selected update channel does not support updates of the server.')); ?>
|
||||
<?php if ($currentChannel === 'daily') { p($l->t('The selected update channel makes dedicated notifications for the server obsolete.')); } ?>
|
||||
<?php if ($currentChannel === 'git') { p($l->t('The selected update channel does not support updates of the server.')); } ?>
|
||||
</em>
|
||||
</p>
|
||||
</form>
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
* @copyright Copyright (c) 2016, ownCloud, Inc.
|
||||
*
|
||||
|
@ -26,17 +27,13 @@ namespace OCA\UpdateNotification\Tests\Controller;
|
|||
|
||||
use OCA\UpdateNotification\Controller\AdminController;
|
||||
use OCA\UpdateNotification\ResetTokenBackgroundJob;
|
||||
use OCA\UpdateNotification\UpdateChecker;
|
||||
use OCP\AppFramework\Http\DataResponse;
|
||||
use OCP\AppFramework\Http\TemplateResponse;
|
||||
use OCP\AppFramework\Utility\ITimeFactory;
|
||||
use OCP\BackgroundJob\IJobList;
|
||||
use OCP\IConfig;
|
||||
use OCP\IDateTimeFormatter;
|
||||
use OCP\IL10N;
|
||||
use OCP\IRequest;
|
||||
use OCP\Security\ISecureRandom;
|
||||
use OCP\Util;
|
||||
use Test\TestCase;
|
||||
|
||||
class AdminControllerTest extends TestCase {
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
* @copyright Copyright (c) 2016, ownCloud, Inc.
|
||||
*
|
||||
|
@ -105,7 +106,7 @@ class BackgroundJobTest extends TestCase {
|
|||
self::invokePrivate($job, 'run', [null]);
|
||||
}
|
||||
|
||||
public function dataCheckCoreUpdate() {
|
||||
public function dataCheckCoreUpdate(): array {
|
||||
return [
|
||||
['daily', null, null, null, null],
|
||||
['git', null, null, null, null],
|
||||
|
@ -142,7 +143,7 @@ class BackgroundJobTest extends TestCase {
|
|||
* @param null|string $readableVersion
|
||||
* @param null|int $errorDays
|
||||
*/
|
||||
public function testCheckCoreUpdate($channel, $versionCheck, $version, $readableVersion, $errorDays) {
|
||||
public function testCheckCoreUpdate(string $channel, $versionCheck, $version, $readableVersion, $errorDays) {
|
||||
$job = $this->getJob([
|
||||
'getChannel',
|
||||
'createVersionCheck',
|
||||
|
@ -197,13 +198,13 @@ class BackgroundJobTest extends TestCase {
|
|||
->method('clearErrorNotifications');
|
||||
$job->expects($this->once())
|
||||
->method('createNotifications')
|
||||
->willReturn('core', $version, $readableVersion);
|
||||
->with('core', $version, $readableVersion);
|
||||
}
|
||||
|
||||
self::invokePrivate($job, 'checkCoreUpdate');
|
||||
}
|
||||
|
||||
public function dataCheckAppUpdates() {
|
||||
public function dataCheckAppUpdates(): array {
|
||||
return [
|
||||
[
|
||||
['app1', 'app2'],
|
||||
|
@ -235,18 +236,18 @@ class BackgroundJobTest extends TestCase {
|
|||
->method('getInstalledApps')
|
||||
->willReturn($apps);
|
||||
|
||||
$job->expects($this->exactly(count($apps)))
|
||||
$job->expects($this->exactly(\count($apps)))
|
||||
->method('isUpdateAvailable')
|
||||
->willReturnMap($isUpdateAvailable);
|
||||
|
||||
$mockedMethod = $job->expects($this->exactly(count($notifications)))
|
||||
$mockedMethod = $job->expects($this->exactly(\count($notifications)))
|
||||
->method('createNotifications');
|
||||
call_user_func_array([$mockedMethod, 'withConsecutive'], $notifications);
|
||||
\call_user_func_array([$mockedMethod, 'withConsecutive'], $notifications);
|
||||
|
||||
self::invokePrivate($job, 'checkAppUpdates');
|
||||
}
|
||||
|
||||
public function dataCreateNotifications() {
|
||||
public function dataCreateNotifications(): array {
|
||||
return [
|
||||
['app1', '1.0.0', '1.0.0', false, false, null, null],
|
||||
['app2', '1.0.1', '1.0.0', '1.0.0', true, ['user1'], [['user1']]],
|
||||
|
@ -265,7 +266,7 @@ class BackgroundJobTest extends TestCase {
|
|||
* @param string[]|null $users
|
||||
* @param array|null $userNotifications
|
||||
*/
|
||||
public function testCreateNotifications($app, $version, $lastNotification, $callDelete, $createNotification, $users, $userNotifications) {
|
||||
public function testCreateNotifications(string $app, string $version, $lastNotification, $callDelete, $createNotification, $users, $userNotifications) {
|
||||
$job = $this->getJob([
|
||||
'deleteOutdatedNotifications',
|
||||
'getUsersToNotify',
|
||||
|
@ -319,12 +320,12 @@ class BackgroundJobTest extends TestCase {
|
|||
->willReturnSelf();
|
||||
|
||||
if ($userNotifications !== null) {
|
||||
$mockedMethod = $notification->expects($this->exactly(count($userNotifications)))
|
||||
$mockedMethod = $notification->expects($this->exactly(\count($userNotifications)))
|
||||
->method('setUser')
|
||||
->willReturnSelf();
|
||||
call_user_func_array([$mockedMethod, 'withConsecutive'], $userNotifications);
|
||||
\call_user_func_array([$mockedMethod, 'withConsecutive'], $userNotifications);
|
||||
|
||||
$this->notificationManager->expects($this->exactly(count($userNotifications)))
|
||||
$this->notificationManager->expects($this->exactly(\count($userNotifications)))
|
||||
->method('notify')
|
||||
->willReturn($notification);
|
||||
}
|
||||
|
@ -340,7 +341,7 @@ class BackgroundJobTest extends TestCase {
|
|||
self::invokePrivate($job, 'createNotifications', [$app, $version]);
|
||||
}
|
||||
|
||||
public function dataGetUsersToNotify() {
|
||||
public function dataGetUsersToNotify(): array {
|
||||
return [
|
||||
[['g1', 'g2'], ['g1' => null, 'g2' => ['u1', 'u2']], ['u1', 'u2']],
|
||||
[['g3', 'g4'], ['g3' => ['u1', 'u2'], 'g4' => ['u2', 'u3']], ['u1', 'u2', 'u3']],
|
||||
|
@ -353,7 +354,7 @@ class BackgroundJobTest extends TestCase {
|
|||
* @param array $groupUsers
|
||||
* @param string[] $expected
|
||||
*/
|
||||
public function testGetUsersToNotify($groups, array $groupUsers, array $expected) {
|
||||
public function testGetUsersToNotify(array $groups, array $groupUsers, array $expected) {
|
||||
$job = $this->getJob();
|
||||
|
||||
$this->config->expects($this->once())
|
||||
|
@ -373,7 +374,7 @@ class BackgroundJobTest extends TestCase {
|
|||
}
|
||||
$groupMap[] = [$gid, $group];
|
||||
}
|
||||
$this->groupManager->expects($this->exactly(count($groups)))
|
||||
$this->groupManager->expects($this->exactly(\count($groups)))
|
||||
->method('get')
|
||||
->willReturnMap($groupMap);
|
||||
|
||||
|
@ -385,7 +386,7 @@ class BackgroundJobTest extends TestCase {
|
|||
$this->assertEquals($expected, $result);
|
||||
}
|
||||
|
||||
public function dataDeleteOutdatedNotifications() {
|
||||
public function dataDeleteOutdatedNotifications(): array {
|
||||
return [
|
||||
['app1', '1.1.0'],
|
||||
['app2', '1.2.0'],
|
||||
|
@ -397,7 +398,7 @@ class BackgroundJobTest extends TestCase {
|
|||
* @param string $app
|
||||
* @param string $version
|
||||
*/
|
||||
public function testDeleteOutdatedNotifications($app, $version) {
|
||||
public function testDeleteOutdatedNotifications(string $app, string $version) {
|
||||
$notification = $this->createMock(INotification::class);
|
||||
$notification->expects($this->once())
|
||||
->method('setApp')
|
||||
|
@ -423,7 +424,7 @@ class BackgroundJobTest extends TestCase {
|
|||
* @param string[] $userIds
|
||||
* @return IUser[]|\PHPUnit_Framework_MockObject_MockObject[]
|
||||
*/
|
||||
protected function getUsers(array $userIds) {
|
||||
protected function getUsers(array $userIds): array {
|
||||
$users = [];
|
||||
foreach ($userIds as $uid) {
|
||||
$user = $this->createMock(IUser::class);
|
||||
|
@ -436,10 +437,10 @@ class BackgroundJobTest extends TestCase {
|
|||
}
|
||||
|
||||
/**
|
||||
* @param $gid
|
||||
* @param string $gid
|
||||
* @return \OCP\IGroup|\PHPUnit_Framework_MockObject_MockObject
|
||||
*/
|
||||
protected function getGroup($gid) {
|
||||
protected function getGroup(string $gid) {
|
||||
$group = $this->createMock(IGroup::class);
|
||||
$group->expects($this->any())
|
||||
->method('getGID')
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
* @copyright Copyright (c) 2016, ownCloud, Inc.
|
||||
*
|
||||
|
@ -88,7 +89,7 @@ class NotifierTest extends TestCase {
|
|||
}
|
||||
}
|
||||
|
||||
public function dataUpdateAlreadyInstalledCheck() {
|
||||
public function dataUpdateAlreadyInstalledCheck(): array {
|
||||
return [
|
||||
['1.1.0', '1.0.0', false],
|
||||
['1.1.0', '1.1.0', true],
|
||||
|
@ -103,7 +104,7 @@ class NotifierTest extends TestCase {
|
|||
* @param string $versionInstalled
|
||||
* @param bool $exception
|
||||
*/
|
||||
public function testUpdateAlreadyInstalledCheck($versionNotification, $versionInstalled, $exception) {
|
||||
public function testUpdateAlreadyInstalledCheck(string $versionNotification, string $versionInstalled, bool $exception) {
|
||||
$notifier = $this->getNotifier();
|
||||
|
||||
$notification = $this->createMock(INotification::class);
|
||||
|
@ -121,7 +122,7 @@ class NotifierTest extends TestCase {
|
|||
}
|
||||
|
||||
try {
|
||||
$this->invokePrivate($notifier, 'updateAlreadyInstalledCheck', [$notification, $versionInstalled]);
|
||||
self::invokePrivate($notifier, 'updateAlreadyInstalledCheck', [$notification, $versionInstalled]);
|
||||
$this->assertFalse($exception);
|
||||
} catch (\Exception $e) {
|
||||
$this->assertTrue($exception);
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
* @copyright Copyright (c) 2016, ownCloud, Inc.
|
||||
*
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
* @copyright Copyright (c) 2016, ownCloud, Inc.
|
||||
*
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
* @copyright Copyright (c) 2016, ownCloud, Inc.
|
||||
*
|
||||
|
@ -24,12 +25,12 @@
|
|||
|
||||
namespace OCA\UpdateNotification\Tests;
|
||||
|
||||
use OC\Updater;
|
||||
use OC\Updater\VersionCheck;
|
||||
use OCA\UpdateNotification\UpdateChecker;
|
||||
use Test\TestCase;
|
||||
|
||||
class UpdateCheckerTest extends TestCase {
|
||||
/** @var Updater */
|
||||
/** @var VersionCheck|\PHPUnit_Framework_MockObject_MockObject */
|
||||
private $updater;
|
||||
/** @var UpdateChecker */
|
||||
private $updateChecker;
|
||||
|
@ -37,8 +38,7 @@ class UpdateCheckerTest extends TestCase {
|
|||
public function setUp() {
|
||||
parent::setUp();
|
||||
|
||||
$this->updater = $this->getMockBuilder('\OC\Updater\VersionCheck')
|
||||
->disableOriginalConstructor()->getMock();
|
||||
$this->updater = $this->createMock(VersionCheck::class);
|
||||
$this->updateChecker = new UpdateChecker($this->updater);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue