public async Task VerifyHeadersForAlbumsEndpoint() { for (int i = 0; i < repetitions; i++) { Console.WriteLine($"Test will run {repetitions} time(s)"); //Arrange //Act var apiAlbumsResponse = await _albumApi.GetAllAlbumsCollection(); Console.WriteLine($"Request execution time {apiAlbumsResponse.ElapsedMiliseconds} ms"); //Assert Assert.Multiple(() => { apiAlbumsResponse.StatusCode.Should().Be(HttpStatusCode.OK); apiAlbumsResponse.ContentType.Should().Be("application/json; charset=utf-8"); apiAlbumsResponse.ContentEncoding.Should().BeNull(); apiAlbumsResponse.Headers.Should().NotBeNull(); HeadersHelper.HeadersList(apiAlbumsResponse, "Set-Cookie").Value.Should().NotBeNull(); HeadersHelper.HeadersList(apiAlbumsResponse, "CF-RAY").Value.Should().NotBeNull(); HeadersHelper.HeadersList(apiAlbumsResponse, "cf-request-id").Value.Should().NotBeNull(); HeadersHelper.HeadersList(apiAlbumsResponse, "NEL").Value.Should().Be("{\"report_to\":\"cf-nel\",\"max_age\":604800}"); HeadersHelper.HeadersList(apiAlbumsResponse, "Report-To").Value.Should().NotBeNull(); HeadersHelper.HeadersList(apiAlbumsResponse, "CF-Cache-Status").Value.Should().Be("HIT"); HeadersHelper.HeadersList(apiAlbumsResponse, "Via").Value.Should().Be("1.1 vegur"); HeadersHelper.HeadersList(apiAlbumsResponse, "Etag").Value.Should().NotBeNull(); HeadersHelper.HeadersList(apiAlbumsResponse, "X-Content-Type-Options").Value.Should().Be("nosniff"); HeadersHelper.HeadersList(apiAlbumsResponse, "Expires").Value.Should().Be("-1"); HeadersHelper.HeadersList(apiAlbumsResponse, "Pragma").Value.Should().Be("no-cache"); HeadersHelper.HeadersList(apiAlbumsResponse, "Cache-Control").Value.Should().Be("max-age=43200"); HeadersHelper.HeadersList(apiAlbumsResponse, "Access-Control-Allow-Credentials").Value.Should().Be("true"); HeadersHelper.HeadersList(apiAlbumsResponse, "Vary").Value.Should().Be("Origin, Accept-Encoding"); HeadersHelper.HeadersList(apiAlbumsResponse, "Connection").Value.Should().Be("keep-alive"); }); } }
public async Task VerifyCreatePostResponseHeaders() { for (int i = 0; i < repetitions; i++) { Console.WriteLine($"Test will run {repetitions} time(s)"); //Arrange //Act var createPostResponse = await _postsApi.CreatePost(post); Console.WriteLine($"Request execution time {createPostResponse.ElapsedMiliseconds} ms"); var responseBody = createPostResponse.Data; //Assert Assert.Multiple(() => { createPostResponse.ContentType.Should().Be("application/json; charset=utf-8"); createPostResponse.ContentEncoding.Should().BeNull(); createPostResponse.Headers.Should().NotBeNull(); HeadersHelper.HeadersList(createPostResponse, "CF-RAY").Value.Should().NotBeNull(); HeadersHelper.HeadersList(createPostResponse, "Set-Cookie").Value.Should().NotBeNull(); HeadersHelper.HeadersList(createPostResponse, "cf-request-id").Value.Should().NotBeNull(); HeadersHelper.HeadersList(createPostResponse, "NEL").Value.Should().Be("{\"report_to\":\"cf-nel\",\"max_age\":604800}"); HeadersHelper.HeadersList(createPostResponse, "Report-To").Value.Should().NotBeNull(); HeadersHelper.HeadersList(createPostResponse, "CF-Cache-Status").Value.Should().Be("DYNAMIC"); HeadersHelper.HeadersList(createPostResponse, "Via").Value.Should().Be("1.1 vegur"); HeadersHelper.HeadersList(createPostResponse, "Etag").Value.Should().NotBeNull(); HeadersHelper.HeadersList(createPostResponse, "X-Content-Type-Options").Value.Should().Be("nosniff"); HeadersHelper.HeadersList(createPostResponse, "Location").Value.Should().NotBeNull(); HeadersHelper.HeadersList(createPostResponse, "Access-Control-Expose-Headers").Value.Should().NotBeNull(); HeadersHelper.HeadersList(createPostResponse, "Expires").Value.Should().Be("-1"); HeadersHelper.HeadersList(createPostResponse, "Pragma").Value.Should().Be("no-cache"); HeadersHelper.HeadersList(createPostResponse, "Cache-Control").Value.Should().Be("no-cache"); HeadersHelper.HeadersList(createPostResponse, "Access-Control-Allow-Credentials").Value.Should().Be("true"); HeadersHelper.HeadersList(createPostResponse, "Vary").Value.Should().Be("Origin, X-HTTP-Method-Override, Accept-Encoding"); HeadersHelper.HeadersList(createPostResponse, "Connection").Value.Should().Be("keep-alive"); }); } }