Fix unit tests, and add tests for Session::isValid()

This commit is contained in:
Kijin Sung 2017-02-09 00:42:34 +09:00
parent 3be0e79abb
commit 4b26db9932
2 changed files with 33 additions and 1 deletions

View file

@ -353,9 +353,13 @@ class Session
{ {
self::login($member_srl, false); self::login($member_srl, false);
} }
else
{
$_SESSION['member_srl'] = false;
}
// Try autologin. // Try autologin.
elseif (self::$_autologin_key) if (!$member_srl && self::$_autologin_key)
{ {
$member_srl = getController('member')->doAutologin(self::$_autologin_key); $member_srl = getController('member')->doAutologin(self::$_autologin_key);
if ($member_srl && self::isValid($member_srl)) if ($member_srl && self::isValid($member_srl))

View file

@ -238,6 +238,34 @@ class SessionTest extends \Codeception\TestCase\Test
Rhymix\Framework\Session::close(); Rhymix\Framework\Session::close();
} }
public function testIsValid()
{
Rhymix\Framework\Session::start();
$member_srl = 4;
Rhymix\Framework\Session::login($member_srl);
$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);
$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);
$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);
$this->assertTrue(Rhymix\Framework\Session::isValid());
Rhymix\Framework\Session::close();
}
public function testGetMemberSrl() public function testGetMemberSrl()
{ {
Rhymix\Framework\Session::start(); Rhymix\Framework\Session::start();