TYPO3 CMS  TYPO3_8-7
BootstrapTest.php
Go to the documentation of this file.
1 <?php
3 
4 /*
5  * This file is part of the TYPO3 CMS project.
6  *
7  * It is free software; you can redistribute it and/or modify it under
8  * the terms of the GNU General Public License, either version 2
9  * of the License, or any later version.
10  *
11  * For the full copyright and license information, please read the
12  * LICENSE.txt file that was distributed with this source code.
13  *
14  * The TYPO3 project - inspiring people to share!
15  */
16 
20 class BootstrapTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
21 {
25  protected $singletonInstances = [];
26 
30  protected function setUp()
31  {
33  }
34 
35  protected function tearDown()
36  {
39  parent::tearDown();
40  }
41 
45  public function configureObjectManagerRespectsOverridingOfAlternativeObjectRegistrationViaPluginConfiguration()
46  {
48  $objectContainer = $this->getMockBuilder(\TYPO3\CMS\Extbase\Object\Container\Container::class)
49  ->setMethods(['registerImplementation'])
50  ->getMock();
51  $objectContainer->expects($this->once())->method('registerImplementation')->with(\TYPO3\CMS\Extbase\Persistence\PersistenceManagerInterface::class, 'TYPO3\CMS\Extbase\Persistence\Reddis\PersistenceManager');
52  \TYPO3\CMS\Core\Utility\GeneralUtility::setSingletonInstance(\TYPO3\CMS\Extbase\Object\Container\Container::class, $objectContainer);
53 
54  $frameworkSettings['objects'] = [
55  'TYPO3\CMS\Extbase\Persistence\PersistenceManagerInterface.' => [
56  'className' => 'TYPO3\CMS\Extbase\Persistence\Reddis\PersistenceManager'
57  ]
58  ];
59 
61  $configurationManagerMock = $this->getAccessibleMock(\TYPO3\CMS\Extbase\Configuration\ConfigurationManager::class, ['getConfiguration']);
62  $configurationManagerMock->expects($this->any())->method('getConfiguration')->with('Framework')->will($this->returnValue($frameworkSettings));
63 
65  $objectManager = $this->createMock(\TYPO3\CMS\Extbase\Object\ObjectManager::class);
66 
68  $bootstrapMock = $this->getAccessibleMock(\TYPO3\CMS\Extbase\Core\Bootstrap::class, ['inject']);
69  $bootstrapMock->_set('objectManager', $objectManager);
70  $bootstrapMock->_set('configurationManager', $configurationManagerMock);
71  $bootstrapMock->configureObjectManager();
72  }
73 }
static setSingletonInstance($className, SingletonInterface $instance)
static resetSingletonInstances(array $newSingletonInstances)