‪TYPO3CMS  11.5
DownloadQueueTest.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU General Public License, either version 2
10  * of the License, or any later version.
11  *
12  * For the full copyright and license information, please read the
13  * LICENSE.txt file that was distributed with this source code.
14  *
15  * The TYPO3 project - inspiring people to share!
16  */
17 
19 
23 use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
24 
28 class ‪DownloadQueueTest extends UnitTestCase
29 {
33  protected ‪$downloadQueue;
34 
38  protected ‪$extension;
39 
40  protected function ‪setUp(): void
41  {
42  parent::setUp();
43  $this->downloadQueue = new ‪DownloadQueue();
44  $this->extension = new ‪Extension();
45  $this->extension->setExtensionKey('foobar');
46  $this->extension->setVersion('1.0.0');
47  }
48 
53  {
54  $this->downloadQueue->addExtensionToQueue($this->extension);
55  $extensionStorage = $this->downloadQueue->getExtensionQueue();
56 
57  self::assertArrayHasKey('foobar', $extensionStorage['download']);
58  }
59 
64  {
65  $this->downloadQueue->addExtensionToQueue($this->extension, 'update');
66  $extensionStorage = $this->downloadQueue->getExtensionQueue();
67 
68  self::assertArrayHasKey('foobar', $extensionStorage['update']);
69  }
70 
75  {
76  $this->expectException(ExtensionManagerException::class);
77  $this->expectExceptionCode(1342432103);
78  $this->downloadQueue->addExtensionToQueue($this->extension, 'unknownStack');
79  }
80 
85  {
86  ‪$extension = new Extension();
88  ‪$extension->‪setVersion('1.0.3');
89 
90  $this->expectException(ExtensionManagerException::class);
91  $this->expectExceptionCode(1342432101);
92  $this->downloadQueue->addExtensionToQueue(‪$extension);
93  $this->downloadQueue->addExtensionToQueue($this->extension);
94  }
95 
99  public function ‪removeExtensionFromQueueRemovesExtension(): void
100  {
101  ‪$extension = new Extension();
102  ‪$extension->‪setExtensionKey('foobarbaz');
103  ‪$extension->‪setVersion('1.0.3');
104  $this->downloadQueue->addExtensionToQueue($this->extension);
105  $this->downloadQueue->addExtensionToQueue(‪$extension);
106  $extensionStorageBefore = $this->downloadQueue->getExtensionQueue();
107 
108  self::assertArrayHasKey('foobar', $extensionStorageBefore['download']);
109 
110  $this->downloadQueue->removeExtensionFromQueue($this->extension);
111  $extensionStorageAfter = $this->downloadQueue->getExtensionQueue();
112 
113  self::assertArrayNotHasKey('foobar', $extensionStorageAfter['download']);
114  }
115 }
‪TYPO3\CMS\Extensionmanager\Tests\Unit\Domain\Model\DownloadQueueTest\addExtensionToQueueThrowsExceptionIfExtensionWithSameKeyAndDifferentValuesAlreadyExists
‪addExtensionToQueueThrowsExceptionIfExtensionWithSameKeyAndDifferentValuesAlreadyExists()
Definition: DownloadQueueTest.php:82
‪TYPO3\CMS\Extensionmanager\Tests\Unit\Domain\Model\DownloadQueueTest
Definition: DownloadQueueTest.php:29
‪TYPO3\CMS\Extensionmanager\Tests\Unit\Domain\Model
Definition: DependencyTest.php:18
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\setVersion
‪setVersion($version)
Definition: Extension.php:390
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension
Definition: Extension.php:28
‪TYPO3\CMS\Extensionmanager\Domain\Model\DownloadQueue
Definition: DownloadQueue.php:26
‪TYPO3\CMS\Extensionmanager\Tests\Unit\Domain\Model\DownloadQueueTest\$extension
‪TYPO3 CMS Extensionmanager Domain Model Extension $extension
Definition: DownloadQueueTest.php:36
‪TYPO3\CMS\Extensionmanager\Tests\Unit\Domain\Model\DownloadQueueTest\addExtensionToQueueAddsExtensionToDownloadStorageArray
‪addExtensionToQueueAddsExtensionToDownloadStorageArray()
Definition: DownloadQueueTest.php:50
‪TYPO3\CMS\Extensionmanager\Exception\ExtensionManagerException
Definition: ExtensionManagerException.php:23
‪TYPO3\CMS\Extensionmanager\Tests\Unit\Domain\Model\DownloadQueueTest\setUp
‪setUp()
Definition: DownloadQueueTest.php:38
‪TYPO3\CMS\Extensionmanager\Tests\Unit\Domain\Model\DownloadQueueTest\addExtensionToQueueThrowsExceptionIfUnknownStackIsGiven
‪addExtensionToQueueThrowsExceptionIfUnknownStackIsGiven()
Definition: DownloadQueueTest.php:72
‪TYPO3\CMS\Extensionmanager\Tests\Unit\Domain\Model\DownloadQueueTest\$downloadQueue
‪TYPO3 CMS Extensionmanager Domain Model DownloadQueue $downloadQueue
Definition: DownloadQueueTest.php:32
‪TYPO3\CMS\Extensionmanager\Tests\Unit\Domain\Model\DownloadQueueTest\addExtensionToQueueAddsExtensionToUpdateStorageArray
‪addExtensionToQueueAddsExtensionToUpdateStorageArray()
Definition: DownloadQueueTest.php:61
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\setExtensionKey
‪setExtensionKey($extensionKey)
Definition: Extension.php:261
‪TYPO3\CMS\Extensionmanager\Tests\Unit\Domain\Model\DownloadQueueTest\removeExtensionFromQueueRemovesExtension
‪removeExtensionFromQueueRemovesExtension()
Definition: DownloadQueueTest.php:97