/** * @test */ public function logoffCleansFormProtection() { $formProtection = $this->getMock('TYPO3\\CMS\\Core\\FormProtection\\BackendFormProtection', array('clean')); $formProtection->expects($this->atLeastOnce())->method('clean'); \TYPO3\CMS\Core\FormProtection\FormProtectionFactory::set('TYPO3\\CMS\\Core\\FormProtection\\BackendFormProtection', $formProtection); $this->fixture->logoff(); }
/** * @test */ public function logoffCleansFormProtectionIfBackendUserIsLoggedIn() { $formProtection = $this->getMock('TYPO3\\CMS\\Core\\FormProtection\\BackendFormProtection', array('clean'), array(), '', FALSE); $formProtection->expects($this->once())->method('clean'); \TYPO3\CMS\Core\FormProtection\FormProtectionFactory::set('TYPO3\\CMS\\Core\\FormProtection\\BackendFormProtection', $formProtection); // logoff() call the static factory that has a dependency to a valid BE_USER object. Mock this away $GLOBALS['BE_USER'] = $this->getMock('TYPO3\\CMS\\Core\\Authentication\\BackendUserAuthentication', array(), array(), '', FALSE); $GLOBALS['BE_USER']->user = array('uid' => uniqid()); $GLOBALS['TYPO3_DB'] = $this->getMock('TYPO3\\CMS\\Core\\Database\\DatabaseConnection', array(), array(), '', FALSE); $subject = $this->getAccessibleMock('TYPO3\\CMS\\Core\\Authentication\\BackendUserAuthentication', array('dummy'), array(), '', FALSE); $subject->_set('db', $GLOBALS['TYPO3_DB']); $subject->logoff(); }
/** * @test */ public function logoffCleansFormProtectionIfBackendUserIsLoggedIn() { /** @var ObjectProphecy|Connection $connection */ $connection = $this->prophesize(Connection::class); $connection->delete('be_sessions', Argument::cetera())->willReturn(1); /** @var ObjectProphecy|ConnectionPool $connectionPool */ $connectionPool = $this->prophesize(ConnectionPool::class); $connectionPool->getConnectionForTable(Argument::cetera())->willReturn($connection->reveal()); GeneralUtility::addInstance(ConnectionPool::class, $connectionPool->reveal()); /** @var ObjectProphecy|\TYPO3\CMS\Core\FormProtection\AbstractFormProtection $formProtection */ $formProtection = $this->prophesize(\TYPO3\CMS\Core\FormProtection\BackendFormProtection::class); $formProtection->clean()->shouldBeCalled(); \TYPO3\CMS\Core\FormProtection\FormProtectionFactory::set('default', $formProtection->reveal()); // logoff() call the static factory that has a dependency to a valid BE_USER object. Mock this away $GLOBALS['BE_USER'] = $this->getMock(BackendUserAuthentication::class, array(), array(), '', false); $GLOBALS['BE_USER']->user = array('uid' => $this->getUniqueId()); $GLOBALS['TYPO3_DB'] = $this->getMock(\TYPO3\CMS\Core\Database\DatabaseConnection::class, array(), array(), '', false); $subject = $this->getAccessibleMock(BackendUserAuthentication::class, array('dummy'), array(), '', false); $subject->_set('db', $GLOBALS['TYPO3_DB']); $subject->logoff(); }
/** * @test */ public function setNotSetsInstanceForOtherType() { $instance = new \TYPO3\CMS\Core\Tests\Unit\FormProtection\Fixtures\FormProtectionTesting(); \TYPO3\CMS\Core\FormProtection\FormProtectionFactory::set('TYPO3\\CMS\\Core\\FormProtection\\BackendFormProtection', $instance); $this->assertNotSame($instance, \TYPO3\CMS\Core\FormProtection\FormProtectionFactory::get('TYPO3\\CMS\\Core\\FormProtection\\InstallToolFormProtection')); }