public function testOnRedisMessageSubscribeUser() { $adapter = new CM_MessageStream_Adapter_SocketRedis([]); $user = CMTest_TH::createUser(); $session = new CM_Session(); $session->setUser($user); $session->write(); $message = array('type' => 'subscribe', 'data' => array('channel' => 'foo:' . CM_Model_StreamChannel_Message::getTypeStatic(), 'clientKey' => 'bar', 'data' => array('sessionId' => $session->getId()))); $adapter->onRedisMessage(json_encode($message)); $streamChannel = CM_Model_StreamChannel_Message::findByKeyAndAdapter('foo', $adapter->getType()); $streamSubscribe = CM_Model_Stream_Subscribe::findByKeyAndChannel('bar', $streamChannel); $this->assertEquals($user, $streamSubscribe->getUser()); }
/** * @param CM_Model_User|null $user * @return CM_Session */ public static function createSession(CM_Model_User $user = null) { if (is_null($user)) { $user = self::createUser(); } $session = new CM_Session(); $session->setUser($user); $session->write(); return $session; }
public function testFindById() { $session = new CM_Session(); $session->set('foo', 'bar'); $session->write(); $this->assertEquals($session, CM_Session::findById($session->getId())); $this->assertNull(CM_Session::findById('foo')); $this->assertNull(CM_Session::findById('')); }
public function testSetSessionFromCookie() { $requestFoo = new CM_Http_Request_Get('/foo'); $sessionFoo = new CM_Session(null, $requestFoo); $sessionFoo->set('foo', 'bar'); $sessionFoo->write(); $sessionFooId = $sessionFoo->getId(); $requestBar = new CM_Http_Request_Get('/bar', ['cookie' => 'sessionId=' . $sessionFooId . ';']); $sessionBar = $requestBar->getSession(); $this->assertEquals($sessionFooId, $sessionBar->getId()); $this->assertEquals('bar', $sessionBar->get('foo')); $this->assertEquals($requestBar, $sessionBar->getRequest()); }