aweXpect.Web
0.6.0
Prefix Reserved
dotnet add package aweXpect.Web --version 0.6.0
NuGet\Install-Package aweXpect.Web -Version 0.6.0
<PackageReference Include="aweXpect.Web" Version="0.6.0" />
paket add aweXpect.Web --version 0.6.0
#r "nuget: aweXpect.Web, 0.6.0"
// Install aweXpect.Web as a Cake Addin #addin nuget:?package=aweXpect.Web&version=0.6.0 // Install aweXpect.Web as a Cake Tool #tool nuget:?package=aweXpect.Web&version=0.6.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/aweXpect/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/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
:
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):
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
:
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.
HttpResponseMessage
Status
You can verify the status code of the HttpResponseMessage
:
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
:
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):
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
:
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.
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 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. |
.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 (>= 1.6.0)
- System.Text.Json (>= 9.0.2)
-
net8.0
- aweXpect.Core (>= 1.6.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.