public function setUp() { parent::setUp(); // create app $config = $this->appConfig + array('base_url' => 'http://localhost/'); $app = new \FelixOnline\Core\App($config); $dbuser = getenv('DB_USER') ? getenv('DB_USER') : 'root'; $dbpass = getenv('DB_PASS') ? getenv('DB_PASS') : ''; $db = new \ezSQL_mysqli(); $db->quick_connect($dbuser, $dbpass, 'test_media_felix', 'localhost', 3306, 'utf8'); $app['db'] = $db; $app['safesql'] = new \SafeSQL_MySQLi($db->dbh); $app['env'] = \FelixOnline\Core\Environment::mock(); // Initialize Akismet $connector = new \Riv\Service\Akismet\Connector\Test(); $app['akismet'] = new \Riv\Service\Akismet\Akismet($connector); // Initialize email $transport = \Swift_NullTransport::newInstance(); $app['email'] = \Swift_Mailer::newInstance($transport); $session = $this->mock('FelixOnline\\Core\\Session')->getId(1)->start(1)->reset()->new(); $this->reflect($session)->__set('session', array()); $app['env']['session'] = $session; $cookies = $this->mock('FelixOnline\\Core\\Cookies')->set(true)->delete(true)->new(); $this->reflect($cookies)->__set('cookies', array()); $app['env']['cookies'] = $cookies; if ($this->setCurrentUser) { $app['currentuser'] = new \FelixOnline\Core\CurrentUser(); } // Set empty cache so data isn't cached in tests $app['cache'] = new \Stash\Pool(); $app->run(); $this->app = $app; }
public function testExpiredCookie() { $env = \FelixOnline\Core\Environment::getInstance(); $currentUser = new \FelixOnline\Core\CurrentUser(); $env['cookies']['felixonline'] = 'foo'; $conn = $this->getConnection(); $pdo = $conn->getConnection(); $pdo->exec("INSERT INTO `cookies` \n\t\t\t(`hash`, `user`, `expires`, `deleted`)\n\t\t\tVALUES \n\t\t\t('foo', 'felix', DATE_SUB(NOW(), INTERVAL 1 DAY), 0)"); $this->assertFalse($currentUser->isLoggedIn()); $this->assertEquals(1, $this->getConnection()->getRowCount('login')); }
public function createApp($config) { $app = new \FelixOnline\Core\App($config); $dbuser = getenv('DB_USER') ? getenv('DB_USER') : 'root'; $dbpass = getenv('DB_PASS') ? getenv('DB_PASS') : ''; $db = new \ezSQL_mysqli(); $db->quick_connect($dbuser, $dbpass, 'test_media_felix', 'localhost', 3306, 'utf8'); $app['db'] = $db; $app['safesql'] = new \SafeSQL_MySQLi($db->dbh); $app['env'] = \FelixOnline\Core\Environment::mock(); $session = $this->mock('FelixOnline\\Core\\Session')->getId(1)->start(1)->reset()->new(); $this->reflect($session)->__set('session', array()); $app['env']['session'] = $session; $app->run(); return $app; }