Ejemplo n.º 1
0
        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");
                });
            }
        }
Ejemplo n.º 2
0
        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");
                });
            }
        }