aweXpect.Web
1.7.0
Prefix Reserved
dotnet add package aweXpect.Web --version 1.7.0
NuGet\Install-Package aweXpect.Web -Version 1.7.0
<PackageReference Include="aweXpect.Web" Version="1.7.0" />
<PackageVersion Include="aweXpect.Web" Version="1.7.0" />
<PackageReference Include="aweXpect.Web" />
paket add aweXpect.Web --version 1.7.0
#r "nuget: aweXpect.Web, 1.7.0"
#:package aweXpect.Web@1.7.0
#addin nuget:?package=aweXpect.Web&version=1.7.0
#tool nuget:?package=aweXpect.Web&version=1.7.0
aweXpect.Web
Web extensions for aweXpect.
HttpRequestMessage
Method
You can verify, the method of the HttpRequestMessage:
var request = new HttpRequestMessage(HttpMethod.Get, "https://github.com/Testably/aweXpect.Web");
await Expect.That(request).HasMethod(HttpMethod.Get);
Request URI
You can verify, the request URI of the HttpRequestMessage:
var request = new HttpRequestMessage(HttpMethod.Get, "https://github.com/Testably/aweXpect.Web");
await Expect.That(request).HasRequestUri("https://github.com/Testably/aweXpect.Web");
await Expect.That(request).HasRequestUri(new Uri("https://github.com/Testably/aweXpect.Web"));
Header
You can verify the headers of the HttpRequestMessage:
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, "https://github.com/Testably/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):
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, "https://github.com/Testably/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:
var request = new HttpRequestMessage(HttpMethod.Post, "https://github.com/Testably/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.
HttpResponseMessage
Status
You can verify the status code of the HttpResponseMessage:
HttpResponseMessage response = await httpClient.GetAsync("https://github.com/Testably/aweXpect.Web");
await Expect.That(response).HasStatusCode().Success();
await Expect.That(response).HasStatusCode(HttpStatusCode.OK);
response = await httpClient.PostAsync("https://github.com/Testably/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:
HttpResponseMessage response = await httpClient.GetAsync("https://github.com/Testably/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):
HttpResponseMessage response = await httpClient.GetAsync("https://github.com/Testably/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:
HttpResponseMessage response = await httpClient.GetAsync("https://github.com/Testably/aweXpect");
await Expect.That(response).HasContent("*aweXpect*").AsWildcard();
You can use the same configuration options as when comparing strings.
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/Testably/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 object:
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.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- aweXpect.Core (>= 2.29.0)
- System.Text.Json (>= 9.0.2)
-
net10.0
- aweXpect.Core (>= 2.29.0)
-
net8.0
- aweXpect.Core (>= 2.29.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.7.0 | 87 | 5/10/2026 |
| 1.6.0 | 210 | 10/19/2025 |
| 1.4.0 | 214 | 9/10/2025 |
| 1.3.0 | 217 | 6/30/2025 |
| 1.2.0 | 141 | 5/10/2025 |
| 1.1.0 | 229 | 4/1/2025 |
| 1.0.0 | 202 | 3/19/2025 |
| 1.0.0-pre.1 | 104 | 3/15/2025 |
| 0.6.0 | 171 | 3/1/2025 |
| 0.5.0 | 172 | 2/28/2025 |
| 0.4.0 | 176 | 2/23/2025 |
| 0.3.0 | 195 | 2/21/2025 |
| 0.2.0 | 192 | 2/16/2025 |
| 0.1.0 | 175 | 2/15/2025 |