Example #1
0
        public async Task CarrierInfo()
        {
            try
            {
                var carrierInfo = await Service.GetCarrierInfoAsync();

                var forwardingInfo = await Service.GetForwardingInstructionsAsync();

                Assert.IsTrue(carrierInfo.Id != 0);
                Assert.IsTrue(carrierInfo.Id == forwardingInfo.CarrierId);
                var carriers = await Service.GetSupportedCarriersAsync();

                // Pick a new random carrier
                var rand         = new Random();
                var prefCarriers = new List <YouMailCarrier>();
                foreach (var carrier in carriers.Carriers)
                {
                    if (carrier.CarrierClass == 1)
                    {
                        prefCarriers.Add(carrier);
                    }
                }
                YouMailCarrier newCarrier = null;
                do
                {
                    newCarrier = prefCarriers[rand.Next(prefCarriers.Count)];
                }
                // Don't choose AT&T as the name is not proper XML
                while (!newCarrier.SupportedFlag || newCarrier.Id == carrierInfo.Id ||
                       newCarrier.Id == 1);

                await Service.SetCarrierInfoAsync(newCarrier.Id);

                var changedCarrier = await Service.GetCarrierInfoAsync();

                var changedForward = await Service.GetForwardingInstructionsAsync();

                Assert.IsTrue(changedCarrier.Id == newCarrier.Id);
                Assert.IsTrue(changedForward.CarrierId == newCarrier.Id);

                await Service.SetCarrierInfoAsync(carrierInfo.Id);
            }
            catch (YouMailException yme)
            {
                Assert.Fail(yme.Message);
            }
        }