You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
<?php
/* * @copyright NetMonsters <team@netmonsters.ru> * @link http://netmonsters.ru * @package Majestic * @subpackage UnitTests * @since 2011-11-15 * * Unit tests for SessionModel class */
require_once dirname(__FILE__) . '/../../Registry.php'; require_once dirname(__FILE__) . '/../../Config.php'; require_once dirname(__FILE__) . '/../../classes/Env.class.php'; require_once dirname(__FILE__) . '/../../model/Db.php'; require_once dirname(__FILE__) . '/../../model/DbDriver.php'; require_once dirname(__FILE__) . '/../model/MyDbDriver.php'; require_once dirname(__FILE__) . '/../../model/Model.php'; require_once dirname(__FILE__) . '/../../model/SqlModel.php'; require_once dirname(__FILE__) . '/../../session/Session.model.php';
class SessionModelTest extends PHPUnit_Framework_TestCase {
protected $model;
public function setUp() { $conf = array('default' => array('driver' => 'MockDbDriver', 'hostname' => 'somehost', 'database' => 'db', 'username' => 'test', 'password' => '1234')); if (!class_exists('MockDbDriver')) { $this->getMockForAbstractClass('MyDbDriver', array($conf), 'MockDbDriver', false); } if (!class_exists('MockDbExpr')) { $this->getMock('DbExpr', array(), array(), 'MockDbExpr', false); }
Config::set('Db', $conf);
set_new_overload(array($this, 'newCallback')); }
public function testOpen() { $this->model = new SessionModel(); $this->assertTrue($this->model->open('path', 'name')); }
public function testClose() { $this->model = new SessionModel(); $this->assertTrue($this->model->close()); }
public function testRead() { $this->model = new SessionModel(); $this->assertEquals('data', $this->model->read(1)); }
public function testWrite() { $this->model = new SessionModel(); $_SERVER['REMOTE_ADDR'] = '127.0.0.1'; $this->assertEmpty(Env::Server('HTTP_X_FORWARDED_FOR')); $this->assertTrue($this->model->write(2, 'user|.s:20;id=2;id=2')); }
public function testDestroy() { $this->model = new SessionModel(); $this->assertTrue($this->model->destroy(2)); } public function testGc() { $this->model = new SessionModel(); $this->assertTrue($this->model->gc(2000)); }
public function testDestroyByUserId() { $this->model = new SessionModel(); $this->assertEquals('session', $this->model->destroyByUserId(12)); }
public function tearDown() { Config::getInstance()->offsetUnset('Db'); $config = new ReflectionClass('Db'); $registry = $config->getProperty('connections'); $registry->setAccessible(true); $registry->setValue('Db', array()); unset_new_overload(); }
protected function newCallback($className) { switch ($className) { case 'DbExpr': return 'MockDbExpr'; case 'MockDbDriver': return 'MockDbDriver'; case 'CacheKey': return 'MockCacheKey'; default: return $className; } } }
|