Change method for storing and caching session validity information

This commit is contained in:
Kijin Sung 2017-02-12 23:00:53 +09:00
parent f4035b5af2
commit 1a0e49dcfb
2 changed files with 70 additions and 28 deletions

View file

@ -243,24 +243,21 @@ class SessionTest extends \Codeception\TestCase\Test
Rhymix\Framework\Session::start();
$member_srl = 4;
Rhymix\Framework\Session::login($member_srl);
$this->assertTrue(Rhymix\Framework\Session::login($member_srl));
$validity_info = Rhymix\Framework\Session::getValidityInfo($member_srl);
$this->assertTrue(is_object($validity_info));
$this->assertTrue(isset($validity_info->invalid_before));
$invalid_before = time() - 300;
$filename = \RX_BASEDIR . sprintf('files/member_extra_info/invalid_before/%s%d.txt', getNumberingPath($member_srl), $member_srl);
Rhymix\Framework\Storage::write($filename, $invalid_before);
Rhymix\Framework\Cache::set(sprintf('session:invalid_before:%d', $member_srl), $invalid_before);
$validity_info->invalid_before = time() - 300;
$this->assertTrue(Rhymix\Framework\Session::setValidityInfo($member_srl, $validity_info));
$this->assertTrue(Rhymix\Framework\Session::isValid());
$invalid_before = time() + 300;
$filename = \RX_BASEDIR . sprintf('files/member_extra_info/invalid_before/%s%d.txt', getNumberingPath($member_srl), $member_srl);
Rhymix\Framework\Storage::write($filename, $invalid_before);
Rhymix\Framework\Cache::set(sprintf('session:invalid_before:%d', $member_srl), $invalid_before);
$validity_info->invalid_before = time() + 300;
$this->assertTrue(Rhymix\Framework\Session::setValidityInfo($member_srl, $validity_info));
$this->assertFalse(Rhymix\Framework\Session::isValid());
$invalid_before = time();
$filename = \RX_BASEDIR . sprintf('files/member_extra_info/invalid_before/%s%d.txt', getNumberingPath($member_srl), $member_srl);
Rhymix\Framework\Storage::write($filename, $invalid_before);
Rhymix\Framework\Cache::set(sprintf('session:invalid_before:%d', $member_srl), $invalid_before);
$validity_info->invalid_before = time();
$this->assertTrue(Rhymix\Framework\Session::setValidityInfo($member_srl, $validity_info));
$this->assertTrue(Rhymix\Framework\Session::isValid());
Rhymix\Framework\Session::close();