コード例 #1
0
        public void StartChannelTest()
        {
            var account    = App.Config.GetDefaultAccount();
            var context    = account.GetContext();
            var controller = new ChannelsController();
            var channels   = context.Channels.ToList();
            var channel    = channels.FirstOrDefault(c => c.State == ChannelState.Stopped);

            if (channel != null)
            {
                controller.Start(account.AccountName, channel.Id.NimbusIdToRawGuid());
                channel = context.Channels.Where(c => c.Id == channel.Id).FirstOrDefault();
                Assert.AreEqual(ChannelState.Starting, channel.State);
            }
            //trying to start a running channel fails.
            channel = channels.FirstOrDefault(c => c.State != ChannelState.Stopped);
            if (channel != null)
            {
                try
                {
                    controller.Start(account.AccountName, channel.Id.NimbusIdToRawGuid());
                }
                catch (HttpResponseException he)
                {
                    Assert.AreEqual(HttpStatusCode.PreconditionFailed, he.Response.StatusCode);
                }
            }
        }