Beispiel #1
0
        public async Task GetReservation_Success()
        {
            try
            {
                // Arrange
                var now     = DateTime.UtcNow;
                var request = new CreateReservationRequest()
                {
                    DeployType = DeployType.DevelopmentStaging.NumericValue(),
                    ServerType = ServerType.AccountApi.NumericValue(),
                    BranchName = Generator.RandomString(10),
                    UserId     = Generator.RandomString(32),
                    Start      = now.ToApiDate(),
                    End        = now.AddDays(1).ToApiDate(),
                };
                var httpResponse = await Client.PostAsync("/api/reservation", request.ToRequestBody());

                var id = (await httpResponse.Content.ReadAsStringAsync()).DeserializeJson <CreateReservationResponse>().Id;

                // Act
                httpResponse = await Client.GetAsync($"/api/reservation/{id}");

                var stringResponse = await httpResponse.Content.ReadAsStringAsync();

                // Assert
                httpResponse.EnsureSuccessStatusCode();
                var reservation = stringResponse.DeserializeJson <GetReservationResponse>();
                request.ToExpectedObject().ShouldEqual(reservation);
            }
            finally
            {
                await CleanUpReservationsAsync();
            }
        }
Beispiel #2
0
        private async Task <string> CreateReservationAsync(
            DateTime start,
            DeployType deploy,
            ServerType server,
            DateTime?end = null
            )
        {
            var request = new CreateReservationRequest()
            {
                DeployType = deploy.NumericValue(),
                ServerType = server.NumericValue(),
                BranchName = Generator.RandomString(10),
                UserId     = Generator.RandomString(32),
                Start      = start.ToApiDate(),
                End        = (end ?? start.AddDays(1)).ToApiDate(),
            };
            var httpResponse = await Client.PostAsync("/api/reservation", request.ToRequestBody());

            httpResponse.EnsureSuccessStatusCode();

            var responseBody = await httpResponse.Content.ReadAsStringAsync();

            return(JsonConvert.DeserializeObject <CreateReservationResponse>(responseBody).Id);
        }