public async Task Invoke_AgainstUnknownEndpointWithTextHeaderNotTriggeringRequestBeingLogged_MustFail() { // Arrange using HttpClient httpClient = await testWebApplicationFactory.CreateClientWithJwtAsync().ConfigureAwait(false); var httpRequestMessage = new HttpRequestMessage(HttpMethod.Get, "qwerty/123456"); httpRequestMessage.Headers.Accept.Add(MediaTypeWithQualityHeaderValue.Parse("qwerty/123456")); // Act HttpResponseMessage httpResponseMessage = await httpClient.SendAsync(httpRequestMessage).ConfigureAwait(false); // Assert httpResponseMessage.IsSuccessStatusCode.Should().BeFalse(); }
public async Task CreateAsync_UsingValidTodoItem_ReturnsExpectedId() { // Arrange using HttpClient httpClient = await webApplicationFactory.CreateClientWithJwtAsync(); long?id = null; try { var newTodoItemModel = new NewTodoItemModel { Name = $"it--{nameof(CreateAsync_UsingValidTodoItem_ReturnsExpectedId)}--{Guid.NewGuid():N}", IsComplete = DateTime.UtcNow.Ticks % 2 == 0 }; // Act HttpResponseMessage response = await httpClient.PostAsJsonAsync(BaseUrl, newTodoItemModel); // Assert using (new AssertionScope()) { response.IsSuccessStatusCode.Should().BeTrue(BecauseAnEntityHasBeenCreated); response.StatusCode.Should().Be(HttpStatusCode.Created, BecauseAnEntityHasBeenCreated); id = await response.Content.ReadAsAsync <long>(); id.Should().BeGreaterOrEqualTo(1, BecauseAnEntityHasBeenCreated); } } finally { if (id.HasValue) { HttpResponseMessage response = await httpClient.DeleteAsync($"{BaseUrl}/{id}"); response.IsSuccessStatusCode.Should().BeTrue(BecauseCleanupMustSucceed); } } }
public async Task CreateAsync_UsingValidTodoItem_ReturnsTheSameInstance() { // Arrange using HttpClient httpClient = await testWebApplicationFactory.CreateClientWithJwtAsync().ConfigureAwait(false); long?id = null; try { var newTodoItemModel = new NewTodoItemModel { Name = $"it--{nameof(CreateAsync_UsingValidTodoItem_ReturnsTheSameInstance)}--{Guid.NewGuid():N}", IsComplete = DateTime.UtcNow.Ticks % 2 == 0 }; // Act HttpResponseMessage response = await httpClient.PostAsJsonAsync(BaseUrl, newTodoItemModel).ConfigureAwait(false); // Assert response.IsSuccessStatusCode.Should().BeTrue(); response.StatusCode.Should().Be(HttpStatusCode.Created); id = await response.Content.ReadAsAsync <long>().ConfigureAwait(false); id.Should().BeGreaterOrEqualTo(1); } finally { if (id.HasValue) { HttpResponseMessage response = await httpClient.DeleteAsync($"{BaseUrl}/{id}").ConfigureAwait(false); response.IsSuccessStatusCode.Should().BeTrue("cleanup must succeed"); } } }