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(); } }
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); }