Skip to content
Snippets Groups Projects
Commit 2070243c authored by Jan Helke's avatar Jan Helke Committed by Christian Kuhn
Browse files

[TASK] Make InstallUtilityTest notice free

Releases: master
Resolves: #84384
Change-Id: Ia43a39337ccbeed748b1da857bc3e051fc7e7af5
Reviewed-on: https://review.typo3.org/56261


Reviewed-by: default avatarTymoteusz Motylewski <t.motylewski@gmail.com>
Tested-by: default avatarTymoteusz Motylewski <t.motylewski@gmail.com>
Tested-by: default avatarTYPO3com <no-reply@typo3.com>
Reviewed-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
Tested-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
parent c6a4e85b
Branches
Tags
No related merge requests found
...@@ -177,7 +177,7 @@ class InstallUtility implements \TYPO3\CMS\Core\SingletonInterface ...@@ -177,7 +177,7 @@ class InstallUtility implements \TYPO3\CMS\Core\SingletonInterface
{ {
$extension = $this->enrichExtensionWithDetails($extensionKey, false); $extension = $this->enrichExtensionWithDetails($extensionKey, false);
$this->ensureConfiguredDirectoriesExist($extension); $this->ensureConfiguredDirectoriesExist($extension);
$this->importInitialFiles($extension['siteRelPath'], $extensionKey); $this->importInitialFiles($extension['siteRelPath'] ?? '', $extensionKey);
$this->processDatabaseUpdates($extension); $this->processDatabaseUpdates($extension);
$this->processRuntimeDatabaseUpdates($extensionKey); $this->processRuntimeDatabaseUpdates($extensionKey);
} }
......
<?php <?php
declare(strict_types=1);
namespace TYPO3\CMS\Extensionmanager\Tests\Unit\Utility; namespace TYPO3\CMS\Extensionmanager\Tests\Unit\Utility;
/* /*
...@@ -14,16 +15,18 @@ namespace TYPO3\CMS\Extensionmanager\Tests\Unit\Utility; ...@@ -14,16 +15,18 @@ namespace TYPO3\CMS\Extensionmanager\Tests\Unit\Utility;
* The TYPO3 project - inspiring people to share! * The TYPO3 project - inspiring people to share!
*/ */
use TYPO3\CMS\Core\Cache\CacheManager;
use TYPO3\CMS\Core\Registry;
use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Extensionmanager\Utility\DependencyUtility;
use TYPO3\CMS\Extensionmanager\Utility\InstallUtility;
use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
/** /**
* Test case * Test case
*/ */
class InstallUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase class InstallUtilityTest extends UnitTestCase
{ {
/**
* Subject is not notice free, disable E_NOTICES
*/
protected static $suppressNotices = true;
/** /**
* @var string * @var string
*/ */
...@@ -40,7 +43,7 @@ class InstallUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase ...@@ -40,7 +43,7 @@ class InstallUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
protected $fakedExtensions = []; protected $fakedExtensions = [];
/** /**
* @var \PHPUnit_Framework_MockObject_MockObject|\TYPO3\CMS\Extensionmanager\Utility\InstallUtility|\TYPO3\TestingFramework\Core\AccessibleObjectInterface * @var \PHPUnit_Framework_MockObject_MockObject|InstallUtility|\TYPO3\TestingFramework\Core\AccessibleObjectInterface
*/ */
protected $installMock; protected $installMock;
...@@ -53,7 +56,7 @@ class InstallUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase ...@@ -53,7 +56,7 @@ class InstallUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
'key' => $this->extensionKey 'key' => $this->extensionKey
]; ];
$this->installMock = $this->getAccessibleMock( $this->installMock = $this->getAccessibleMock(
\TYPO3\CMS\Extensionmanager\Utility\InstallUtility::class, InstallUtility::class,
[ [
'isLoaded', 'isLoaded',
'loadExtension', 'loadExtension',
...@@ -73,7 +76,7 @@ class InstallUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase ...@@ -73,7 +76,7 @@ class InstallUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
'', '',
false false
); );
$dependencyUtility = $this->getMockBuilder(\TYPO3\CMS\Extensionmanager\Utility\DependencyUtility::class)->getMock(); $dependencyUtility = $this->getMockBuilder(DependencyUtility::class)->getMock();
$this->installMock->_set('dependencyUtility', $dependencyUtility); $this->installMock->_set('dependencyUtility', $dependencyUtility);
$this->installMock->expects($this->any()) $this->installMock->expects($this->any())
->method('getExtensionArray') ->method('getExtensionArray')
...@@ -88,7 +91,7 @@ class InstallUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase ...@@ -88,7 +91,7 @@ class InstallUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
/** /**
* @return array * @return array
*/ */
public function getExtensionData() public function getExtensionData(): array
{ {
return $this->extensionData; return $this->extensionData;
} }
...@@ -109,12 +112,12 @@ class InstallUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase ...@@ -109,12 +112,12 @@ class InstallUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
* *
* @return string The extension key * @return string The extension key
*/ */
protected function createFakeExtension() protected function createFakeExtension(): string
{ {
$extKey = strtolower($this->getUniqueId('testing')); $extKey = strtolower($this->getUniqueId('testing'));
$absExtPath = PATH_site . 'typo3temp/var/tests/' . $extKey; $absExtPath = PATH_site . 'typo3temp/var/tests/' . $extKey;
$relPath = 'typo3temp/var/tests/' . $extKey . '/'; $relPath = 'typo3temp/var/tests/' . $extKey . '/';
\TYPO3\CMS\Core\Utility\GeneralUtility::mkdir($absExtPath); GeneralUtility::mkdir($absExtPath);
$this->fakedExtensions[$extKey] = [ $this->fakedExtensions[$extKey] = [
'siteRelPath' => $relPath 'siteRelPath' => $relPath
]; ];
...@@ -130,7 +133,7 @@ class InstallUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase ...@@ -130,7 +133,7 @@ class InstallUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
->method('processRuntimeDatabaseUpdates') ->method('processRuntimeDatabaseUpdates')
->with($this->extensionKey); ->with($this->extensionKey);
$cacheManagerMock = $this->getMockBuilder(\TYPO3\CMS\Core\Cache\CacheManager::class)->getMock(); $cacheManagerMock = $this->getMockBuilder(CacheManager::class)->getMock();
$cacheManagerMock->expects($this->once())->method('flushCachesInGroup'); $cacheManagerMock->expects($this->once())->method('flushCachesInGroup');
$this->installMock->_set('cacheManager', $cacheManagerMock); $this->installMock->_set('cacheManager', $cacheManagerMock);
$this->installMock->install($this->extensionKey); $this->installMock->install($this->extensionKey);
...@@ -141,7 +144,7 @@ class InstallUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase ...@@ -141,7 +144,7 @@ class InstallUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
*/ */
public function installCallsLoadExtension() public function installCallsLoadExtension()
{ {
$cacheManagerMock = $this->getMockBuilder(\TYPO3\CMS\Core\Cache\CacheManager::class)->getMock(); $cacheManagerMock = $this->getMockBuilder(CacheManager::class)->getMock();
$cacheManagerMock->expects($this->once())->method('flushCachesInGroup'); $cacheManagerMock->expects($this->once())->method('flushCachesInGroup');
$this->installMock->_set('cacheManager', $cacheManagerMock); $this->installMock->_set('cacheManager', $cacheManagerMock);
$this->installMock->expects($this->once())->method('loadExtension'); $this->installMock->expects($this->once())->method('loadExtension');
...@@ -154,7 +157,7 @@ class InstallUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase ...@@ -154,7 +157,7 @@ class InstallUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
public function installCallsFlushCachesIfClearCacheOnLoadIsSet() public function installCallsFlushCachesIfClearCacheOnLoadIsSet()
{ {
$this->extensionData['clearcacheonload'] = true; $this->extensionData['clearcacheonload'] = true;
$cacheManagerMock = $this->getMockBuilder(\TYPO3\CMS\Core\Cache\CacheManager::class)->getMock(); $cacheManagerMock = $this->getMockBuilder(CacheManager::class)->getMock();
$cacheManagerMock->expects($this->once())->method('flushCaches'); $cacheManagerMock->expects($this->once())->method('flushCaches');
$this->installMock->_set('cacheManager', $cacheManagerMock); $this->installMock->_set('cacheManager', $cacheManagerMock);
$this->installMock->install($this->extensionKey); $this->installMock->install($this->extensionKey);
...@@ -166,7 +169,7 @@ class InstallUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase ...@@ -166,7 +169,7 @@ class InstallUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
public function installCallsFlushCachesIfClearCacheOnLoadCamelCasedIsSet() public function installCallsFlushCachesIfClearCacheOnLoadCamelCasedIsSet()
{ {
$this->extensionData['clearCacheOnLoad'] = true; $this->extensionData['clearCacheOnLoad'] = true;
$cacheManagerMock = $this->getMockBuilder(\TYPO3\CMS\Core\Cache\CacheManager::class)->getMock(); $cacheManagerMock = $this->getMockBuilder(CacheManager::class)->getMock();
$cacheManagerMock->expects($this->once())->method('flushCaches'); $cacheManagerMock->expects($this->once())->method('flushCaches');
$this->installMock->_set('cacheManager', $cacheManagerMock); $this->installMock->_set('cacheManager', $cacheManagerMock);
$this->installMock->install($this->extensionKey); $this->installMock->install($this->extensionKey);
...@@ -177,7 +180,7 @@ class InstallUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase ...@@ -177,7 +180,7 @@ class InstallUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
*/ */
public function installationOfAnExtensionWillCallEnsureThatDirectoriesExist() public function installationOfAnExtensionWillCallEnsureThatDirectoriesExist()
{ {
$cacheManagerMock = $this->getMockBuilder(\TYPO3\CMS\Core\Cache\CacheManager::class)->getMock(); $cacheManagerMock = $this->getMockBuilder(CacheManager::class)->getMock();
$cacheManagerMock->expects($this->once())->method('flushCachesInGroup'); $cacheManagerMock->expects($this->once())->method('flushCachesInGroup');
$this->installMock->_set('cacheManager', $cacheManagerMock); $this->installMock->_set('cacheManager', $cacheManagerMock);
$this->installMock->expects($this->once())->method('ensureConfiguredDirectoriesExist'); $this->installMock->expects($this->once())->method('ensureConfiguredDirectoriesExist');
...@@ -189,7 +192,7 @@ class InstallUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase ...@@ -189,7 +192,7 @@ class InstallUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
*/ */
public function installCallsReloadCaches() public function installCallsReloadCaches()
{ {
$cacheManagerMock = $this->getMockBuilder(\TYPO3\CMS\Core\Cache\CacheManager::class)->getMock(); $cacheManagerMock = $this->getMockBuilder(CacheManager::class)->getMock();
$cacheManagerMock->expects($this->once())->method('flushCachesInGroup'); $cacheManagerMock->expects($this->once())->method('flushCachesInGroup');
$this->installMock->_set('cacheManager', $cacheManagerMock); $this->installMock->_set('cacheManager', $cacheManagerMock);
$this->installMock->expects($this->once())->method('reloadCaches'); $this->installMock->expects($this->once())->method('reloadCaches');
...@@ -201,7 +204,7 @@ class InstallUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase ...@@ -201,7 +204,7 @@ class InstallUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
*/ */
public function installCallsSaveDefaultConfigurationWithExtensionKey() public function installCallsSaveDefaultConfigurationWithExtensionKey()
{ {
$cacheManagerMock = $this->getMockBuilder(\TYPO3\CMS\Core\Cache\CacheManager::class)->getMock(); $cacheManagerMock = $this->getMockBuilder(CacheManager::class)->getMock();
$cacheManagerMock->expects($this->once())->method('flushCachesInGroup'); $cacheManagerMock->expects($this->once())->method('flushCachesInGroup');
$this->installMock->_set('cacheManager', $cacheManagerMock); $this->installMock->_set('cacheManager', $cacheManagerMock);
$this->installMock->expects($this->once())->method('saveDefaultConfiguration')->with('dummy'); $this->installMock->expects($this->once())->method('saveDefaultConfiguration')->with('dummy');
...@@ -228,13 +231,13 @@ class InstallUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase ...@@ -228,13 +231,13 @@ class InstallUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
$fileContent = 'DUMMY TEXT TO COMPARE'; $fileContent = 'DUMMY TEXT TO COMPARE';
file_put_contents($extTablesFile, $fileContent); file_put_contents($extTablesFile, $fileContent);
$installMock = $this->getAccessibleMock( $installMock = $this->getAccessibleMock(
\TYPO3\CMS\Extensionmanager\Utility\InstallUtility::class, InstallUtility::class,
['updateDbWithExtTablesSql', 'importStaticSqlFile', 'importT3DFile'], ['updateDbWithExtTablesSql', 'importStaticSqlFile', 'importT3DFile'],
[], [],
'', '',
false false
); );
$dependencyUtility = $this->getMockBuilder(\TYPO3\CMS\Extensionmanager\Utility\DependencyUtility::class)->getMock(); $dependencyUtility = $this->getMockBuilder(DependencyUtility::class)->getMock();
$installMock->_set('dependencyUtility', $dependencyUtility); $installMock->_set('dependencyUtility', $dependencyUtility);
$installMock->expects($this->once())->method('updateDbWithExtTablesSql')->with($this->stringStartsWith($fileContent)); $installMock->expects($this->once())->method('updateDbWithExtTablesSql')->with($this->stringStartsWith($fileContent));
...@@ -249,13 +252,13 @@ class InstallUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase ...@@ -249,13 +252,13 @@ class InstallUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
$extKey = $this->createFakeExtension(); $extKey = $this->createFakeExtension();
$extensionSiteRelPath = 'typo3temp/var/tests/' . $extKey . '/'; $extensionSiteRelPath = 'typo3temp/var/tests/' . $extKey . '/';
$installMock = $this->getAccessibleMock( $installMock = $this->getAccessibleMock(
\TYPO3\CMS\Extensionmanager\Utility\InstallUtility::class, InstallUtility::class,
['importStaticSqlFile', 'updateDbWithExtTablesSql', 'importT3DFile'], ['importStaticSqlFile', 'updateDbWithExtTablesSql', 'importT3DFile'],
[], [],
'', '',
false false
); );
$dependencyUtility = $this->getMockBuilder(\TYPO3\CMS\Extensionmanager\Utility\DependencyUtility::class)->getMock(); $dependencyUtility = $this->getMockBuilder(DependencyUtility::class)->getMock();
$installMock->_set('dependencyUtility', $dependencyUtility); $installMock->_set('dependencyUtility', $dependencyUtility);
$installMock->expects($this->once())->method('importStaticSqlFile')->with($extensionSiteRelPath); $installMock->expects($this->once())->method('importStaticSqlFile')->with($extensionSiteRelPath);
$installMock->processDatabaseUpdates($this->fakedExtensions[$extKey]); $installMock->processDatabaseUpdates($this->fakedExtensions[$extKey]);
...@@ -264,7 +267,7 @@ class InstallUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase ...@@ -264,7 +267,7 @@ class InstallUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
/** /**
* @return array * @return array
*/ */
public function processDatabaseUpdatesCallsImportFileDataProvider() public function processDatabaseUpdatesCallsImportFileDataProvider(): array
{ {
return [ return [
'T3D file' => [ 'T3D file' => [
...@@ -285,16 +288,16 @@ class InstallUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase ...@@ -285,16 +288,16 @@ class InstallUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
{ {
$extKey = $this->createFakeExtension(); $extKey = $this->createFakeExtension();
$absPath = PATH_site . $this->fakedExtensions[$extKey]['siteRelPath']; $absPath = PATH_site . $this->fakedExtensions[$extKey]['siteRelPath'];
\TYPO3\CMS\Core\Utility\GeneralUtility::mkdir($absPath . '/Initialisation'); GeneralUtility::mkdir($absPath . '/Initialisation');
file_put_contents($absPath . '/Initialisation/' . $fileName, 'DUMMY'); file_put_contents($absPath . '/Initialisation/' . $fileName, 'DUMMY');
$installMock = $this->getAccessibleMock( $installMock = $this->getAccessibleMock(
\TYPO3\CMS\Extensionmanager\Utility\InstallUtility::class, InstallUtility::class,
['updateDbWithExtTablesSql', 'importStaticSqlFile', 'importT3DFile'], ['updateDbWithExtTablesSql', 'importStaticSqlFile', 'importT3DFile'],
[], [],
'', '',
false false
); );
$dependencyUtility = $this->getMockBuilder(\TYPO3\CMS\Extensionmanager\Utility\DependencyUtility::class)->getMock(); $dependencyUtility = $this->getMockBuilder(DependencyUtility::class)->getMock();
$installMock->_set('dependencyUtility', $dependencyUtility); $installMock->_set('dependencyUtility', $dependencyUtility);
$installMock->expects($this->once())->method('importT3DFile')->with($this->fakedExtensions[$extKey]['siteRelPath']); $installMock->expects($this->once())->method('importT3DFile')->with($this->fakedExtensions[$extKey]['siteRelPath']);
$installMock->processDatabaseUpdates($this->fakedExtensions[$extKey]); $installMock->processDatabaseUpdates($this->fakedExtensions[$extKey]);
...@@ -303,7 +306,7 @@ class InstallUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase ...@@ -303,7 +306,7 @@ class InstallUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
/** /**
* @return array * @return array
*/ */
public function importT3DFileDoesNotImportFileIfAlreadyImportedDataProvider() public function importT3DFileDoesNotImportFileIfAlreadyImportedDataProvider(): array
{ {
return [ return [
'Import T3D file when T3D was imported before extension to XML' => [ 'Import T3D file when T3D was imported before extension to XML' => [
...@@ -340,9 +343,9 @@ class InstallUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase ...@@ -340,9 +343,9 @@ class InstallUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
{ {
$extKey = $this->createFakeExtension(); $extKey = $this->createFakeExtension();
$absPath = PATH_site . $this->fakedExtensions[$extKey]['siteRelPath']; $absPath = PATH_site . $this->fakedExtensions[$extKey]['siteRelPath'];
\TYPO3\CMS\Core\Utility\GeneralUtility::mkdir($absPath . 'Initialisation'); GeneralUtility::mkdir($absPath . 'Initialisation');
file_put_contents($absPath . 'Initialisation/' . $fileName, 'DUMMY'); file_put_contents($absPath . 'Initialisation/' . $fileName, 'DUMMY');
$registryMock = $this->getMockBuilder(\TYPO3\CMS\Core\Registry::class) $registryMock = $this->getMockBuilder(Registry::class)
->setMethods(['get', 'set']) ->setMethods(['get', 'set'])
->getMock(); ->getMock();
$registryMock $registryMock
...@@ -355,13 +358,13 @@ class InstallUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase ...@@ -355,13 +358,13 @@ class InstallUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
] ]
)); ));
$installMock = $this->getAccessibleMock( $installMock = $this->getAccessibleMock(
\TYPO3\CMS\Extensionmanager\Utility\InstallUtility::class, InstallUtility::class,
['getRegistry', 'getImportExportUtility'], ['getRegistry', 'getImportExportUtility'],
[], [],
'', '',
false false
); );
$dependencyUtility = $this->getMockBuilder(\TYPO3\CMS\Extensionmanager\Utility\DependencyUtility::class)->getMock(); $dependencyUtility = $this->getMockBuilder(DependencyUtility::class)->getMock();
$installMock->_set('dependencyUtility', $dependencyUtility); $installMock->_set('dependencyUtility', $dependencyUtility);
$installMock->_set('registry', $registryMock); $installMock->_set('registry', $registryMock);
$installMock->expects($this->never())->method('getImportExportUtility'); $installMock->expects($this->never())->method('getImportExportUtility');
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment