Ejemplo n.º 1
0
 public function testFindByMediaId()
 {
     $this->assertNull(CM_Model_StreamChannelArchive_Media::findByMediaId('foo'));
     /** @var CM_Model_StreamChannel_Media $streamChannel */
     $streamChannel = $streamChannel = CMTest_TH::createStreamChannel(null, null, 'foo');
     $this->assertEquals($streamChannel, CM_Model_StreamChannel_Media::findByMediaId($streamChannel->getMediaId()));
 }
Ejemplo n.º 2
0
 public function testPaging()
 {
     $user = CMTest_TH::createUser();
     $streamChannel = CMTest_TH::createStreamChannel();
     CMTest_TH::createStreamSubscribe($user, $streamChannel);
     $streams = new CM_Paging_StreamSubscribe_User($user);
     $this->assertEquals(1, $streams->getCount());
     $user->delete();
     $streams = new CM_Paging_StreamSubscribe_User($user);
     $this->assertEquals(0, $streams->getCount());
 }
Ejemplo n.º 3
0
 public function testImportInvalidFile()
 {
     $file = new CM_File('fileDoesNotExist');
     /** @var CM_Model_StreamChannel_Media $streamChannel */
     $streamChannel = CMTest_TH::createStreamChannel(null, null, 'foobar');
     $cli = new CM_MediaStreams_Cli();
     $exception = $this->catchException(function () use($cli, $file) {
         $cli->importVideoThumbnail('foobar', $file, 1);
     });
     $this->assertInstanceOf('CM_Exception', $exception);
     $this->assertCount(0, $streamChannel->getThumbnails());
 }
Ejemplo n.º 4
0
 public function testPaging()
 {
     $key = 'foo';
     $streamChannel1 = CMTest_TH::createStreamChannel();
     $streamChannel1->_set('key', $key);
     $streamChannel2 = CMTest_TH::createStreamChannel();
     $streamChannel2->_set('key', $key);
     $this->assertEquals([], new CM_Paging_StreamChannelArchiveMedia_Key($key));
     $streamChannelArchive1 = CMTest_TH::createStreamChannelVideoArchive($streamChannel1);
     CMTest_TH::timeForward(1);
     $streamChannelArchive2 = CMTest_TH::createStreamChannelVideoArchive($streamChannel2);
     $this->assertEquals([$streamChannelArchive1, $streamChannelArchive2], new CM_Paging_StreamChannelArchiveMedia_Key($key));
 }
 public function testPaging()
 {
     $streamChannel = CMTest_TH::createStreamChannel();
     $paging = new CM_Paging_FileUserContent_StreamChannelVideoThumbnails($streamChannel);
     $this->assertSame(0, $paging->getCount());
     $this->assertSame(array(), $paging->getItems());
     /** @var CM_Model_StreamChannel_Video $streamChannel */
     $streamChannel = CMTest_TH::createStreamChannel();
     CMTest_TH::createStreamPublish(null, $streamChannel);
     $streamChannel->setThumbnailCount(4);
     $paging = new CM_Paging_FileUserContent_StreamChannelVideoThumbnails($streamChannel);
     $this->assertSame(4, $paging->getCount());
     $filename = $streamChannel->getId() . '-' . $streamChannel->getHash() . '-thumbs/1.png';
     $this->assertEquals(new CM_File_UserContent('streamChannels', $filename, $streamChannel->getId()), $paging->getItem(0));
 }
Ejemplo n.º 6
0
 public function testPaging()
 {
     $usersExpected = array(CMTest_TH::createUser(), CMTest_TH::createUser(), CMTest_TH::createUser());
     $streamChannel = CMTest_TH::createStreamChannel();
     foreach ($usersExpected as $user) {
         CMTest_TH::createStreamSubscribe($user, $streamChannel);
     }
     CMTest_TH::createStreamSubscribe(null, $streamChannel);
     CMTest_TH::createStreamSubscribe(null, $streamChannel);
     $usersActual = new CM_Paging_User_StreamChannelSubscriber($streamChannel);
     $this->assertEquals(3, $usersActual->getCount());
     foreach ($usersExpected as $user) {
         $this->assertContains($user, $usersActual);
     }
 }
Ejemplo n.º 7
0
 public function testPaging()
 {
     $archive = CMTest_TH::createStreamChannelVideoArchive();
     CMTest_TH::createStreamChannelVideoArchive();
     CMTest_TH::createStreamChannelVideoArchive();
     /** @var CM_Model_StreamChannel_Video $streamChannel */
     $streamChannel = CMTest_TH::createStreamChannel();
     $streamChannel = $this->getMock('CM_Model_StreamChannel_Video', array('getType'), array($streamChannel->getId()));
     $streamChannel->expects($this->any())->method('getType')->will($this->returnValue(3));
     CMTest_TH::createStreamChannelVideoArchive($streamChannel);
     $paging = new CM_Paging_StreamChannelArchiveVideo_All();
     $this->assertSame(4, $paging->getCount());
     $archive->delete();
     $paging = new CM_Paging_StreamChannelArchiveVideo_All();
     $this->assertSame(3, $paging->getCount());
 }
Ejemplo n.º 8
0
 public function testSynchronizeMissingInPhp()
 {
     /** @var CM_Model_StreamChannel_Video $streamChannel */
     $streamChannel = CMTest_TH::createStreamChannel();
     $streamPublish = CMTest_TH::createStreamPublish(null, $streamChannel);
     $streamSubscribe = CMTest_TH::createStreamSubscribe(null, $streamChannel);
     $wowza = $this->getMock('CM_Stream_Adapter_Video_Wowza', array('_stopClient', '_fetchStatus'));
     $json = $this->_generateWowzaData(array($streamChannel));
     $wowza->expects($this->any())->method('_fetchStatus')->will($this->returnValue($json));
     $wowza->expects($this->at(1))->method('_stopClient')->with($streamPublish->getKey(), $streamChannel->getPrivateHost());
     $wowza->expects($this->at(2))->method('_stopClient')->with($streamSubscribe->getKey(), $streamChannel->getPrivateHost());
     $wowza->expects($this->exactly(2))->method('_stopClient');
     /** @var $wowza CM_Stream_Adapter_Video_Wowza */
     $wowza->unpublish($streamChannel->getKey());
     $wowza->unsubscribe($streamChannel->getKey(), $streamSubscribe->getKey());
     $wowza->synchronize();
 }
Ejemplo n.º 9
0
 public function testPaging()
 {
     /** @var CM_Model_StreamChannel_Media $streamChannel */
     $streamChannel = CMTest_TH::createStreamChannel();
     $archive = CMTest_TH::createStreamChannelVideoArchive($streamChannel);
     $this->assertEquals([], $archive->getThumbnails());
     $thumbnail1 = CM_StreamChannel_Thumbnail::create($archive->getId(), 2);
     $thumbnail2 = CM_StreamChannel_Thumbnail::create($archive->getId(), 1);
     $this->assertEquals([$thumbnail2, $thumbnail1], $archive->getThumbnails());
     $this->assertEquals([$thumbnail2, $thumbnail1], $streamChannel->getThumbnails());
     $thumbnail2->delete();
     $this->assertEquals([$thumbnail1], $archive->getThumbnails());
     $this->assertEquals([$thumbnail1], $streamChannel->getThumbnails());
     $thumbnail1->delete();
     $this->assertEquals([], $archive->getThumbnails());
     $this->assertEquals([], $streamChannel->getThumbnails());
 }
Ejemplo n.º 10
0
 public function testPaging()
 {
     $archive = CMTest_TH::createStreamChannelVideoArchive();
     CMTest_TH::createStreamChannelVideoArchive();
     CMTest_TH::createStreamChannelVideoArchive();
     /** @var CM_Model_StreamChannel_Media $streamChannel */
     $streamChannel = CMTest_TH::createStreamChannel();
     $mockBuilder = $this->getMockBuilder('CM_Model_StreamChannel_Media');
     $mockBuilder->setMethods(['getType']);
     $mockBuilder->setConstructorArgs([$streamChannel->getId()]);
     $streamChannelMock = $mockBuilder->getMock();
     $streamChannelMock->expects($this->any())->method('getType')->will($this->returnValue(3));
     CMTest_TH::createStreamChannelVideoArchive($streamChannelMock);
     $paging = new CM_Paging_StreamChannelArchiveMedia_All();
     $this->assertSame(4, $paging->getCount());
     $archive->delete();
     $paging = new CM_Paging_StreamChannelArchiveMedia_All();
     $this->assertSame(3, $paging->getCount());
 }
Ejemplo n.º 11
0
 public function testGetThumbnail()
 {
     /** @var CM_Model_StreamChannel_Video $streamChannel */
     $streamChannel = CMTest_TH::createStreamChannel();
     CMTest_TH::createStreamPublish(null, $streamChannel);
     $thumbnail = $streamChannel->getThumbnail(3);
     $this->assertInstanceOf('CM_File_UserContent', $thumbnail);
     $this->assertSame('streamChannels/' . $streamChannel->getId() . '/' . $streamChannel->getId() . '-' . $streamChannel->getHash() . '-thumbs/3.png', $thumbnail->getPathRelative());
 }
Ejemplo n.º 12
0
 public function testFindStreamChannel()
 {
     $channel = CMTest_TH::createStreamChannel();
     $definition = $channel->getDefinition();
     $this->assertEquals($channel, $definition->findStreamChannel());
 }
Ejemplo n.º 13
0
 public function testSynchronizeMissingInPhp()
 {
     $streamChannel = CMTest_TH::createStreamChannel(null, CM_Janus_Service::getTypeStatic());
     $streamChannelKey = $streamChannel->getKey();
     $streamPublish = CMTest_TH::createStreamPublish(null, $streamChannel);
     $streamPublishKey = $streamPublish->getKey();
     $streamSubscribe = CMTest_TH::createStreamSubscribe(null, $streamChannel);
     $streamSubscribeKey = $streamSubscribe->getKey();
     $streamChannel2 = CMTest_TH::createStreamChannel(null, CM_Janus_Service::getTypeStatic());
     $streamChannelKey2 = $streamChannel2->getKey();
     CMTest_TH::createStreamPublish(null, $streamChannel2);
     //to make channel non empty
     $location = $this->mockClass('CM_Geo_Point')->newInstanceWithoutConstructor();
     $server1 = $this->mockClass('CM_Janus_Server')->newInstance([1, 'key', 'http://mock', 'ws://mock', [], $location]);
     /** @var CM_Janus_ServerList|\Mocka\AbstractClassTrait $serverList */
     $serverList = $this->mockObject('CM_Janus_ServerList');
     $serverList->mockMethod('getAll')->set([$server1]);
     $status = [['id' => $streamPublishKey, 'channelName' => $streamChannelKey, 'isPublish' => true], ['id' => $streamSubscribeKey, 'channelName' => $streamChannelKey, 'isPublish' => false], ['id' => 'absentStreamKey', 'channelName' => 'absentChannelKey', 'isPublish' => false], ['id' => 'absentStreamKey2', 'channelName' => $streamChannelKey2, 'isPublish' => true]];
     $httpApiClient = $this->mockClass('CM_Janus_HttpApiClient')->newInstanceWithoutConstructor();
     $httpApiClient->mockMethod('fetchStatus')->set(function (CM_Janus_Server $passedServer) use($server1, $status) {
         $this->assertSame($server1, $passedServer);
         return $status;
     });
     $stopStreamMethod = $httpApiClient->mockMethod('stopStream')->at(0, function ($server, $streamKey) use($streamPublishKey, $server1) {
         $this->assertEquals($server1, $server);
         $this->assertSame($streamPublishKey, $streamKey);
     })->at(1, function ($server, $streamKey) use($streamSubscribeKey, $server1) {
         $this->assertEquals($server1, $server);
         $this->assertSame($streamSubscribeKey, $streamKey);
     })->at(2, function ($server, $streamKey) use($server1) {
         $this->assertEquals($server1, $server);
         $this->assertSame('absentStreamKey', $streamKey);
     })->at(3, function ($server, $streamKey) use($server1) {
         $this->assertEquals($server1, $server);
         $this->assertSame('absentStreamKey2', $streamKey);
     });
     /** @var CM_Janus_HttpApiClient $httpApiClient */
     $janus = new CM_Janus_Service($serverList, $httpApiClient);
     $janus->getStreamRepository()->removeStream($streamPublish);
     $janus->getStreamRepository()->removeStream($streamSubscribe);
     $janus->synchronize();
     $this->assertSame(4, $stopStreamMethod->getCallCount());
 }
Ejemplo n.º 14
0
 public function testUnsetUser()
 {
     $user = CMTest_TH::createUser();
     $streamChannel = CMTest_TH::createStreamChannel();
     /** @var CM_Model_Stream_Subscribe $streamSubscribe */
     $streamSubscribe = CM_Model_Stream_Subscribe::createStatic(array('streamChannel' => $streamChannel, 'user' => $user, 'start' => time(), 'key' => str_repeat('a', 100)));
     $this->assertEquals($user, $streamSubscribe->getUser());
     $streamSubscribe->unsetUser();
     $this->assertNull($streamSubscribe->getUser());
 }
Ejemplo n.º 15
0
 /**
  * @expectedException CM_Exception_Invalid
  * @expectedExceptionMessage Cannot delete streamChannel with existing streams
  */
 public function testDeleteWithPublishs()
 {
     /** @var CM_Model_StreamChannel_Mock $streamChannel */
     $streamChannel = CMTest_TH::createStreamChannel();
     CMTest_TH::createStreamPublish(null, $streamChannel);
     $streamChannel->delete();
 }
Ejemplo n.º 16
0
 public function testGetStreamChannelJanus()
 {
     $streamChannel = CMTest_TH::createStreamChannel(CM_Janus_StreamChannel::getTypeStatic());
     $params = new CM_Params(['channel' => $streamChannel]);
     $this->assertEquals($streamChannel, $params->getStreamChannelJanus('channel'));
 }
Ejemplo n.º 17
0
 public function testFindById()
 {
     $streamChannel = $streamChannel = CMTest_TH::createStreamChannel();
     $this->assertNull(CM_Model_StreamChannelArchive_Video::findById($streamChannel->getId()));
     CMTest_TH::createStreamPublish(null, $streamChannel);
     CM_Model_StreamChannelArchive_Video::createStatic(array('streamChannel' => $streamChannel));
     $this->assertInstanceOf('CM_Model_StreamChannelArchive_Video', CM_Model_StreamChannelArchive_Video::findById($streamChannel->getId()));
 }