[TASK] Add unit tests for "outdated" extensions
[Packages/TYPO3.CMS.git] / typo3 / sysext / extensionmanager / Tests / Unit / Report / ExtensionStatusTest.php
1 <?php
2 namespace TYPO3\CMS\Extensionmanager\Tests\Unit\Report;
3 use TYPO3\CMS\Extensionmanager\Report;
4
5 /***************************************************************
6 * Copyright notice
7 *
8 * (c) 2010-2013 Christian Kuhn <lolli@schwarzbu.ch>
9 * All rights reserved
10 *
11 * This script is part of the TYPO3 project. The TYPO3 project is
12 * free software; you can redistribute it and/or modify
13 * it under the terms of the GNU General Public License as published by
14 * the Free Software Foundation; either version 2 of the License, or
15 * (at your option) any later version.
16 *
17 * The GNU General Public License can be found at
18 * http://www.gnu.org/copyleft/gpl.html.
19 *
20 * This script is distributed in the hope that it will be useful,
21 * but WITHOUT ANY WARRANTY; without even the implied warranty of
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23 * GNU General Public License for more details.
24 *
25 * This copyright notice MUST APPEAR in all copies of the script!
26 ***************************************************************/
27
28 /**
29 * Test case
30 *
31 * @author Christian Kuhn <lolli@schwarzbu.ch>
32 */
33 class ExtensionStatusTest extends \TYPO3\CMS\Extbase\Tests\Unit\BaseTestCase {
34
35 /**
36 * @test
37 */
38 public function extensionStatusImplementsStatusProviderInterface() {
39 $reportMock = $this->getMock('TYPO3\\CMS\\Extensionmanager\\Report\\ExtensionStatus');
40 $this->assertInstanceOf('TYPO3\\CMS\\Reports\\StatusProviderInterface', $reportMock);
41 }
42
43 /**
44 * @test
45 */
46 public function getStatusReturnsArray() {
47 $report = new Report\ExtensionStatus();
48 $this->assertInternalType('array', $report->getStatus());
49 }
50
51 /**
52 * @test
53 */
54 public function getStatusReturnArrayContainsFiveEntries() {
55 $report = new Report\ExtensionStatus();
56 $this->assertSame(5, count($report->getStatus()));
57 }
58
59 /**
60 * @test
61 */
62 public function getStatusReturnArrayContainsInstancesOfReportsStatusStatus() {
63 $report = new Report\ExtensionStatus();
64 $resultStatuses = $report->getStatus();
65 foreach($resultStatuses as $status) {
66 $this->assertInstanceOf('TYPO3\\CMS\\Reports\\Status', $status);
67 }
68 }
69
70 /**
71 * @test
72 */
73 public function getStatusCallsGetMainRepositoryStatusForMainRepositoryStatusResult() {
74 /** @var $mockReport \TYPO3\CMS\Extensionmanager\Report\ExtensionStatus|\PHPUnit_Framework_MockObject_MockObject */
75 $mockReport = $this->getMock('TYPO3\\CMS\\Extensionmanager\\Report\\ExtensionStatus', array('getMainRepositoryStatus'));
76 $mockReport
77 ->expects($this->once())
78 ->method('getMainRepositoryStatus')
79 ->will($this->returnValue('foo'));
80 $result = $mockReport->getStatus();
81 $this->assertSame('foo', $result['mainRepositoryStatus']);
82 }
83
84 /**
85 * @test
86 */
87 public function getMainRepositoryStatusReturnsErrorStatusIfRepositoryIsNotFound() {
88 /** @var $mockRepositoryRepository \TYPO3\CMS\Extensionmanager\Domain\Repository\RepositoryRepository|\PHPUnit_Framework_MockObject_MockObject */
89 $mockRepositoryRepository = $this->getMock('TYPO3\\CMS\\Extensionmanager\\Domain\\Repository\\RepositoryRepository');
90 $mockRepositoryRepository
91 ->expects($this->once())
92 ->method('findOneTypo3OrgRepository')
93 ->will($this->returnValue(NULL));
94
95 /** @var $mockReport \TYPO3\CMS\Extensionmanager\Report\ExtensionStatus|\PHPUnit_Framework_MockObject_MockObject|\TYPO3\CMS\Core\Tests\AccessibleObjectInterface */
96 $mockReport = $this->getAccessibleMock('TYPO3\\CMS\\Extensionmanager\\Report\\ExtensionStatus', array('dummy'));
97 $mockReport->_set('repositoryRepository', $mockRepositoryRepository);
98
99 /** @var $result \TYPO3\CMS\Reports\Status */
100 $result = $mockReport->_call('getMainRepositoryStatus');
101 $this->assertSame(\TYPO3\CMS\Reports\Status::ERROR, $result->getSeverity());
102 }
103
104 /**
105 * @test
106 */
107 public function getMainRepositoryStatusReturnsNoticeIfRepositoryUpdateIsLongerThanSevenDaysAgo() {
108 /** @var $mockRepositoryRepository \TYPO3\CMS\Extensionmanager\Domain\Model\Repository|\PHPUnit_Framework_MockObject_MockObject */
109 $mockRepository = $this->getMock('TYPO3\\CMS\\Extensionmanager\\Domain\\Model\\Repository');
110 $mockRepository
111 ->expects($this->once())
112 ->method('getLastUpdate')
113 ->will($this->returnValue(new \DateTime('-8 days')));
114
115 /** @var $mockRepositoryRepository \TYPO3\CMS\Extensionmanager\Domain\Repository\RepositoryRepository|\PHPUnit_Framework_MockObject_MockObject */
116 $mockRepositoryRepository = $this->getMock('TYPO3\\CMS\\Extensionmanager\\Domain\\Repository\\RepositoryRepository');
117 $mockRepositoryRepository
118 ->expects($this->once())
119 ->method('findOneTypo3OrgRepository')
120 ->will($this->returnValue($mockRepository));
121
122 /** @var $mockReport \TYPO3\CMS\Extensionmanager\Report\ExtensionStatus|\PHPUnit_Framework_MockObject_MockObject|\TYPO3\CMS\Core\Tests\AccessibleObjectInterface */
123 $mockReport = $this->getAccessibleMock('TYPO3\\CMS\\Extensionmanager\\Report\\ExtensionStatus', array('dummy'));
124 $mockReport->_set('repositoryRepository', $mockRepositoryRepository);
125
126 /** @var $result \TYPO3\CMS\Reports\Status */
127 $result = $mockReport->_call('getMainRepositoryStatus');
128 $this->assertSame(\TYPO3\CMS\Reports\Status::NOTICE, $result->getSeverity());
129 }
130
131 /**
132 * @test
133 */
134 public function getMainRepositoryStatusReturnsOkIfUpdatedLessThanSevenDaysAgo() {
135 /** @var $mockRepositoryRepository \TYPO3\CMS\Extensionmanager\Domain\Model\Repository|\PHPUnit_Framework_MockObject_MockObject */
136 $mockRepository = $this->getMock('TYPO3\\CMS\\Extensionmanager\\Domain\\Model\\Repository');
137 $mockRepository
138 ->expects($this->once())
139 ->method('getLastUpdate')
140 ->will($this->returnValue(new \DateTime('-6 days')));
141
142 /** @var $mockRepositoryRepository \TYPO3\CMS\Extensionmanager\Domain\Repository\RepositoryRepository|\PHPUnit_Framework_MockObject_MockObject */
143 $mockRepositoryRepository = $this->getMock('TYPO3\\CMS\\Extensionmanager\\Domain\\Repository\\RepositoryRepository');
144 $mockRepositoryRepository
145 ->expects($this->once())
146 ->method('findOneTypo3OrgRepository')
147 ->will($this->returnValue($mockRepository));
148
149 /** @var $mockReport \TYPO3\CMS\Extensionmanager\Report\ExtensionStatus|\PHPUnit_Framework_MockObject_MockObject|\TYPO3\CMS\Core\Tests\AccessibleObjectInterface */
150 $mockReport = $this->getAccessibleMock('TYPO3\\CMS\\Extensionmanager\\Report\\ExtensionStatus', array('dummy'));
151 $mockReport->_set('repositoryRepository', $mockRepositoryRepository);
152
153 /** @var $result \TYPO3\CMS\Reports\Status */
154 $result = $mockReport->_call('getMainRepositoryStatus');
155 $this->assertSame(\TYPO3\CMS\Reports\Status::OK, $result->getSeverity());
156 }
157
158 /**
159 * @test
160 */
161 public function getSecurityStatusOfExtensionsReturnsOkForLoadedExtensionIfNoInsecureExtensionIsLoaded() {
162 /** @var $mockTerObject \TYPO3\CMS\Extensionmanager\Domain\Model\Extension|\PHPUnit_Framework_MockObject_MockObject */
163 $mockTerObject = $this->getMock('TYPO3\\CMS\\Extensionmanager\\Domain\\Model\\Extension');
164 $mockTerObject
165 ->expects($this->any())
166 ->method('getVersion')
167 ->will($this->returnValue('1.0.6'));
168 $mockTerObject
169 ->expects($this->atLeastOnce())
170 ->method('getReviewState')
171 ->will($this->returnValue(0));
172 $mockExtensionList = array(
173 'enetcache' => array(
174 'installed' => TRUE,
175 'terObject' => $mockTerObject
176 ),
177 );
178 /** @var $mockListUtility \TYPO3\CMS\Extensionmanager\Utility\ListUtility|\PHPUnit_Framework_MockObject_MockObject */
179 $mockListUtility = $this->getMock('TYPO3\\CMS\\Extensionmanager\\Utility\\ListUtility');
180 $mockListUtility
181 ->expects($this->once())
182 ->method('getAvailableAndInstalledExtensionsWithAdditionalInformation')
183 ->will($this->returnValue($mockExtensionList));
184
185 /** @var $mockReport \TYPO3\CMS\Extensionmanager\Report\ExtensionStatus|\PHPUnit_Framework_MockObject_MockObject|\TYPO3\CMS\Core\Tests\AccessibleObjectInterface */
186 $mockReport = $this->getAccessibleMock('TYPO3\\CMS\\Extensionmanager\\Report\\ExtensionStatus', array('dummy'));
187 $mockReport->_set('listUtility', $mockListUtility);
188
189 $result = $mockReport->_call('getSecurityStatusOfExtensions');
190 /** @var $loadedResult \TYPO3\CMS\Reports\Status */
191 $loadedResult = $result->loaded;
192 $this->assertSame(\TYPO3\CMS\Reports\Status::OK, $loadedResult->getSeverity());
193 }
194
195 /**
196 * @test
197 */
198 public function getSecurityStatusOfExtensionsReturnsErrorForLoadedExtensionIfInsecureExtensionIsLoaded() {
199 /** @var $mockTerObject \TYPO3\CMS\Extensionmanager\Domain\Model\Extension|\PHPUnit_Framework_MockObject_MockObject */
200 $mockTerObject = $this->getMock('TYPO3\\CMS\\Extensionmanager\\Domain\\Model\\Extension');
201 $mockTerObject
202 ->expects($this->any())
203 ->method('getVersion')
204 ->will($this->returnValue('1.0.6'));
205 $mockTerObject
206 ->expects($this->atLeastOnce())
207 ->method('getReviewState')
208 ->will($this->returnValue(-1));
209 $mockExtensionList = array(
210 'enetcache' => array(
211 'installed' => TRUE,
212 'terObject' => $mockTerObject
213 ),
214 );
215 /** @var $mockListUtility \TYPO3\CMS\Extensionmanager\Utility\ListUtility|\PHPUnit_Framework_MockObject_MockObject */
216 $mockListUtility = $this->getMock('TYPO3\\CMS\\Extensionmanager\\Utility\\ListUtility');
217 $mockListUtility
218 ->expects($this->once())
219 ->method('getAvailableAndInstalledExtensionsWithAdditionalInformation')
220 ->will($this->returnValue($mockExtensionList));
221
222 /** @var $mockReport \TYPO3\CMS\Extensionmanager\Report\ExtensionStatus|\PHPUnit_Framework_MockObject_MockObject|\TYPO3\CMS\Core\Tests\AccessibleObjectInterface */
223 $mockReport = $this->getAccessibleMock('TYPO3\\CMS\\Extensionmanager\\Report\\ExtensionStatus', array('dummy'));
224 $mockReport->_set('listUtility', $mockListUtility);
225
226 $result = $mockReport->_call('getSecurityStatusOfExtensions');
227 /** @var $loadedResult \TYPO3\CMS\Reports\Status */
228 $loadedResult = $result->loaded;
229 $this->assertSame(\TYPO3\CMS\Reports\Status::ERROR, $loadedResult->getSeverity());
230 }
231
232 /**
233 * @test
234 */
235 public function getSecurityStatusOfExtensionsReturnsOkForExistingExtensionIfNoInsecureExtensionExists() {
236 /** @var $mockTerObject \TYPO3\CMS\Extensionmanager\Domain\Model\Extension|\PHPUnit_Framework_MockObject_MockObject */
237 $mockTerObject = $this->getMock('TYPO3\\CMS\\Extensionmanager\\Domain\\Model\\Extension');
238 $mockTerObject
239 ->expects($this->any())
240 ->method('getVersion')
241 ->will($this->returnValue('1.0.6'));
242 $mockTerObject
243 ->expects($this->atLeastOnce())
244 ->method('getReviewState')
245 ->will($this->returnValue(0));
246 $mockExtensionList = array(
247 'enetcache' => array(
248 'terObject' => $mockTerObject
249 ),
250 );
251 /** @var $mockListUtility \TYPO3\CMS\Extensionmanager\Utility\ListUtility|\PHPUnit_Framework_MockObject_MockObject */
252 $mockListUtility = $this->getMock('TYPO3\\CMS\\Extensionmanager\\Utility\\ListUtility');
253 $mockListUtility
254 ->expects($this->once())
255 ->method('getAvailableAndInstalledExtensionsWithAdditionalInformation')
256 ->will($this->returnValue($mockExtensionList));
257
258 /** @var $mockReport \TYPO3\CMS\Extensionmanager\Report\ExtensionStatus|\PHPUnit_Framework_MockObject_MockObject|\TYPO3\CMS\Core\Tests\AccessibleObjectInterface */
259 $mockReport = $this->getAccessibleMock('TYPO3\\CMS\\Extensionmanager\\Report\\ExtensionStatus', array('dummy'));
260 $mockReport->_set('listUtility', $mockListUtility);
261
262 $result = $mockReport->_call('getSecurityStatusOfExtensions');
263 /** @var $existingResult \TYPO3\CMS\Reports\Status */
264 $existingResult = $result->existing;
265 $this->assertSame(\TYPO3\CMS\Reports\Status::OK, $existingResult->getSeverity());
266 }
267
268 /**
269 * @test
270 */
271 public function getSecurityStatusOfExtensionsReturnsErrorForExistingExtensionIfInsecureExtensionExists() {
272 /** @var $mockTerObject \TYPO3\CMS\Extensionmanager\Domain\Model\Extension|\PHPUnit_Framework_MockObject_MockObject */
273 $mockTerObject = $this->getMock('TYPO3\\CMS\\Extensionmanager\\Domain\\Model\\Extension');
274 $mockTerObject
275 ->expects($this->any())
276 ->method('getVersion')
277 ->will($this->returnValue('1.0.6'));
278 $mockTerObject
279 ->expects($this->atLeastOnce())
280 ->method('getReviewState')
281 ->will($this->returnValue(-1));
282 $mockExtensionList = array(
283 'enetcache' => array(
284 'terObject' => $mockTerObject
285 ),
286 );
287 /** @var $mockListUtility \TYPO3\CMS\Extensionmanager\Utility\ListUtility|\PHPUnit_Framework_MockObject_MockObject */
288 $mockListUtility = $this->getMock('TYPO3\\CMS\\Extensionmanager\\Utility\\ListUtility');
289 $mockListUtility
290 ->expects($this->once())
291 ->method('getAvailableAndInstalledExtensionsWithAdditionalInformation')
292 ->will($this->returnValue($mockExtensionList));
293
294 /** @var $mockReport \TYPO3\CMS\Extensionmanager\Report\ExtensionStatus|\PHPUnit_Framework_MockObject_MockObject|\TYPO3\CMS\Core\Tests\AccessibleObjectInterface */
295 $mockReport = $this->getAccessibleMock('TYPO3\\CMS\\Extensionmanager\\Report\\ExtensionStatus', array('dummy'));
296 $mockReport->_set('listUtility', $mockListUtility);
297
298 $result = $mockReport->_call('getSecurityStatusOfExtensions');
299 /** @var $existingResult \TYPO3\CMS\Reports\Status */
300 $existingResult = $result->existing;
301 $this->assertSame(\TYPO3\CMS\Reports\Status::WARNING, $existingResult->getSeverity());
302 }
303
304 /**
305 * @test
306 */
307 public function getSecurityStatusOfExtensionsReturnsOkForLoadedExtensionIfNoOutdatedExtensionIsLoaded() {
308 /** @var $mockTerObject \TYPO3\CMS\Extensionmanager\Domain\Model\Extension|\PHPUnit_Framework_MockObject_MockObject */
309 $mockTerObject = $this->getMock('TYPO3\\CMS\\Extensionmanager\\Domain\\Model\\Extension');
310 $mockTerObject
311 ->expects($this->any())
312 ->method('getVersion')
313 ->will($this->returnValue('1.0.6'));
314 $mockTerObject
315 ->expects($this->atLeastOnce())
316 ->method('getReviewState')
317 ->will($this->returnValue(0));
318 $mockExtensionList = array(
319 'enetcache' => array(
320 'installed' => TRUE,
321 'terObject' => $mockTerObject
322 ),
323 );
324 /** @var $mockListUtility \TYPO3\CMS\Extensionmanager\Utility\ListUtility|\PHPUnit_Framework_MockObject_MockObject */
325 $mockListUtility = $this->getMock('TYPO3\\CMS\\Extensionmanager\\Utility\\ListUtility');
326 $mockListUtility
327 ->expects($this->once())
328 ->method('getAvailableAndInstalledExtensionsWithAdditionalInformation')
329 ->will($this->returnValue($mockExtensionList));
330
331 /** @var $mockReport \TYPO3\CMS\Extensionmanager\Report\ExtensionStatus|\PHPUnit_Framework_MockObject_MockObject|\TYPO3\CMS\Core\Tests\AccessibleObjectInterface */
332 $mockReport = $this->getAccessibleMock('TYPO3\\CMS\\Extensionmanager\\Report\\ExtensionStatus', array('dummy'));
333 $mockReport->_set('listUtility', $mockListUtility);
334
335 $result = $mockReport->_call('getSecurityStatusOfExtensions');
336 /** @var $loadedResult \TYPO3\CMS\Reports\Status */
337 $loadedResult = $result->loadedoutdated;
338 $this->assertSame(\TYPO3\CMS\Reports\Status::OK, $loadedResult->getSeverity());
339 }
340
341 /**
342 * @test
343 */
344 public function getSecurityStatusOfExtensionsReturnsErrorForLoadedExtensionIfOutdatedExtensionIsLoaded() {
345 /** @var $mockTerObject \TYPO3\CMS\Extensionmanager\Domain\Model\Extension|\PHPUnit_Framework_MockObject_MockObject */
346 $mockTerObject = $this->getMock('TYPO3\\CMS\\Extensionmanager\\Domain\\Model\\Extension');
347 $mockTerObject
348 ->expects($this->any())
349 ->method('getVersion')
350 ->will($this->returnValue('1.0.6'));
351 $mockTerObject
352 ->expects($this->atLeastOnce())
353 ->method('getReviewState')
354 ->will($this->returnValue(-2));
355 $mockExtensionList = array(
356 'enetcache' => array(
357 'installed' => TRUE,
358 'terObject' => $mockTerObject
359 ),
360 );
361 /** @var $mockListUtility \TYPO3\CMS\Extensionmanager\Utility\ListUtility|\PHPUnit_Framework_MockObject_MockObject */
362 $mockListUtility = $this->getMock('TYPO3\\CMS\\Extensionmanager\\Utility\\ListUtility');
363 $mockListUtility
364 ->expects($this->once())
365 ->method('getAvailableAndInstalledExtensionsWithAdditionalInformation')
366 ->will($this->returnValue($mockExtensionList));
367
368 /** @var $mockReport \TYPO3\CMS\Extensionmanager\Report\ExtensionStatus|\PHPUnit_Framework_MockObject_MockObject|\TYPO3\CMS\Core\Tests\AccessibleObjectInterface */
369 $mockReport = $this->getAccessibleMock('TYPO3\\CMS\\Extensionmanager\\Report\\ExtensionStatus', array('dummy'));
370 $mockReport->_set('listUtility', $mockListUtility);
371
372 $result = $mockReport->_call('getSecurityStatusOfExtensions');
373 /** @var $loadedResult \TYPO3\CMS\Reports\Status */
374 $loadedResult = $result->loadedoutdated;
375 $this->assertSame(\TYPO3\CMS\Reports\Status::WARNING, $loadedResult->getSeverity());
376 }
377
378 /**
379 * @test
380 */
381 public function getSecurityStatusOfExtensionsReturnsOkForExistingExtensionIfNoOutdatedExtensionExists() {
382 /** @var $mockTerObject \TYPO3\CMS\Extensionmanager\Domain\Model\Extension|\PHPUnit_Framework_MockObject_MockObject */
383 $mockTerObject = $this->getMock('TYPO3\\CMS\\Extensionmanager\\Domain\\Model\\Extension');
384 $mockTerObject
385 ->expects($this->any())
386 ->method('getVersion')
387 ->will($this->returnValue('1.0.6'));
388 $mockTerObject
389 ->expects($this->atLeastOnce())
390 ->method('getReviewState')
391 ->will($this->returnValue(0));
392 $mockExtensionList = array(
393 'enetcache' => array(
394 'terObject' => $mockTerObject
395 ),
396 );
397 /** @var $mockListUtility \TYPO3\CMS\Extensionmanager\Utility\ListUtility|\PHPUnit_Framework_MockObject_MockObject */
398 $mockListUtility = $this->getMock('TYPO3\\CMS\\Extensionmanager\\Utility\\ListUtility');
399 $mockListUtility
400 ->expects($this->once())
401 ->method('getAvailableAndInstalledExtensionsWithAdditionalInformation')
402 ->will($this->returnValue($mockExtensionList));
403
404 /** @var $mockReport \TYPO3\CMS\Extensionmanager\Report\ExtensionStatus|\PHPUnit_Framework_MockObject_MockObject|\TYPO3\CMS\Core\Tests\AccessibleObjectInterface */
405 $mockReport = $this->getAccessibleMock('TYPO3\\CMS\\Extensionmanager\\Report\\ExtensionStatus', array('dummy'));
406 $mockReport->_set('listUtility', $mockListUtility);
407
408 $result = $mockReport->_call('getSecurityStatusOfExtensions');
409 /** @var $existingResult \TYPO3\CMS\Reports\Status */
410 $existingResult = $result->existingoutdated;
411 $this->assertSame(\TYPO3\CMS\Reports\Status::OK, $existingResult->getSeverity());
412 }
413
414 /**
415 * @test
416 */
417 public function getSecurityStatusOfExtensionsReturnsErrorForExistingExtensionIfOutdatedExtensionExists() {
418 /** @var $mockTerObject \TYPO3\CMS\Extensionmanager\Domain\Model\Extension|\PHPUnit_Framework_MockObject_MockObject */
419 $mockTerObject = $this->getMock('TYPO3\\CMS\\Extensionmanager\\Domain\\Model\\Extension');
420 $mockTerObject
421 ->expects($this->any())
422 ->method('getVersion')
423 ->will($this->returnValue('1.0.6'));
424 $mockTerObject
425 ->expects($this->atLeastOnce())
426 ->method('getReviewState')
427 ->will($this->returnValue(-2));
428 $mockExtensionList = array(
429 'enetcache' => array(
430 'terObject' => $mockTerObject
431 ),
432 );
433 /** @var $mockListUtility \TYPO3\CMS\Extensionmanager\Utility\ListUtility|\PHPUnit_Framework_MockObject_MockObject */
434 $mockListUtility = $this->getMock('TYPO3\\CMS\\Extensionmanager\\Utility\\ListUtility');
435 $mockListUtility
436 ->expects($this->once())
437 ->method('getAvailableAndInstalledExtensionsWithAdditionalInformation')
438 ->will($this->returnValue($mockExtensionList));
439
440 /** @var $mockReport \TYPO3\CMS\Extensionmanager\Report\ExtensionStatus|\PHPUnit_Framework_MockObject_MockObject|\TYPO3\CMS\Core\Tests\AccessibleObjectInterface */
441 $mockReport = $this->getAccessibleMock('TYPO3\\CMS\\Extensionmanager\\Report\\ExtensionStatus', array('dummy'));
442 $mockReport->_set('listUtility', $mockListUtility);
443
444 $result = $mockReport->_call('getSecurityStatusOfExtensions');
445 /** @var $existingResult \TYPO3\CMS\Reports\Status */
446 $existingResult = $result->existingoutdated;
447 $this->assertSame(\TYPO3\CMS\Reports\Status::WARNING, $existingResult->getSeverity());
448 }
449 }
450 ?>