public async Task CanDescribeSecureSite(string rootUrl, string username, string password)
        {
            var gateway = new SecurePortalGateway(rootUrl, username, password);

            var response = await IntegrationTestFixture.TestPolicy.ExecuteAsync(() =>
            {
                return(gateway.DescribeSite());
            });

            Assert.NotNull(response);
            Assert.True(response.Version > 0);

            foreach (var resource in response.ArcGISServerEndpoints)
            {
                var ping = await IntegrationTestFixture.TestPolicy.ExecuteAsync(() =>
                {
                    return(gateway.Ping(resource));
                });

                Assert.Null(ping.Error);
            }
        }
        public async Task CanDescribeSecureSiteServices(string rootUrl, string username, string password)
        {
            var gateway      = new SecurePortalGateway(rootUrl, username, password);
            var siteResponse = await IntegrationTestFixture.TestPolicy.ExecuteAsync(() =>
            {
                return(gateway.DescribeSite());
            });

            Assert.NotNull(siteResponse);
            Assert.True(siteResponse.Version > 0);

            var response = await IntegrationTestFixture.TestPolicy.ExecuteAsync(() =>
            {
                return(gateway.DescribeServices(siteResponse));
            });

            foreach (var serviceDescription in response)
            {
                Assert.NotNull(serviceDescription);
                Assert.Null(serviceDescription.Error);
                Assert.NotNull(serviceDescription.ServiceDescription);
            }
        }