Completed
Push — master ( a48bc5...1015b7 )
by Marcel
19:30 queued 14s
created
apps/settings/lib/AppInfo/Application.php 1 patch
Indentation   +156 added lines, -156 removed lines patch added patch discarded remove patch
@@ -95,160 +95,160 @@
 block discarded – undo
95 95
 use OCP\Util;
96 96
 
97 97
 class Application extends App implements IBootstrap {
98
-	public const APP_ID = 'settings';
99
-
100
-	/**
101
-	 * @param array $urlParams
102
-	 */
103
-	public function __construct(array $urlParams = []) {
104
-		parent::__construct(self::APP_ID, $urlParams);
105
-	}
106
-
107
-	public function register(IRegistrationContext $context): void {
108
-		// Register Middleware
109
-		$context->registerServiceAlias('SubadminMiddleware', SubadminMiddleware::class);
110
-		$context->registerMiddleware(SubadminMiddleware::class);
111
-		$context->registerSearchProvider(SectionSearch::class);
112
-		$context->registerSearchProvider(AppSearch::class);
113
-		$context->registerSearchProvider(UserSearch::class);
114
-
115
-		// Register listeners
116
-		$context->registerEventListener(AppPasswordCreatedEvent::class, AppPasswordCreatedActivityListener::class);
117
-		$context->registerEventListener(UserAddedEvent::class, UserAddedToGroupActivityListener::class);
118
-		$context->registerEventListener(UserRemovedEvent::class, UserRemovedFromGroupActivityListener::class);
119
-		$context->registerEventListener(GroupDeletedEvent::class, GroupRemovedListener::class);
120
-
121
-		// Register Mail Provider listeners
122
-		$context->registerEventListener(DeclarativeSettingsGetValueEvent::class, MailProviderListener::class);
123
-		$context->registerEventListener(DeclarativeSettingsSetValueEvent::class, MailProviderListener::class);
124
-
125
-		// Register well-known handlers
126
-		$context->registerWellKnownHandler(SecurityTxtHandler::class);
127
-		$context->registerWellKnownHandler(ChangePasswordHandler::class);
128
-
129
-		// Register Settings Form(s)
130
-		$context->registerDeclarativeSettings(MailProvider::class);
131
-
132
-		/**
133
-		 * Core class wrappers
134
-		 */
135
-		$context->registerService(IProvider::class, function (IAppContainer $appContainer) {
136
-			/** @var IServerContainer $serverContainer */
137
-			$serverContainer = $appContainer->query(IServerContainer::class);
138
-			return $serverContainer->query(IProvider::class);
139
-		});
140
-		$context->registerService(IManager::class, function (IAppContainer $appContainer) {
141
-			/** @var IServerContainer $serverContainer */
142
-			$serverContainer = $appContainer->query(IServerContainer::class);
143
-			return $serverContainer->getSettingsManager();
144
-		});
145
-
146
-		$context->registerService(NewUserMailHelper::class, function (IAppContainer $appContainer) {
147
-			/** @var Server $server */
148
-			$server = $appContainer->query(IServerContainer::class);
149
-			/** @var Defaults $defaults */
150
-			$defaults = $server->query(Defaults::class);
151
-
152
-			return new NewUserMailHelper(
153
-				$defaults,
154
-				$server->getURLGenerator(),
155
-				$server->getL10NFactory(),
156
-				$server->getMailer(),
157
-				$server->getSecureRandom(),
158
-				new TimeFactory(),
159
-				$server->getConfig(),
160
-				$server->getCrypto(),
161
-				Util::getDefaultEmailAddress('no-reply')
162
-			);
163
-		});
164
-		$context->registerSetupCheck(AllowedAdminRanges::class);
165
-		$context->registerSetupCheck(AppDirsWithDifferentOwner::class);
166
-		$context->registerSetupCheck(BruteForceThrottler::class);
167
-		$context->registerSetupCheck(CheckUserCertificates::class);
168
-		$context->registerSetupCheck(CodeIntegrity::class);
169
-		$context->registerSetupCheck(CronErrors::class);
170
-		$context->registerSetupCheck(CronInfo::class);
171
-		$context->registerSetupCheck(DatabaseHasMissingColumns::class);
172
-		$context->registerSetupCheck(DatabaseHasMissingIndices::class);
173
-		$context->registerSetupCheck(DatabaseHasMissingPrimaryKeys::class);
174
-		$context->registerSetupCheck(DatabasePendingBigIntConversions::class);
175
-		$context->registerSetupCheck(DataDirectoryProtected::class);
176
-		$context->registerSetupCheck(DebugMode::class);
177
-		$context->registerSetupCheck(DefaultPhoneRegionSet::class);
178
-		$context->registerSetupCheck(EmailTestSuccessful::class);
179
-		$context->registerSetupCheck(FileLocking::class);
180
-		$context->registerSetupCheck(ForwardedForHeaders::class);
181
-		$context->registerSetupCheck(HttpsUrlGeneration::class);
182
-		$context->registerSetupCheck(InternetConnectivity::class);
183
-		$context->registerSetupCheck(JavaScriptSourceMaps::class);
184
-		$context->registerSetupCheck(JavaScriptModules::class);
185
-		$context->registerSetupCheck(LegacySSEKeyFormat::class);
186
-		$context->registerSetupCheck(MaintenanceWindowStart::class);
187
-		$context->registerSetupCheck(MemcacheConfigured::class);
188
-		$context->registerSetupCheck(MimeTypeMigrationAvailable::class);
189
-		$context->registerSetupCheck(MysqlRowFormat::class);
190
-		$context->registerSetupCheck(MysqlUnicodeSupport::class);
191
-		$context->registerSetupCheck(OcxProviders::class);
192
-		$context->registerSetupCheck(OverwriteCliUrl::class);
193
-		$context->registerSetupCheck(PhpDefaultCharset::class);
194
-		$context->registerSetupCheck(PhpDisabledFunctions::class);
195
-		$context->registerSetupCheck(PhpFreetypeSupport::class);
196
-		$context->registerSetupCheck(PhpApcuConfig::class);
197
-		$context->registerSetupCheck(PhpGetEnv::class);
198
-		// Temporarily disabled $context->registerSetupCheck(PhpMaxFileSize::class);
199
-		$context->registerSetupCheck(PhpMemoryLimit::class);
200
-		$context->registerSetupCheck(PhpModules::class);
201
-		$context->registerSetupCheck(PhpOpcacheSetup::class);
202
-		$context->registerSetupCheck(PhpOutdated::class);
203
-		$context->registerSetupCheck(PhpOutputBuffering::class);
204
-		$context->registerSetupCheck(RandomnessSecure::class);
205
-		$context->registerSetupCheck(ReadOnlyConfig::class);
206
-		$context->registerSetupCheck(SecurityHeaders::class);
207
-		$context->registerSetupCheck(SchedulingTableSize::class);
208
-		$context->registerSetupCheck(SupportedDatabase::class);
209
-		$context->registerSetupCheck(SystemIs64bit::class);
210
-		$context->registerSetupCheck(TaskProcessingPickupSpeed::class);
211
-		$context->registerSetupCheck(TempSpaceAvailable::class);
212
-		$context->registerSetupCheck(TransactionIsolation::class);
213
-		$context->registerSetupCheck(PushService::class);
214
-		$context->registerSetupCheck(WellKnownUrls::class);
215
-		$context->registerSetupCheck(Woff2Loading::class);
216
-
217
-		$context->registerUserMigrator(AccountMigrator::class);
218
-	}
219
-
220
-	public function boot(IBootContext $context): void {
221
-		Util::connectHook('OC_User', 'post_setPassword', $this, 'onChangePassword');
222
-		Util::connectHook('OC_User', 'changeUser', $this, 'onChangeInfo');
223
-	}
224
-
225
-	/**
226
-	 * @param array $parameters
227
-	 * @throws \InvalidArgumentException
228
-	 * @throws \BadMethodCallException
229
-	 * @throws \Exception
230
-	 * @throws QueryException
231
-	 */
232
-	public function onChangePassword(array $parameters) {
233
-		/** @var Hooks $hooks */
234
-		$hooks = $this->getContainer()->query(Hooks::class);
235
-		$hooks->onChangePassword($parameters['uid']);
236
-	}
237
-
238
-	/**
239
-	 * @param array $parameters
240
-	 * @throws \InvalidArgumentException
241
-	 * @throws \BadMethodCallException
242
-	 * @throws \Exception
243
-	 * @throws QueryException
244
-	 */
245
-	public function onChangeInfo(array $parameters) {
246
-		if ($parameters['feature'] !== 'eMailAddress') {
247
-			return;
248
-		}
249
-
250
-		/** @var Hooks $hooks */
251
-		$hooks = $this->getContainer()->query(Hooks::class);
252
-		$hooks->onChangeEmail($parameters['user'], $parameters['old_value']);
253
-	}
98
+    public const APP_ID = 'settings';
99
+
100
+    /**
101
+     * @param array $urlParams
102
+     */
103
+    public function __construct(array $urlParams = []) {
104
+        parent::__construct(self::APP_ID, $urlParams);
105
+    }
106
+
107
+    public function register(IRegistrationContext $context): void {
108
+        // Register Middleware
109
+        $context->registerServiceAlias('SubadminMiddleware', SubadminMiddleware::class);
110
+        $context->registerMiddleware(SubadminMiddleware::class);
111
+        $context->registerSearchProvider(SectionSearch::class);
112
+        $context->registerSearchProvider(AppSearch::class);
113
+        $context->registerSearchProvider(UserSearch::class);
114
+
115
+        // Register listeners
116
+        $context->registerEventListener(AppPasswordCreatedEvent::class, AppPasswordCreatedActivityListener::class);
117
+        $context->registerEventListener(UserAddedEvent::class, UserAddedToGroupActivityListener::class);
118
+        $context->registerEventListener(UserRemovedEvent::class, UserRemovedFromGroupActivityListener::class);
119
+        $context->registerEventListener(GroupDeletedEvent::class, GroupRemovedListener::class);
120
+
121
+        // Register Mail Provider listeners
122
+        $context->registerEventListener(DeclarativeSettingsGetValueEvent::class, MailProviderListener::class);
123
+        $context->registerEventListener(DeclarativeSettingsSetValueEvent::class, MailProviderListener::class);
124
+
125
+        // Register well-known handlers
126
+        $context->registerWellKnownHandler(SecurityTxtHandler::class);
127
+        $context->registerWellKnownHandler(ChangePasswordHandler::class);
128
+
129
+        // Register Settings Form(s)
130
+        $context->registerDeclarativeSettings(MailProvider::class);
131
+
132
+        /**
133
+         * Core class wrappers
134
+         */
135
+        $context->registerService(IProvider::class, function (IAppContainer $appContainer) {
136
+            /** @var IServerContainer $serverContainer */
137
+            $serverContainer = $appContainer->query(IServerContainer::class);
138
+            return $serverContainer->query(IProvider::class);
139
+        });
140
+        $context->registerService(IManager::class, function (IAppContainer $appContainer) {
141
+            /** @var IServerContainer $serverContainer */
142
+            $serverContainer = $appContainer->query(IServerContainer::class);
143
+            return $serverContainer->getSettingsManager();
144
+        });
145
+
146
+        $context->registerService(NewUserMailHelper::class, function (IAppContainer $appContainer) {
147
+            /** @var Server $server */
148
+            $server = $appContainer->query(IServerContainer::class);
149
+            /** @var Defaults $defaults */
150
+            $defaults = $server->query(Defaults::class);
151
+
152
+            return new NewUserMailHelper(
153
+                $defaults,
154
+                $server->getURLGenerator(),
155
+                $server->getL10NFactory(),
156
+                $server->getMailer(),
157
+                $server->getSecureRandom(),
158
+                new TimeFactory(),
159
+                $server->getConfig(),
160
+                $server->getCrypto(),
161
+                Util::getDefaultEmailAddress('no-reply')
162
+            );
163
+        });
164
+        $context->registerSetupCheck(AllowedAdminRanges::class);
165
+        $context->registerSetupCheck(AppDirsWithDifferentOwner::class);
166
+        $context->registerSetupCheck(BruteForceThrottler::class);
167
+        $context->registerSetupCheck(CheckUserCertificates::class);
168
+        $context->registerSetupCheck(CodeIntegrity::class);
169
+        $context->registerSetupCheck(CronErrors::class);
170
+        $context->registerSetupCheck(CronInfo::class);
171
+        $context->registerSetupCheck(DatabaseHasMissingColumns::class);
172
+        $context->registerSetupCheck(DatabaseHasMissingIndices::class);
173
+        $context->registerSetupCheck(DatabaseHasMissingPrimaryKeys::class);
174
+        $context->registerSetupCheck(DatabasePendingBigIntConversions::class);
175
+        $context->registerSetupCheck(DataDirectoryProtected::class);
176
+        $context->registerSetupCheck(DebugMode::class);
177
+        $context->registerSetupCheck(DefaultPhoneRegionSet::class);
178
+        $context->registerSetupCheck(EmailTestSuccessful::class);
179
+        $context->registerSetupCheck(FileLocking::class);
180
+        $context->registerSetupCheck(ForwardedForHeaders::class);
181
+        $context->registerSetupCheck(HttpsUrlGeneration::class);
182
+        $context->registerSetupCheck(InternetConnectivity::class);
183
+        $context->registerSetupCheck(JavaScriptSourceMaps::class);
184
+        $context->registerSetupCheck(JavaScriptModules::class);
185
+        $context->registerSetupCheck(LegacySSEKeyFormat::class);
186
+        $context->registerSetupCheck(MaintenanceWindowStart::class);
187
+        $context->registerSetupCheck(MemcacheConfigured::class);
188
+        $context->registerSetupCheck(MimeTypeMigrationAvailable::class);
189
+        $context->registerSetupCheck(MysqlRowFormat::class);
190
+        $context->registerSetupCheck(MysqlUnicodeSupport::class);
191
+        $context->registerSetupCheck(OcxProviders::class);
192
+        $context->registerSetupCheck(OverwriteCliUrl::class);
193
+        $context->registerSetupCheck(PhpDefaultCharset::class);
194
+        $context->registerSetupCheck(PhpDisabledFunctions::class);
195
+        $context->registerSetupCheck(PhpFreetypeSupport::class);
196
+        $context->registerSetupCheck(PhpApcuConfig::class);
197
+        $context->registerSetupCheck(PhpGetEnv::class);
198
+        // Temporarily disabled $context->registerSetupCheck(PhpMaxFileSize::class);
199
+        $context->registerSetupCheck(PhpMemoryLimit::class);
200
+        $context->registerSetupCheck(PhpModules::class);
201
+        $context->registerSetupCheck(PhpOpcacheSetup::class);
202
+        $context->registerSetupCheck(PhpOutdated::class);
203
+        $context->registerSetupCheck(PhpOutputBuffering::class);
204
+        $context->registerSetupCheck(RandomnessSecure::class);
205
+        $context->registerSetupCheck(ReadOnlyConfig::class);
206
+        $context->registerSetupCheck(SecurityHeaders::class);
207
+        $context->registerSetupCheck(SchedulingTableSize::class);
208
+        $context->registerSetupCheck(SupportedDatabase::class);
209
+        $context->registerSetupCheck(SystemIs64bit::class);
210
+        $context->registerSetupCheck(TaskProcessingPickupSpeed::class);
211
+        $context->registerSetupCheck(TempSpaceAvailable::class);
212
+        $context->registerSetupCheck(TransactionIsolation::class);
213
+        $context->registerSetupCheck(PushService::class);
214
+        $context->registerSetupCheck(WellKnownUrls::class);
215
+        $context->registerSetupCheck(Woff2Loading::class);
216
+
217
+        $context->registerUserMigrator(AccountMigrator::class);
218
+    }
219
+
220
+    public function boot(IBootContext $context): void {
221
+        Util::connectHook('OC_User', 'post_setPassword', $this, 'onChangePassword');
222
+        Util::connectHook('OC_User', 'changeUser', $this, 'onChangeInfo');
223
+    }
224
+
225
+    /**
226
+     * @param array $parameters
227
+     * @throws \InvalidArgumentException
228
+     * @throws \BadMethodCallException
229
+     * @throws \Exception
230
+     * @throws QueryException
231
+     */
232
+    public function onChangePassword(array $parameters) {
233
+        /** @var Hooks $hooks */
234
+        $hooks = $this->getContainer()->query(Hooks::class);
235
+        $hooks->onChangePassword($parameters['uid']);
236
+    }
237
+
238
+    /**
239
+     * @param array $parameters
240
+     * @throws \InvalidArgumentException
241
+     * @throws \BadMethodCallException
242
+     * @throws \Exception
243
+     * @throws QueryException
244
+     */
245
+    public function onChangeInfo(array $parameters) {
246
+        if ($parameters['feature'] !== 'eMailAddress') {
247
+            return;
248
+        }
249
+
250
+        /** @var Hooks $hooks */
251
+        $hooks = $this->getContainer()->query(Hooks::class);
252
+        $hooks->onChangeEmail($parameters['user'], $parameters['old_value']);
253
+    }
254 254
 }
Please login to merge, or discard this patch.
apps/settings/lib/SetupChecks/TaskProcessingPickupSpeed.php 1 patch
Indentation   +44 added lines, -44 removed lines patch added patch discarded remove patch
@@ -16,48 +16,48 @@
 block discarded – undo
16 16
 use OCP\TaskProcessing\IManager;
17 17
 
18 18
 class TaskProcessingPickupSpeed implements ISetupCheck {
19
-	public const MAX_SLOW_PERCENTAGE = 0.2;
20
-	public const TIME_SPAN = 24;
21
-
22
-	public function __construct(
23
-		private IL10N $l10n,
24
-		private IManager $taskProcessingManager,
25
-		private ITimeFactory $timeFactory,
26
-	) {
27
-	}
28
-
29
-	public function getCategory(): string {
30
-		return 'ai';
31
-	}
32
-
33
-	public function getName(): string {
34
-		return $this->l10n->t('Task Processing pickup speed');
35
-	}
36
-
37
-	public function run(): SetupResult {
38
-		$tasks = $this->taskProcessingManager->getTasks(userId: '', scheduleAfter: $this->timeFactory->now()->getTimestamp() - 60 * 60 * self::TIME_SPAN); // userId: '' means no filter, whereas null would mean guest
39
-		$taskCount = count($tasks);
40
-		if ($taskCount === 0) {
41
-			return SetupResult::success($this->l10n->t('No scheduled tasks in the last {hours} hours.', ['hours' => self::TIME_SPAN]));
42
-		}
43
-		$slowCount = 0;
44
-		foreach ($tasks as $task) {
45
-			if ($task->getStartedAt() === null) {
46
-				continue; // task was not picked up yet
47
-			}
48
-			if ($task->getScheduledAt() === null) {
49
-				continue; // task was not scheduled yet -- should not happen, but the API specifies null as return value
50
-			}
51
-			$pickupDelay = $task->getScheduledAt() - $task->getStartedAt();
52
-			if ($pickupDelay > 60 * 4) {
53
-				$slowCount++; // task pickup took longer than 4 minutes
54
-			}
55
-		}
56
-
57
-		if ($slowCount / $taskCount < self::MAX_SLOW_PERCENTAGE) {
58
-			return SetupResult::success($this->l10n->t('Task pickup speed is ok in the last {hours} hours.', ['hours' => self::TIME_SPAN]));
59
-		} else {
60
-			return SetupResult::warning($this->l10n->t('Task pickup speed is slow in the last {hours} hours. Many tasks took longer than 4 min to get picked up. Consider setting up a worker to process tasks in the background.', ['hours' => self::TIME_SPAN]), 'https://docs.nextcloud.com/server/latest/admin_manual/ai/overview.html#improve-ai-task-pickup-speed');
61
-		}
62
-	}
19
+    public const MAX_SLOW_PERCENTAGE = 0.2;
20
+    public const TIME_SPAN = 24;
21
+
22
+    public function __construct(
23
+        private IL10N $l10n,
24
+        private IManager $taskProcessingManager,
25
+        private ITimeFactory $timeFactory,
26
+    ) {
27
+    }
28
+
29
+    public function getCategory(): string {
30
+        return 'ai';
31
+    }
32
+
33
+    public function getName(): string {
34
+        return $this->l10n->t('Task Processing pickup speed');
35
+    }
36
+
37
+    public function run(): SetupResult {
38
+        $tasks = $this->taskProcessingManager->getTasks(userId: '', scheduleAfter: $this->timeFactory->now()->getTimestamp() - 60 * 60 * self::TIME_SPAN); // userId: '' means no filter, whereas null would mean guest
39
+        $taskCount = count($tasks);
40
+        if ($taskCount === 0) {
41
+            return SetupResult::success($this->l10n->t('No scheduled tasks in the last {hours} hours.', ['hours' => self::TIME_SPAN]));
42
+        }
43
+        $slowCount = 0;
44
+        foreach ($tasks as $task) {
45
+            if ($task->getStartedAt() === null) {
46
+                continue; // task was not picked up yet
47
+            }
48
+            if ($task->getScheduledAt() === null) {
49
+                continue; // task was not scheduled yet -- should not happen, but the API specifies null as return value
50
+            }
51
+            $pickupDelay = $task->getScheduledAt() - $task->getStartedAt();
52
+            if ($pickupDelay > 60 * 4) {
53
+                $slowCount++; // task pickup took longer than 4 minutes
54
+            }
55
+        }
56
+
57
+        if ($slowCount / $taskCount < self::MAX_SLOW_PERCENTAGE) {
58
+            return SetupResult::success($this->l10n->t('Task pickup speed is ok in the last {hours} hours.', ['hours' => self::TIME_SPAN]));
59
+        } else {
60
+            return SetupResult::warning($this->l10n->t('Task pickup speed is slow in the last {hours} hours. Many tasks took longer than 4 min to get picked up. Consider setting up a worker to process tasks in the background.', ['hours' => self::TIME_SPAN]), 'https://docs.nextcloud.com/server/latest/admin_manual/ai/overview.html#improve-ai-task-pickup-speed');
61
+        }
62
+    }
63 63
 }
Please login to merge, or discard this patch.
apps/settings/tests/SetupChecks/TaskProcessingPickupSpeedTest.php 1 patch
Indentation   +45 added lines, -45 removed lines patch added patch discarded remove patch
@@ -17,57 +17,57 @@
 block discarded – undo
17 17
 use Test\TestCase;
18 18
 
19 19
 class TaskProcessingPickupSpeedTest extends TestCase {
20
-	private IL10N $l10n;
21
-	private ITimeFactory $timeFactory;
22
-	private IManager $taskProcessingManager;
20
+    private IL10N $l10n;
21
+    private ITimeFactory $timeFactory;
22
+    private IManager $taskProcessingManager;
23 23
 
24
-	private TaskProcessingPickupSpeed $check;
24
+    private TaskProcessingPickupSpeed $check;
25 25
 
26
-	protected function setUp(): void {
27
-		parent::setUp();
26
+    protected function setUp(): void {
27
+        parent::setUp();
28 28
 
29
-		$this->l10n = $this->getMockBuilder(IL10N::class)->getMock();
30
-		$this->timeFactory = $this->getMockBuilder(ITimeFactory::class)->getMock();
31
-		$this->taskProcessingManager = $this->getMockBuilder(IManager::class)->getMock();
29
+        $this->l10n = $this->getMockBuilder(IL10N::class)->getMock();
30
+        $this->timeFactory = $this->getMockBuilder(ITimeFactory::class)->getMock();
31
+        $this->taskProcessingManager = $this->getMockBuilder(IManager::class)->getMock();
32 32
 
33
-		$this->check = new TaskProcessingPickupSpeed(
34
-			$this->l10n,
35
-			$this->taskProcessingManager,
36
-			$this->timeFactory,
37
-		);
38
-	}
33
+        $this->check = new TaskProcessingPickupSpeed(
34
+            $this->l10n,
35
+            $this->taskProcessingManager,
36
+            $this->timeFactory,
37
+        );
38
+    }
39 39
 
40
-	public function testPass(): void {
41
-		$tasks = [];
42
-		for ($i = 0; $i < 100; $i++) {
43
-			$task = new Task('test', ['test' => 'test'], 'settings', 'user' . $i);
44
-			$task->setStartedAt(0);
45
-			if ($i < 15) {
46
-				$task->setScheduledAt(60 * 5); // 15% get 5mins
47
-			} else {
48
-				$task->setScheduledAt(60); // the rest gets 1min
49
-			}
50
-			$tasks[] = $task;
51
-		}
52
-		$this->taskProcessingManager->method('getTasks')->willReturn($tasks);
40
+    public function testPass(): void {
41
+        $tasks = [];
42
+        for ($i = 0; $i < 100; $i++) {
43
+            $task = new Task('test', ['test' => 'test'], 'settings', 'user' . $i);
44
+            $task->setStartedAt(0);
45
+            if ($i < 15) {
46
+                $task->setScheduledAt(60 * 5); // 15% get 5mins
47
+            } else {
48
+                $task->setScheduledAt(60); // the rest gets 1min
49
+            }
50
+            $tasks[] = $task;
51
+        }
52
+        $this->taskProcessingManager->method('getTasks')->willReturn($tasks);
53 53
 
54
-		$this->assertEquals(SetupResult::SUCCESS, $this->check->run()->getSeverity());
55
-	}
54
+        $this->assertEquals(SetupResult::SUCCESS, $this->check->run()->getSeverity());
55
+    }
56 56
 
57
-	public function testFail(): void {
58
-		$tasks = [];
59
-		for ($i = 0; $i < 100; $i++) {
60
-			$task = new Task('test', ['test' => 'test'], 'settings', 'user' . $i);
61
-			$task->setStartedAt(0);
62
-			if ($i < 30) {
63
-				$task->setScheduledAt(60 * 5); // 30% get 5mins
64
-			} else {
65
-				$task->setScheduledAt(60); // the rest gets 1min
66
-			}
67
-			$tasks[] = $task;
68
-		}
69
-		$this->taskProcessingManager->method('getTasks')->willReturn($tasks);
57
+    public function testFail(): void {
58
+        $tasks = [];
59
+        for ($i = 0; $i < 100; $i++) {
60
+            $task = new Task('test', ['test' => 'test'], 'settings', 'user' . $i);
61
+            $task->setStartedAt(0);
62
+            if ($i < 30) {
63
+                $task->setScheduledAt(60 * 5); // 30% get 5mins
64
+            } else {
65
+                $task->setScheduledAt(60); // the rest gets 1min
66
+            }
67
+            $tasks[] = $task;
68
+        }
69
+        $this->taskProcessingManager->method('getTasks')->willReturn($tasks);
70 70
 
71
-		$this->assertEquals(SetupResult::WARNING, $this->check->run()->getSeverity());
72
-	}
71
+        $this->assertEquals(SetupResult::WARNING, $this->check->run()->getSeverity());
72
+    }
73 73
 }
Please login to merge, or discard this patch.