public async Task GivenNonEmptyDb_ThenExpectCityToBeAdded()
        {
            using (var server = new ApiTestServer())
            {
                //Arrange
                server.CityContext.Add(new City {
                    CityName = "Bristol", Population = 100000, Id = 0
                });
                server.CityContext.SaveChanges();

                var cityToAdd = new City {
                    CityName = "Berlin", Population = 100000
                };
                var stringData = JsonConvert.SerializeObject(cityToAdd);
                var request    = server.CreateRequest("/api/cities")
                                 .And(c => c.Content = new StringContent(
                                          stringData,
                                          Encoding.UTF8,
                                          "application/json"));

                //Act
                var response = await request.PostAsync();

                //Assert
                Assert.True(response.StatusCode == HttpStatusCode.OK);
                Assert.True(server.CityContext.Cities.Count() == 2);
            }
        }
示例#2
0
        private async Task ThenServiceNotExists(string serviceId)
        {
            var httpClient = ApiTestServer.GetHttpClient();
            var response   = await httpClient.GetAsync($"/api/services/{serviceId}");

            Assert.Equal(HttpStatusCode.NotFound, response.StatusCode);
        }
示例#3
0
        private async Task UpdateService(string serviceId)
        {
            var service = new Service
            {
                Id          = _serviceId,
                ServiceType = _serviceType,
                Address     = _serviceAddress,
                HealthCheck = new HealthCheck
                {
                    HealthCheckType = _healthCheckType,
                    Address         = _healthEndpoint,
                    Interval        = _healthInterval,
                    DeregisterCriticalServiceAfter = _deregisterCriticalServiceAfter
                }
            };

            var jsonString  = JsonConvert.SerializeObject(service);
            var httpContent = new StringContent(jsonString, Encoding.UTF8, "application/json");

            var httpClient = ApiTestServer.GetHttpClient();

            _response = await httpClient.PutAsync($"/api/services/{serviceId}", httpContent);

            _responseContent = await _response.Content.ReadAsStringAsync();

            var response = await httpClient.GetAsync($"/api/services/{serviceId}");

            if (response.IsSuccessStatusCode)
            {
                var responseContent = await response.Content.ReadAsStringAsync();

                _responseObject = JObject.Parse(responseContent);
            }
        }
示例#4
0
        private async Task WhenListOfServicesIsDownloaded()
        {
            var httpClient = ApiTestServer.GetHttpClient();

            _response = await httpClient.GetAsync($"/api/services");

            _responseContent = await _response.Content.ReadAsStringAsync();
        }
示例#5
0
        private async Task ThenServiceWasRegistered(string serviceId)
        {
            var httpClient      = ApiTestServer.GetHttpClient();
            var serviceResponse = await httpClient.GetStringAsync($"/api/services/{serviceId}");

            var service = JsonConvert.DeserializeObject <Service>(serviceResponse);

            Assert.NotNull(service);
        }
        public AssetApiTest()
        {
            var server = new ApiTestServer();

            _client = server.CreateClient();

            _jsonOptions = new JsonSerializerOptions
            {
                PropertyNamingPolicy = JsonNamingPolicy.CamelCase,
            };
        }
示例#7
0
        private async Task ThenServiceHealthIs(string healthStatus)
        {
            Thread.Sleep(2000);
            var httpClient          = ApiTestServer.GetHttpClient();
            var httpResponseMessage = await httpClient.GetAsync($"/api/services/{_serviceId}/health/current");

            var response = await httpResponseMessage.Content.ReadAsStringAsync();

            dynamic parsedResponse = JObject.Parse(response);

            Assert.Equal(healthStatus, (string)parsedResponse.healthState);
        }
示例#8
0
        private async Task WhenGetServiceWithId(string serviceId)
        {
            var httpClient = ApiTestServer.GetHttpClient();

            _response = await httpClient.GetAsync($"/api/services/{serviceId}");

            _responseContent = await _response.Content.ReadAsStringAsync();

            if (_response.IsSuccessStatusCode)
            {
                _serviceObject = JObject.Parse(_responseContent);
            }
        }
示例#9
0
        private async Task RegisterService()
        {
            var service = new Service
            {
                Id          = _serviceId,
                ServiceType = _serviceType,
                Address     = _serviceAddress,
                HealthCheck = new HealthCheck
                {
                    HealthCheckType = _healthCheckType
                }
            };

            var jsonString  = JsonConvert.SerializeObject(service);
            var httpContent = new StringContent(jsonString, Encoding.UTF8, "application/json");

            var httpClient = ApiTestServer.GetHttpClient();

            _response = await httpClient.PostAsync("/api/services", httpContent);
        }
        public async Task GivenExistingCityInDb_ThenReturnCollectionWithCityName()
        {
            using (var server = new ApiTestServer())
            {
                //Arrange
                server.CityContext.Add(new City {
                    CityName = "Bristol", Population = 100000, Id = 0
                });
                server.CityContext.SaveChanges();
                var request = server.CreateRequest("/api/cities");

                //Act
                var response = await request.GetAsync();

                var responseContent = await response.Content.ReadAsStringAsync();

                var cityNames = JsonConvert.DeserializeObject <List <string> >(responseContent);

                //Assert
                Assert.True(cityNames.Count == 1);
                Assert.True(response.StatusCode == HttpStatusCode.OK);
            }
        }
示例#11
0
        private async Task WhenServiceIsDeleting(string serviceId)
        {
            var httpClient = ApiTestServer.GetHttpClient();

            _response = await httpClient.DeleteAsync($"/api/services/{serviceId}");
        }
        public AuthApiTest()
        {
            var server = new ApiTestServer();

            _client = server.CreateClient();
        }
示例#13
0
 public MediaEndpointTests(ApiTestServer apiTestServer)
 {
     _apiTestServer = apiTestServer;
 }
示例#14
0
 public Posts_Create()
 {
     _testServer = new ApiTestServer();
     _apiClient  = _testServer.GetApiClient();
 }
 public Posts_GetAllPosts()
 {
     _testServer = new ApiTestServer();
     _apiClient  = _testServer.GetApiClient();
 }
示例#16
0
 public Posts_DeleteById()
 {
     _testServer = new ApiTestServer();
     _apiClient  = _testServer.GetApiClient();
 }