SessionTest.php 921 B

123456789101112131415161718192021222324252627282930313233
  1. <?php
  2. namespace dcb9\redis\tests;
  3. use dcb9\redis\Connection;
  4. use Yii;
  5. class SessionTest extends TestCase
  6. {
  7. public function testSession()
  8. {
  9. $params = self::getParam();
  10. $params['class'] = Connection::className();
  11. $this->mockApplication([
  12. 'components' => [
  13. 'redis' => $params,
  14. 'session' => 'dcb9\\redis\\Session',
  15. ]
  16. ]);
  17. $sessionId = 'sessionId';
  18. $session = Yii::$app->session;
  19. $session->setTimeout(1);
  20. $sessionData = json_encode([
  21. 'sessionId' => $sessionId,
  22. 'username' => 'bob',
  23. ]);
  24. $session->writeSession($sessionId, $sessionData);
  25. $this->assertEquals($sessionData, $session->readSession($sessionId));
  26. $this->assertTrue($session->destroySession($sessionId));
  27. $this->assertEquals('', $session->readSession($sessionId));
  28. }
  29. }