Neos\Flow\Tests\Unit\Session\SessionTest::garbageCollectionOnlyRemovesTheDefinedMaximumNumberOfSessions PHP Method

garbageCollectionOnlyRemovesTheDefinedMaximumNumberOfSessions() public method

    public function garbageCollectionOnlyRemovesTheDefinedMaximumNumberOfSessions()
    {
        $settings = $this->settings;
        $settings['session']['inactivityTimeout'] = 1000;
        $settings['session']['garbageCollection']['probability'] = 0;
        $settings['session']['garbageCollection']['maximumPerRun'] = 5;
        $metaDataCache = $this->createCache('Meta');
        $storageCache = $this->createCache('Storage');
        for ($i = 0; $i < 9; $i++) {
            $session = new Session();
            $this->inject($session, 'bootstrap', $this->mockBootstrap);
            $this->inject($session, 'objectManager', $this->mockObjectManager);
            $this->inject($session, 'metaDataCache', $metaDataCache);
            $this->inject($session, 'storageCache', $storageCache);
            $session->injectSettings($settings);
            $this->inject($session, 'systemLogger', $this->createMock(SystemLoggerInterface::class));
            $session->initializeObject();
            $session->start();
            $sessionIdentifier = $session->getId();
            $session->putData('foo', 'bar');
            $session->close();
            $sessionInfo = $metaDataCache->get($sessionIdentifier);
            $sessionInfo['lastActivityTimestamp'] = time() - 4000;
            $metaDataCache->set($sessionIdentifier, $sessionInfo, ['session'], 0);
        }
        $this->assertLessThanOrEqual(5, $session->collectGarbage());
    }
SessionTest