public function testOnRedisMessageUnsubscribe() { $adapter = new CM_MessageStream_Adapter_SocketRedis([]); $streamChannel = CM_Model_StreamChannel_Message::createStatic(array('key' => 'foo', 'adapterType' => $adapter->getType())); CM_Model_Stream_Subscribe::createStatic(array('key' => 'foo', 'streamChannel' => $streamChannel, 'start' => time())); CM_Model_Stream_Subscribe::createStatic(array('key' => 'bar', 'streamChannel' => $streamChannel, 'start' => time())); $message = array('type' => 'unsubscribe', 'data' => array('channel' => 'foo:' . CM_Model_StreamChannel_Message::getTypeStatic(), 'clientKey' => 'foo')); $adapter->onRedisMessage(json_encode($message)); $streamChannel = CM_Model_StreamChannel_Message::findByKeyAndAdapter('foo', $adapter->getType()); $this->assertNotNull($streamChannel); $streamSubscribe = CM_Model_Stream_Subscribe::findByKeyAndChannel('foo', $streamChannel); $this->assertNull($streamSubscribe); $message = array('type' => 'unsubscribe', 'data' => array('channel' => 'foo:' . CM_Model_StreamChannel_Message::getTypeStatic(), 'clientKey' => 'bar')); $adapter->onRedisMessage(json_encode($message)); $streamChannel = CM_Model_StreamChannel_Message::findByKeyAndAdapter('foo', $adapter->getType()); $this->assertNull($streamChannel); }
/** * @expectedException CM_Exception_Invalid * @expectedExceptionMessage Unexpected instance of */ public function testFactoryInvalidInstance() { $messageStreamChannel = CM_Model_StreamChannel_Message::createStatic(array('key' => 'message-stream-channel', 'adapterType' => CM_MessageStream_Adapter_SocketRedis::getTypeStatic())); CM_Model_StreamChannel_Video::factory($messageStreamChannel->getId()); }