Example #1
0
        public async Task ListQueuesAsyncAwait()
        {
            #region ListQueuesAsync (await)
            IQueueingService queueingService = new CloudQueuesProvider(identity, region, clientId, internalUrl, identityProvider);
            ReadOnlyCollectionPage <CloudQueue> queuesPage = await queueingService.ListQueuesAsync(null, null, true, CancellationToken.None);

            ReadOnlyCollection <CloudQueue> queues = await queuesPage.GetAllPagesAsync(CancellationToken.None, null);

            #endregion
        }
        public static ReadOnlyCollection <T> GetAllPages <T>(this ReadOnlyCollectionPage <T> page)
        {
            if (page == null)
            {
                throw new ArgumentNullException("page");
            }

            try
            {
                return(page.GetAllPagesAsync(CancellationToken.None, null).Result);
            }
            catch (AggregateException ex)
            {
                ReadOnlyCollection <Exception> innerExceptions = ex.Flatten().InnerExceptions;
                if (innerExceptions.Count == 1)
                {
                    throw innerExceptions[0];
                }

                throw;
            }
        }
        private async Task CheckServicesAsync(ReadOnlyCollectionPage<Service> firstPage, CancellationToken cancellationToken)
        {
            ReadOnlyCollection<Service> allServices = await firstPage.GetAllPagesAsync(cancellationToken, null);
            Assert.IsNotNull(allServices);
            if (allServices.Count == 0)
                Assert.Inconclusive("No services were provided by the service.");

            foreach (Service service in allServices)
            {
                Assert.IsNotNull(service);
                Assert.IsNotNull(service.Id);

                Assert.IsFalse(service.Links.IsDefault);
                Assert.IsTrue(service.Links.Length > 0);
                Assert.IsTrue(service.Links.Any(i => "self".Equals(i.Relation, StringComparison.OrdinalIgnoreCase)));
            }
        }
        private async Task CheckFlavorsAsync(ReadOnlyCollectionPage<Flavor> firstPage, CancellationToken cancellationToken)
        {
            ReadOnlyCollection<Flavor> allFlavors = await firstPage.GetAllPagesAsync(cancellationToken, null);
            Assert.IsNotNull(allFlavors);
            if (allFlavors.Count == 0)
                Assert.Inconclusive("No flavors were provided by the service.");

            foreach (Flavor flavor in allFlavors)
            {
                Assert.IsNotNull(flavor);
                Assert.IsNotNull(flavor.Id);

                //Assert.IsNotNull(flavor.Limits);
                Assert.IsFalse(flavor.Providers.IsDefault);
                Assert.IsTrue(flavor.Providers.Length > 0);
                foreach (FlavorProvider provider in flavor.Providers)
                {
                    Assert.IsNotNull(provider.Provider);
                    Assert.IsFalse(provider.Links.IsDefault);
                    Assert.IsTrue(provider.Links.Length > 0);
                    Assert.IsTrue(provider.Links.Any(i => "provider_url".Equals(i.Relation, StringComparison.OrdinalIgnoreCase)));
                }

                Assert.IsFalse(flavor.Links.IsDefault);
                Assert.IsTrue(flavor.Links.Length > 0);
                Assert.IsTrue(flavor.Links.Any(i => "self".Equals(i.Relation, StringComparison.OrdinalIgnoreCase)));
            }
        }