Skip to content

Commit 2ab1cd3

Browse files
authored
Merge pull request #2202 from nextcloud/chore/noid/phpunit-11
test: upgrade to PHPUnit 11
2 parents ff70777 + 0f714f8 commit 2ab1cd3

33 files changed

Lines changed: 1050 additions & 1490 deletions

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"optimize-autoloader": true,
77
"classmap-authoritative": true,
88
"platform": {
9-
"php": "8.3"
9+
"php": "8.2"
1010
},
1111
"sort-packages": true,
1212
"allow-plugins": {

lib/AppInfo/Application.php

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,9 @@
3535
use OCP\IURLGenerator;
3636
use OCP\IUserManager;
3737
use OCP\L10N\IFactory;
38+
use OCP\Mail\IEmailValidator;
3839
use OCP\Mail\IMailer;
40+
use OCP\Notification\IManager as INotificationManager;
3941
use OCP\RichObjectStrings\IValidator;
4042
use OCP\Share\Events\BeforeShareDeletedEvent;
4143
use OCP\Share\Events\ShareCreatedEvent;
@@ -118,6 +120,7 @@ public function register(IRegistrationContext $context): void {
118120
$c->get(Data::class),
119121
$c->get(GroupHelper::class),
120122
$c->get(UserSettings::class),
123+
$c->get(IEmailValidator::class),
121124
);
122125
});
123126

@@ -144,25 +147,24 @@ public function boot(IBootContext $context): void {
144147
/**
145148
* Registers the consumer to the Activity Manager
146149
*/
147-
private function registerActivityConsumer() {
150+
private function registerActivityConsumer(): void {
148151
$c = $this->getContainer();
149-
/** @var \OCP\IServerContainer $server */
150152
$server = $c->getServer();
151153

152-
$server->getActivityManager()->registerConsumer(function () use ($c) {
153-
return $c->query(Consumer::class);
154+
$server->get(IManager::class)->registerConsumer(function () use ($c) {
155+
return $c->get(Consumer::class);
154156
});
155157
}
156158

157-
public function registerNotifier() {
159+
public function registerNotifier(): void {
158160
$server = $this->getContainer()->getServer();
159-
$server->getNotificationManager()->registerNotifierService(NotificationGenerator::class);
161+
$server->get(INotificationManager::class)->registerNotifierService(NotificationGenerator::class);
160162
}
161163

162164
/**
163165
* Register the hooks for filesystem operations
164166
*/
165-
private function registerFilesActivity(IRegistrationContext $context) {
167+
private function registerFilesActivity(IRegistrationContext $context): void {
166168
// All other events from other apps have to be send via the Consumer
167169
Util::connectHook('OC_Filesystem', 'post_create', FilesHooksStatic::class, 'fileCreate');
168170
Util::connectHook('OC_Filesystem', 'post_update', FilesHooksStatic::class, 'fileUpdate');

lib/Controller/FeedController.php

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
use OCA\Theming\ThemingDefaults;
1414
use OCP\Activity\IManager;
1515
use OCP\AppFramework\Controller;
16+
use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
17+
use OCP\AppFramework\Http\Attribute\PublicPage;
1618
use OCP\AppFramework\Http\TemplateResponse;
1719
use OCP\IConfig;
1820
use OCP\IL10N;
@@ -40,13 +42,9 @@ public function __construct(
4042
parent::__construct($appName, $request);
4143
}
4244

43-
/**
44-
* @PublicPage
45-
* @NoCSRFRequired
46-
*
47-
* @return TemplateResponse
48-
*/
49-
public function show() {
45+
#[PublicPage]
46+
#[NoCSRFRequired]
47+
public function show(): TemplateResponse {
5048
try {
5149
$user = $this->activityManager->getCurrentUserId();
5250

@@ -83,7 +81,7 @@ public function show() {
8381
'activities' => $activities,
8482
], '');
8583

86-
if (stristr($this->request->getHeader('accept'), 'application/rss+xml')) {
84+
if (stripos($this->request->getHeader('accept'), 'application/rss+xml') !== false) {
8785
$response->addHeader('Content-Type', 'application/rss+xml');
8886
} else {
8987
$response->addHeader('Content-Type', 'text/xml; charset=UTF-8');

lib/Listener/SetUserDefaults.php

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
use OCP\EventDispatcher\Event;
1212
use OCP\EventDispatcher\IEventListener;
13+
use OCP\IAppConfig;
1314
use OCP\IConfig;
1415
use OCP\IUser;
1516
use OCP\User\Events\PostLoginEvent;
@@ -18,11 +19,11 @@
1819
* @template-implements IEventListener<Event>
1920
*/
2021
class SetUserDefaults implements IEventListener {
21-
/** @var IConfig */
22-
private $config;
2322

24-
public function __construct(IConfig $config) {
25-
$this->config = $config;
23+
public function __construct(
24+
private IConfig $config,
25+
private IAppConfig $appConfig,
26+
) {
2627
}
2728

2829
#[\Override]
@@ -41,8 +42,8 @@ private function setDefaultsForUser(IUser $user): void {
4142
return;
4243
}
4344

44-
foreach ($this->config->getAppKeys('activity') as $key) {
45-
if (strpos($key, 'notify_') !== 0) {
45+
foreach ($this->appConfig->getKeys('activity') as $key) {
46+
if (!str_starts_with($key, 'notify_')) {
4647
continue;
4748
}
4849

@@ -55,7 +56,7 @@ private function setDefaultsForUser(IUser $user): void {
5556
$user->getUID(),
5657
'activity',
5758
$key,
58-
$this->config->getAppValue('activity', $key)
59+
$this->appConfig->getValueString('activity', $key)
5960
);
6061
}
6162

lib/MailQueueHandler.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
use OCP\IUserManager;
2121
use OCP\L10N\IFactory;
2222
use OCP\Mail\Headers\AutoSubmitted;
23+
use OCP\Mail\IEmailValidator;
2324
use OCP\Mail\IMailer;
2425
use OCP\RichObjectStrings\IValidator;
2526
use OCP\Util;
@@ -55,6 +56,7 @@ public function __construct(
5556
protected Data $data,
5657
protected GroupHelper $groupHelper,
5758
protected UserSettings $userSettings,
59+
protected IEmailValidator $emailValidator,
5860
) {
5961
}
6062

@@ -271,7 +273,7 @@ protected function sendEmailToUser(string $userName, string $email, string $lang
271273
return true;
272274
}
273275

274-
if (!$this->mailer->validateMailAddress($email)) {
276+
if (!$this->emailValidator->isValid($email)) {
275277
$this->logger->warning('Notification for user "{user}" not sent because the email address "{email}" is invalid.', ['user' => $userName, 'email' => $email]);
276278
return true;
277279
}

tests/AppInfo/ApplicationTest.php

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -47,23 +47,22 @@
4747
use OCA\Activity\ViewInfoCache;
4848
use OCP\Activity\IConsumer;
4949
use OCP\AppFramework\Controller;
50-
use OCP\AppFramework\IAppContainer;
5150
use OCP\AppFramework\OCSController;
5251
use OCP\BackgroundJob\TimedJob;
5352
use OCP\Capabilities\ICapability;
5453
use OCP\IL10N;
54+
use PHPUnit\Framework\Attributes\DataProvider;
55+
use PHPUnit\Framework\Attributes\Group;
5556

5657
/**
5758
* Class ApplicationTest
5859
*
5960
* @group DB
6061
* @package OCA\Activity\Tests\AppInfo
6162
*/
63+
#[Group('DB')]
6264
class ApplicationTest extends TestCase {
63-
/** @var Application */
64-
protected $app;
65-
66-
/** @var IAppContainer */
65+
protected Application $app;
6766
protected $container;
6867

6968
protected function setUp(): void {
@@ -74,10 +73,10 @@ protected function setUp(): void {
7473

7574
public function testContainerAppName(): void {
7675
$this->app = new Application();
77-
$this->assertEquals('activity', $this->container->getAppName());
76+
$this->assertEquals($this->app::APP_ID, $this->container->getAppName());
7877
}
7978

80-
public function queryData(): array {
79+
public static function queryData(): array {
8180
return [
8281
[IL10N::class],
8382
[View::class],
@@ -119,11 +118,7 @@ public function queryData(): array {
119118
];
120119
}
121120

122-
/**
123-
* @dataProvider queryData
124-
* @param string $service
125-
* @param string $expected
126-
*/
121+
#[DataProvider('queryData')]
127122
public function testContainerQuery(string $service, ?string $expected = null): void {
128123
if ($expected === null) {
129124
$expected = $service;

tests/BackgroundJob/EmailNotificationTest.php

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -29,25 +29,23 @@
2929
use OCA\Activity\Tests\TestCase;
3030
use OCP\AppFramework\Utility\ITimeFactory;
3131
use OCP\BackgroundJob\IJobList;
32+
use PHPUnit\Framework\Attributes\DataProvider;
33+
use PHPUnit\Framework\Attributes\Group;
3234

3335
/**
3436
* Class EmailNotificationTest
35-
*
36-
* @group DB
3737
* @package OCA\Activity\Tests\BackgroundJob
3838
*/
39+
#[Group('DB')]
3940
class EmailNotificationTest extends TestCase {
40-
public function constructAndRunData(): array {
41+
public static function constructAndRunData(): array {
4142
return [
4243
[true],
4344
[false],
4445
];
4546
}
4647

47-
/**
48-
* @dataProvider constructAndRunData
49-
* @param bool $isCLI
50-
*/
48+
#[DataProvider('constructAndRunData')]
5149
public function testConstructAndRun(bool $isCLI): void {
5250
$backgroundJob = new EmailNotification(
5351
$this->createMock(ITimeFactory::class),

tests/BackgroundJob/ExpireActivitiesTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,13 @@
3131
use OCP\AppFramework\Utility\ITimeFactory;
3232
use OCP\BackgroundJob\IJobList;
3333
use OCP\IConfig;
34+
use PHPUnit\Framework\Attributes\Group;
3435

3536
/**
3637
* Class ExpireActivitiesTest
37-
*
38-
* @group DB
3938
* @package OCA\Activity\Tests\BackgroundJob
4039
*/
40+
#[Group('DB')]
4141
class ExpireActivitiesTest extends TestCase {
4242
public function testExecute(): void {
4343
$backgroundJob = new ExpireActivities(

0 commit comments

Comments
 (0)