From 74c229d77bdaf27ec70b770b4a63d25f1a9a3440 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Valentin=20Breu=C3=9F?= Date: Thu, 14 Aug 2025 21:16:41 +0200 Subject: [PATCH] docs: avoid duplicate documentation Replace the duplicated documentation in "00-index.md" with "{README}" which will be replaced by the content of README.md with https://github.com/aweXpect/aweXpect/pull/721. --- Docs/pages/00-index.md | 157 +---------------------------------------- 1 file changed, 1 insertion(+), 156 deletions(-) diff --git a/Docs/pages/00-index.md b/Docs/pages/00-index.md index b44d17f..b26ef6a 100644 --- a/Docs/pages/00-index.md +++ b/Docs/pages/00-index.md @@ -2,159 +2,4 @@ Expectations for `HttpClient`. -## `HttpRequestMessage` - -### Method - -You can verify, the method of the `HttpRequestMessage`: - -```csharp -var request = new HttpRequestMessage(HttpMethod.Get, "https://github.com/aweXpect/aweXpect.Web"); - -await Expect.That(request).HasMethod(HttpMethod.Get); -``` - -### Request URI - -You can verify, the request URI of the `HttpRequestMessage`: - -```csharp -var request = new HttpRequestMessage(HttpMethod.Get, "https://github.com/aweXpect/aweXpect.Web"); - -await Expect.That(request).HasRequestUri("https://github.com/aweXpect/aweXpect.Web"); -await Expect.That(request).HasRequestUri(new Uri("https://github.com/aweXpect/aweXpect.Web")); -``` - -### Header - -You can verify the headers of the `HttpRequestMessage`: - -```csharp -HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, "https://github.com/aweXpect/aweXpect.Web"); -// Add headers - -await Expect.That(request).HasHeader("X-GitHub-Request-Id"); -await Expect.That(request).HasHeader("Cache-Control") - .WithValue("must-revalidate, max-age=0, private"); - -await Expect.That(request).DoesNotHaveHeader("X-My-Header"); -``` - -You can also add additional expectations on the header value(s): - -```csharp -HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, "https://github.com/aweXpect/aweXpect.Web"); -// Add headers - -await Expect.That(request).HasHeader("X-GitHub-Request-Id") - .WhoseValue(value => value.IsNotEmpty()); -await Expect.That(request).HasHeader("Vary") - .WhoseValues(values => values.Contains("Turbo-Frame")); -``` - -### Content - -You can verify, the content of the `HttpRequestMessage`: - -```csharp -var request = new HttpRequestMessage(HttpMethod.Post, "https://github.com/aweXpect/aweXpect.Web") -{ - Content = new StringContent("my aweXpect content") -}; - -await Expect.That(request).HasContent("*aweXpect*").AsWildcard(); -``` - -You can use the same configuration options as -when [comparing strings](https://awexpect.com/docs/expectations/string#equality). - -## `HttpResponseMessage` - -### Status - -You can verify the status code of the `HttpResponseMessage`: - -```csharp -HttpResponseMessage response = await httpClient.GetAsync("https://github.com/aweXpect/aweXpect.Web"); -await Expect.That(response).HasStatusCode().Success(); -await Expect.That(response).HasStatusCode(HttpStatusCode.OK); - -response = await httpClient.PostAsync("https://github.com/aweXpect/aweXpect.Web", new StringContent("")); -await Expect.That(response).HasStatusCode().ClientError().Or.HasStatusCode().ServerError().Or.HasStatusCode().Redirection(); -``` - -### Header - -You can verify the headers of the `HttpResponseMessage`: - -```csharp -HttpResponseMessage response = await httpClient.GetAsync("https://github.com/aweXpect/aweXpect.Web"); - -await Expect.That(response).HasHeader("X-GitHub-Request-Id"); -await Expect.That(response).HasHeader("Cache-Control") - .WithValue("must-revalidate, max-age=0, private"); - -await Expect.That(response).DoesNotHaveHeader("X-My-Header"); -``` - -You can also add additional expectations on the header value(s): - -```csharp -HttpResponseMessage response = await httpClient.GetAsync("https://github.com/aweXpect/aweXpect.Web"); - -await Expect.That(response).HasHeader("X-GitHub-Request-Id") - .WhoseValue(value => value.IsNotEmpty()); -await Expect.That(response).HasHeader("Vary") - .WhoseValues(values => values.Contains("Turbo-Frame")); -``` - -### Content - -You can verify, the content of the `HttpResponseMessage`: - -```csharp -HttpResponseMessage response = await httpClient.GetAsync("https://github.com/aweXpect/aweXpect"); - -await Expect.That(response).HasContent("*aweXpect*").AsWildcard(); -``` - -You can use the same configuration options as -when [comparing strings](https://awexpect.com/docs/expectations/string#equality). - -Great care was taken to provide as much information as possible, when a status verification failed. -The response could look similar to: -> ``` -> Expected that response -> has success status code (2xx), -> but it was 404 NotFound -> -> HTTP-Request: -> GET https://github.com/aweXpect/missing-repo HTTP/1.1 -> -> HTTP-Response: -> 404 NotFound HTTP/1.1 -> Server: GitHub.com -> Date: Fri, 29 Nov 2024 07:55:47 GMT -> Cache-Control: no-cache -> Referrer-Policy: origin-when-cross-origin, strict-origin-when-cross-origin -> X-GitHub-Request-Id: DB30:24038B:287F716:29D98BD:67497384 -> Content is binary -> ``` - -#### Problem Details - -You can verify that the content contains a -valid [ProblemDetails](https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.mvc.problemdetails) object: - -```csharp -HttpResponseMessage response = // a call that returns a problem details object - -await Expect.That(response) - .HasProblemDetailsContent("https://httpstatuses.com/404") - .WithTitle("Error: Not Found") - .WithStatus(404) - .WithInstance("93c8f977-7ff7-46ed-900f-7b6264624a31"); -``` - -For all string values you can use the same configuration options as -when [comparing strings](https://awexpect.com/docs/expectations/string#equality). +{README}