示例#1
0
        // [Fact]
        public async Task CanStopAndStartService()
        {
            var gateway = new SecurePortalGateway("", "", "");
            var folder  = ""; // set this to only get a specific folder
            var site    = await gateway.SiteReport(folder);

            Assert.NotNull(site);
            var services = site.ServiceReports.Where(s => s.Type == "MapServer");

            Assert.NotNull(services);
            Assert.True(services.Any());
            foreach (var service in services)
            {
                var sd = service.AsServiceDescription();
                if (string.Equals("STARTED", service.Status.Actual, StringComparison.OrdinalIgnoreCase))
                {
                    var stoppedResult = await gateway.StopService(sd);

                    Assert.NotNull(stoppedResult);
                    Assert.Null(stoppedResult.Error);
                    Assert.Equal("success", stoppedResult.Status);

                    var startedResult = await gateway.StartService(sd);

                    Assert.NotNull(startedResult);
                    Assert.Null(startedResult.Error);
                    Assert.Equal("success", startedResult.Status);
                }
                else
                {
                    var startedResult = await gateway.StartService(sd);

                    Assert.NotNull(startedResult);
                    Assert.Null(startedResult.Error);
                    Assert.Equal("success", startedResult.Status);

                    var stoppedResult = await gateway.StopService(sd);

                    Assert.NotNull(stoppedResult);
                    Assert.Null(stoppedResult.Error);
                    Assert.Equal("success", stoppedResult.Status);
                }
            }
        }
        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);
            }
        }