317 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			PHP
		
	
	
		
		
			
		
	
	
			317 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			PHP
		
	
	
| 
								 | 
							
								<?php
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace OSS\Tests;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								require_once __DIR__ . '/Common.php';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								use OSS\Model\LiveChannelConfig;
							 | 
						||
| 
								 | 
							
								use OSS\Core\OssException;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class BucketLiveChannelTest extends \PHPUnit\Framework\TestCase
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    private $bucketName;
							 | 
						||
| 
								 | 
							
								    private $client;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    protected function setUp(): void
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $this->client = Common::getOssClient();
							 | 
						||
| 
								 | 
							
								        $this->bucketName = 'php-sdk-test-rtmp-bucket-name-' . strval(rand(0, 10000));
							 | 
						||
| 
								 | 
							
								        $this->client->createBucket($this->bucketName);
							 | 
						||
| 
								 | 
							
								        Common::waitMetaSync();
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    protected function tearDown(): void
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								    ////to delete created bucket
							 | 
						||
| 
								 | 
							
								    //1. delele live channel
							 | 
						||
| 
								 | 
							
								        $list = $this->client->listBucketLiveChannels($this->bucketName);
							 | 
						||
| 
								 | 
							
								        if (count($list->getChannelList()) != 0)
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            foreach($list->getChannelList() as $list)
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                $this->client->deleteBucketLiveChannel($this->bucketName, $list->getName());
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								    //2. delete exsited object
							 | 
						||
| 
								 | 
							
								        $prefix = 'live-test/';
							 | 
						||
| 
								 | 
							
								        $delimiter = '/';
							 | 
						||
| 
								 | 
							
								        $nextMarker = '';
							 | 
						||
| 
								 | 
							
								        $maxkeys = 1000;
							 | 
						||
| 
								 | 
							
								        $options = array(
							 | 
						||
| 
								 | 
							
								            'delimiter' => $delimiter,
							 | 
						||
| 
								 | 
							
								            'prefix' => $prefix,
							 | 
						||
| 
								 | 
							
								            'max-keys' => $maxkeys,
							 | 
						||
| 
								 | 
							
								            'marker' => $nextMarker,
							 | 
						||
| 
								 | 
							
								        );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        try {
							 | 
						||
| 
								 | 
							
								            $listObjectInfo = $this->client->listObjects($this->bucketName, $options);
							 | 
						||
| 
								 | 
							
								        } catch (OssException $e) {
							 | 
						||
| 
								 | 
							
								            printf($e->getMessage() . "\n");
							 | 
						||
| 
								 | 
							
								            return;
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $objectList = $listObjectInfo->getObjectList(); // 文件列表
							 | 
						||
| 
								 | 
							
								        if (!empty($objectList))
							 | 
						||
| 
								 | 
							
								        {   
							 | 
						||
| 
								 | 
							
								            foreach($objectList as $objectInfo)
							 | 
						||
| 
								 | 
							
								                $this->client->deleteObject($this->bucketName, $objectInfo->getKey());     
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								    //3. delete the bucket
							 | 
						||
| 
								 | 
							
								        $this->client->deleteBucket($this->bucketName);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public function testPutLiveChannel()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $config = new LiveChannelConfig(array(
							 | 
						||
| 
								 | 
							
								            'description' => 'live channel 1',
							 | 
						||
| 
								 | 
							
								            'type' => 'HLS',
							 | 
						||
| 
								 | 
							
								            'fragDuration' => 10,
							 | 
						||
| 
								 | 
							
								            'fragCount' => 5,
							 | 
						||
| 
								 | 
							
								            'playListName' => 'hello.m3u8'
							 | 
						||
| 
								 | 
							
								        ));
							 | 
						||
| 
								 | 
							
								        $info = $this->client->putBucketLiveChannel($this->bucketName, 'live-1', $config);
							 | 
						||
| 
								 | 
							
								        $this->client->deleteBucketLiveChannel($this->bucketName, 'live-1');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->assertEquals('live-1', $info->getName());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals('live channel 1', $info->getDescription());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(1, count($info->getPublishUrls()));
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(1, count($info->getPlayUrls()));
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public function testPutLiveChannelWithDefaultParams()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $config = new LiveChannelConfig(array(
							 | 
						||
| 
								 | 
							
								            'description' => 'live channel 1',
							 | 
						||
| 
								 | 
							
								            'type' => 'HLS',
							 | 
						||
| 
								 | 
							
								        ));
							 | 
						||
| 
								 | 
							
								        $info = $this->client->putBucketLiveChannel($this->bucketName, 'live-1', $config);
							 | 
						||
| 
								 | 
							
								        $this->client->deleteBucketLiveChannel($this->bucketName, 'live-1');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->assertEquals('live-1', $info->getName());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals('live channel 1', $info->getDescription());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(1, count($info->getPublishUrls()));
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(1, count($info->getPlayUrls()));
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public function testListLiveChannels()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								       $config = new LiveChannelConfig(array(
							 | 
						||
| 
								 | 
							
								            'description' => 'live channel 1',
							 | 
						||
| 
								 | 
							
								            'type' => 'HLS',
							 | 
						||
| 
								 | 
							
								            'fragDuration' => 10,
							 | 
						||
| 
								 | 
							
								            'fragCount' => 5,
							 | 
						||
| 
								 | 
							
								            'playListName' => 'hello.m3u8'
							 | 
						||
| 
								 | 
							
								        ));
							 | 
						||
| 
								 | 
							
								        $this->client->putBucketLiveChannel($this->bucketName, 'live-1', $config);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $config = new LiveChannelConfig(array(
							 | 
						||
| 
								 | 
							
								            'description' => 'live channel 2',
							 | 
						||
| 
								 | 
							
								            'type' => 'HLS',
							 | 
						||
| 
								 | 
							
								            'fragDuration' => 10,
							 | 
						||
| 
								 | 
							
								            'fragCount' => 5,
							 | 
						||
| 
								 | 
							
								            'playListName' => 'hello.m3u8'
							 | 
						||
| 
								 | 
							
								        ));
							 | 
						||
| 
								 | 
							
								        $this->client->putBucketLiveChannel($this->bucketName, 'live-2', $config);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $list = $this->client->listBucketLiveChannels($this->bucketName);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->assertEquals($this->bucketName, $list->getBucketName());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(false, $list->getIsTruncated());
							 | 
						||
| 
								 | 
							
								        $channels = $list->getChannelList();
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(2, count($channels));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $chan1 = $channels[0];
							 | 
						||
| 
								 | 
							
								        $this->assertEquals('live-1', $chan1->getName());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals('live channel 1', $chan1->getDescription());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(1, count($chan1->getPublishUrls()));
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(1, count($chan1->getPlayUrls()));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $chan2 = $channels[1];
							 | 
						||
| 
								 | 
							
								        $this->assertEquals('live-2', $chan2->getName());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals('live channel 2', $chan2->getDescription());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(1, count($chan2->getPublishUrls()));
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(1, count($chan2->getPlayUrls()));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $list = $this->client->listBucketLiveChannels($this->bucketName, array(
							 | 
						||
| 
								 | 
							
								            'prefix' => 'live-',
							 | 
						||
| 
								 | 
							
								            'marker' => 'live-1',
							 | 
						||
| 
								 | 
							
								            'max-keys' => 10
							 | 
						||
| 
								 | 
							
								        ));
							 | 
						||
| 
								 | 
							
								        $channels = $list->getChannelList();
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(1, count($channels));
							 | 
						||
| 
								 | 
							
								        $chan2 = $channels[0];
							 | 
						||
| 
								 | 
							
								        $this->assertEquals('live-2', $chan2->getName());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals('live channel 2', $chan2->getDescription());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(1, count($chan2->getPublishUrls()));
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(1, count($chan2->getPlayUrls()));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->client->deleteBucketLiveChannel($this->bucketName, 'live-1');
							 | 
						||
| 
								 | 
							
								        $this->client->deleteBucketLiveChannel($this->bucketName, 'live-2');
							 | 
						||
| 
								 | 
							
								        $list = $this->client->listBucketLiveChannels($this->bucketName, array(
							 | 
						||
| 
								 | 
							
								            'prefix' => 'live-'
							 | 
						||
| 
								 | 
							
								        ));
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(0, count($list->getChannelList()));
							 | 
						||
| 
								 | 
							
								   }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public function testDeleteLiveChannel()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $channelName = 'live-to-delete';
							 | 
						||
| 
								 | 
							
								        $config = new LiveChannelConfig(array(
							 | 
						||
| 
								 | 
							
								            'description' => 'live channel to delete',
							 | 
						||
| 
								 | 
							
								            'type' => 'HLS',
							 | 
						||
| 
								 | 
							
								            'fragDuration' => 10,
							 | 
						||
| 
								 | 
							
								            'fragCount' => 5,
							 | 
						||
| 
								 | 
							
								            'playListName' => 'hello.m3u8'
							 | 
						||
| 
								 | 
							
								        ));
							 | 
						||
| 
								 | 
							
								        $this->client->putBucketLiveChannel($this->bucketName, $channelName, $config);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->client->deleteBucketLiveChannel($this->bucketName, $channelName);
							 | 
						||
| 
								 | 
							
								        $list = $this->client->listBucketLiveChannels($this->bucketName, array(
							 | 
						||
| 
								 | 
							
								            'prefix' => $channelName
							 | 
						||
| 
								 | 
							
								        ));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(0, count($list->getChannelList()));
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public function testSignRtmpUrl()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $channelName = '90475';
							 | 
						||
| 
								 | 
							
								        $bucket = 'douyu';
							 | 
						||
| 
								 | 
							
								        $now = time();
							 | 
						||
| 
								 | 
							
								        $url = $this->client->signRtmpUrl($bucket, $channelName, 900, array(
							 | 
						||
| 
								 | 
							
								            'params' => array(
							 | 
						||
| 
								 | 
							
								                'playlistName' => 'playlist.m3u8'
							 | 
						||
| 
								 | 
							
								            )
							 | 
						||
| 
								 | 
							
								        ));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $ret = parse_url($url);
							 | 
						||
| 
								 | 
							
								        $this->assertEquals('rtmp', $ret['scheme']);
							 | 
						||
| 
								 | 
							
								        parse_str($ret['query'], $query);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->assertTrue(isset($query['OSSAccessKeyId']));
							 | 
						||
| 
								 | 
							
								        $this->assertTrue(isset($query['Signature']));
							 | 
						||
| 
								 | 
							
								        $this->assertTrue(intval($query['Expires']) - ($now + 900) < 3);
							 | 
						||
| 
								 | 
							
								        $this->assertEquals('playlist.m3u8', $query['playlistName']);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public function testGetgenPreSignedRtmpUrlVsSignedRtmpUrl()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $channelName = '90475';
							 | 
						||
| 
								 | 
							
								        $bucket = 'douyu';
							 | 
						||
| 
								 | 
							
								        $url1 = '245';
							 | 
						||
| 
								 | 
							
								        $url2 = '123';
							 | 
						||
| 
								 | 
							
								        $expiration = 0;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        do {
							 | 
						||
| 
								 | 
							
								            $begin = time();
							 | 
						||
| 
								 | 
							
								            $expiration = time() + 900;
							 | 
						||
| 
								 | 
							
								            $url1 = $this->client->generatePresignedRtmpUrl($bucket, $channelName, $expiration, array(
							 | 
						||
| 
								 | 
							
								                'params' => array(
							 | 
						||
| 
								 | 
							
								                    'playlistName' => 'playlist.m3u8'
							 | 
						||
| 
								 | 
							
								                )
							 | 
						||
| 
								 | 
							
								            ));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            $url2 = $this->client->signRtmpUrl($bucket, $channelName, 900, array(
							 | 
						||
| 
								 | 
							
								                'params' => array(
							 | 
						||
| 
								 | 
							
								                    'playlistName' => 'playlist.m3u8'
							 | 
						||
| 
								 | 
							
								                )
							 | 
						||
| 
								 | 
							
								            ));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            $end = time();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            if ($begin == $end)
							 | 
						||
| 
								 | 
							
								                break;
							 | 
						||
| 
								 | 
							
								            usleep(500000);
							 | 
						||
| 
								 | 
							
								        } while (true);
							 | 
						||
| 
								 | 
							
								        $this->assertEquals($url1, $url1);
							 | 
						||
| 
								 | 
							
								        $this->assertTrue(strpos($url1, 'Expires='.$expiration) !== false);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public function testLiveChannelInfo()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $channelName = 'live-to-put-status';
							 | 
						||
| 
								 | 
							
								        $config = new LiveChannelConfig(array(
							 | 
						||
| 
								 | 
							
								            'description' => 'test live channel info',
							 | 
						||
| 
								 | 
							
								            'type' => 'HLS',
							 | 
						||
| 
								 | 
							
								            'fragDuration' => 10,
							 | 
						||
| 
								 | 
							
								            'fragCount' => 5,
							 | 
						||
| 
								 | 
							
								            'playListName' => 'hello.m3u8'
							 | 
						||
| 
								 | 
							
								        ));
							 | 
						||
| 
								 | 
							
								        $this->client->putBucketLiveChannel($this->bucketName, $channelName, $config);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $info = $this->client->getLiveChannelInfo($this->bucketName, $channelName);
							 | 
						||
| 
								 | 
							
								        $this->assertEquals('test live channel info', $info->getDescription());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals('enabled', $info->getStatus());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals('HLS', $info->getType());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(10, $info->getFragDuration());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(5, $info->getFragCount());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals('playlist.m3u8', $info->getPlayListName());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->client->deleteBucketLiveChannel($this->bucketName, $channelName);
							 | 
						||
| 
								 | 
							
								        $list = $this->client->listBucketLiveChannels($this->bucketName, array(
							 | 
						||
| 
								 | 
							
								            'prefix' => $channelName
							 | 
						||
| 
								 | 
							
								        ));
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(0, count($list->getChannelList()));
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public function testPutLiveChannelStatus()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $channelName = 'live-to-put-status';
							 | 
						||
| 
								 | 
							
								        $config = new LiveChannelConfig(array(
							 | 
						||
| 
								 | 
							
								            'description' => 'test live channel info',
							 | 
						||
| 
								 | 
							
								            'type' => 'HLS',
							 | 
						||
| 
								 | 
							
								            'fragDuration' => 10,
							 | 
						||
| 
								 | 
							
								            'fragCount' => 5,
							 | 
						||
| 
								 | 
							
								            'playListName' => 'hello.m3u8'
							 | 
						||
| 
								 | 
							
								        ));
							 | 
						||
| 
								 | 
							
								        $this->client->putBucketLiveChannel($this->bucketName, $channelName, $config);
							 | 
						||
| 
								 | 
							
								       
							 | 
						||
| 
								 | 
							
								        $info = $this->client->getLiveChannelInfo($this->bucketName, $channelName);
							 | 
						||
| 
								 | 
							
								        $this->assertEquals('test live channel info', $info->getDescription());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals('enabled', $info->getStatus());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals('HLS', $info->getType());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(10, $info->getFragDuration());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(5, $info->getFragCount());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals('playlist.m3u8', $info->getPlayListName());
							 | 
						||
| 
								 | 
							
								        $status = $this->client->getLiveChannelStatus($this->bucketName, $channelName);
							 | 
						||
| 
								 | 
							
								        $this->assertEquals('Idle', $status->getStatus());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $resp = $this->client->putLiveChannelStatus($this->bucketName, $channelName, "disabled"); 
							 | 
						||
| 
								 | 
							
								        $info = $this->client->getLiveChannelInfo($this->bucketName, $channelName);
							 | 
						||
| 
								 | 
							
								        $this->assertEquals('test live channel info', $info->getDescription());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals('disabled', $info->getStatus());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals('HLS', $info->getType());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(10, $info->getFragDuration());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(5, $info->getFragCount());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals('playlist.m3u8', $info->getPlayListName());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $status = $this->client->getLiveChannelStatus($this->bucketName, $channelName);
							 | 
						||
| 
								 | 
							
								        //getLiveChannelInfo
							 | 
						||
| 
								 | 
							
								        $this->assertEquals('Disabled', $status->getStatus());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->client->deleteBucketLiveChannel($this->bucketName, $channelName);
							 | 
						||
| 
								 | 
							
								        $list = $this->client->listBucketLiveChannels($this->bucketName, array(
							 | 
						||
| 
								 | 
							
								            'prefix' => $channelName
							 | 
						||
| 
								 | 
							
								        ));
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(0, count($list->getChannelList()));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    public function testLiveChannelHistory()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $channelName = 'live-test-history';
							 | 
						||
| 
								 | 
							
								        $config = new LiveChannelConfig(array(
							 | 
						||
| 
								 | 
							
								            'description' => 'test live channel info',
							 | 
						||
| 
								 | 
							
								            'type' => 'HLS',
							 | 
						||
| 
								 | 
							
								            'fragDuration' => 10,
							 | 
						||
| 
								 | 
							
								            'fragCount' => 5,
							 | 
						||
| 
								 | 
							
								            'playListName' => 'hello.m3u8'
							 | 
						||
| 
								 | 
							
								        ));
							 | 
						||
| 
								 | 
							
								        $this->client->putBucketLiveChannel($this->bucketName, $channelName, $config);
							 | 
						||
| 
								 | 
							
								        
							 | 
						||
| 
								 | 
							
								        $history = $this->client->getLiveChannelHistory($this->bucketName, $channelName);
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(0, count($history->getLiveRecordList()));
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 |