private ListLiveChannelCommand(IServiceClient client, Uri endpoint, ExecutionContext context,
                                IDeserializer <ServiceResponse, ListLiveChannelResult> deserializeMethod,
                                ListLiveChannelRequest request)
     : base(client, endpoint, context, deserializeMethod)
 {
     _request = request;
 }
        private static void Populate(ListLiveChannelRequest request, IDictionary <string, string> parameters)
        {
            if (request.Prefix != null)
            {
                parameters[RequestParameters.PREFIX] = request.Prefix;
            }

            if (request.Marker != null)
            {
                parameters[RequestParameters.MARKER] = request.Marker;
            }

            if (request.MaxKeys.HasValue)
            {
                parameters[RequestParameters.MAX_KEYS] = request.MaxKeys.Value.ToString(CultureInfo.InvariantCulture);
            }
        }
 public static ListLiveChannelCommand Create(IServiceClient client, Uri endpoint, ExecutionContext context,
                                             ListLiveChannelRequest request)
 {
     return(new ListLiveChannelCommand(client, endpoint, context,
                                       DeserializerFactory.GetFactory().CreateListLiveChannelResultDeserializer(), request));
 }
        public void ListLiveChannelTest()
        {
            //prefix:live-channel
            for (int i = 0; i < 5; i++)
            {
                string liveChannelName = "live-channel" + i.ToString();
                var    clcRequest      = new CreateLiveChannelRequest(_bucketName, liveChannelName);
                var    clcResult       = _ossClient.CreateLiveChannel(clcRequest);
            }

            //prefix:live-tv
            for (int i = 0; i < 6; i++)
            {
                string liveChannelName = "live-tv" + i.ToString();
                var    clcRequest      = new CreateLiveChannelRequest(_bucketName, liveChannelName);
                var    clcResult       = _ossClient.CreateLiveChannel(clcRequest);
            }

            //prefix:vod-channel
            for (int i = 0; i < 3; i++)
            {
                string liveChannelName = "vod-channel" + i.ToString();
                var    clcRequest      = new CreateLiveChannelRequest(_bucketName, liveChannelName);
                var    clcResult       = _ossClient.CreateLiveChannel(clcRequest);
            }

            //list live-*
            var request = new ListLiveChannelRequest(_bucketName)
            {
                Prefix = "live-",
            };

            var result = _ossClient.ListLiveChannel(request);

            Assert.AreEqual(result.IsTruncated, false);
            Assert.AreEqual(result.NextMarker, "");
            Assert.AreEqual(result.Marker, "");
            Assert.AreEqual(result.Prefix, "live-");
            var liveChannels = OssTestUtils.ToArray(result.LiveChannels);

            Assert.AreEqual(liveChannels.Count, 11);

            //list vod-channel & with marker vod-channel0
            request = new ListLiveChannelRequest(_bucketName)
            {
                Prefix = "vod-channel",
                Marker = "vod-channel0",
            };
            result = _ossClient.ListLiveChannel(request);
            Assert.AreEqual(result.IsTruncated, false);
            Assert.AreEqual(result.NextMarker, "");
            Assert.AreEqual(result.Marker, "vod-channel0");
            Assert.AreEqual(result.Prefix, "vod-channel");
            Assert.AreEqual(result.MaxKeys, 100);
            liveChannels = OssTestUtils.ToArray(result.LiveChannels);
            Assert.AreEqual(liveChannels[0].Name, "vod-channel1");
            Assert.AreEqual(liveChannels[1].Name, "vod-channel2");

            //list live-tv 1 by 1
            request = new ListLiveChannelRequest(_bucketName)
            {
                Prefix  = "live-tv",
                MaxKeys = 1,
            };
            result = _ossClient.ListLiveChannel(request);
            Assert.AreEqual(result.MaxKeys, 1);
            Assert.AreEqual(result.IsTruncated, true);

            int cnt = 0;

            do
            {
                result = _ossClient.ListLiveChannel(request);
                Assert.AreEqual(result.MaxKeys, 1);
                liveChannels = OssTestUtils.ToArray(result.LiveChannels);
                Assert.AreEqual(liveChannels.Count, 1);
                cnt           += liveChannels.Count;
                request.Marker = result.NextMarker;
            } while (result.IsTruncated == true);
            Assert.AreEqual(cnt, 6);
        }