diff --git a/CHANGELOG.md b/CHANGELOG.md
index 64f09e9..86e948d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,8 @@ All notable changes to TestableHttpClient will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and
this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+## [0.12] - unplanned
+
## [0.11] - 2024-06-15
### Removed
- .NET 7.0 target, since it is no longer supported
@@ -284,6 +286,7 @@ this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
- Automatically build project when pushing changes to github and when creating a pull request
- Automatically deploy to NuGet when creating a tag in github
+[0.12]: https://github.com/testablehttpclient/TestableHttpClient/compare/v0.11...v0.12
[0.11]: https://github.com/testablehttpclient/TestableHttpClient/compare/v0.10...v0.11
[0.10]: https://github.com/testablehttpclient/TestableHttpClient/compare/v0.9...v0.10
[0.9]: https://github.com/testablehttpclient/TestableHttpClient/compare/v0.8...v0.9
diff --git a/src/TestableHttpClient/HttpRequestMessagesCheckExtensions.cs b/src/TestableHttpClient/HttpRequestMessagesCheckExtensions.cs
index 810f0dc..72a8f86 100644
--- a/src/TestableHttpClient/HttpRequestMessagesCheckExtensions.cs
+++ b/src/TestableHttpClient/HttpRequestMessagesCheckExtensions.cs
@@ -10,9 +10,6 @@ public static class HttpRequestMessagesCheckExtensions
/// The for further assertions.
public static IHttpRequestMessagesCheck WithRequestUri(this IHttpRequestMessagesCheck check, string pattern) => WithRequestUri(check, pattern, null);
- [Obsolete("Please use an overload without the 'ignoreCase', since ignoring casing is now controlled globally.", true)]
- public static IHttpRequestMessagesCheck WithRequestUri(this IHttpRequestMessagesCheck check, string pattern, bool ignoreCase) => WithRequestUri(check, pattern, ignoreCase, null);
-
///
/// Asserts whether requests were made to a given URI based on a pattern.
///
@@ -22,9 +19,6 @@ public static class HttpRequestMessagesCheckExtensions
/// The for further assertions.
public static IHttpRequestMessagesCheck WithRequestUri(this IHttpRequestMessagesCheck check, string pattern, int expectedNumberOfRequests) => WithRequestUri(check, pattern, (int?)expectedNumberOfRequests);
- [Obsolete("Please use an overload without the 'ignoreCase', since ignoring casing is now controlled globally.", true)]
- public static IHttpRequestMessagesCheck WithRequestUri(this IHttpRequestMessagesCheck check, string pattern, bool ignoreCase, int expectedNumberOfRequests) => WithRequestUri(check, pattern, ignoreCase, (int?)expectedNumberOfRequests);
-
private static IHttpRequestMessagesCheck WithRequestUri(this IHttpRequestMessagesCheck check, string pattern, int? expectedNumberOfRequests)
{
Guard.ThrowIfNull(check);
@@ -41,31 +35,6 @@ private static IHttpRequestMessagesCheck WithRequestUri(this IHttpRequestMessage
return check.WithFilter(x => x.RequestUri is not null && uriPattern.Matches(x.RequestUri, check.Options.UriPatternMatchingOptions), expectedNumberOfRequests, condition);
}
- [Obsolete("Please use an overload without the 'ignoreCase', since ignoring casing is now controlled globally.", true)]
- private static IHttpRequestMessagesCheck WithRequestUri(this IHttpRequestMessagesCheck check, string pattern, bool ignoreCase, int? expectedNumberOfRequests) => check;
-
- ///
- /// Asserts whether requests were made with a given querystring based on a pattern. For asserting the decoded version of the querystring is used.
- ///
- /// The implementation that hold all the request messages.
- /// The querystring pattern that is expected.
- /// The for further assertions.
- [Obsolete("Use WithRequestUri instead, since it now properly supports QueryStrings as well", true)]
- public static IHttpRequestMessagesCheck WithQueryString(this IHttpRequestMessagesCheck check, string pattern) => WithQueryString(check, pattern, null);
-
- ///
- /// Asserts whether requests were made with a given querystring based on a pattern. For asserting the decoded version of the querystring is used.
- ///
- /// The implementation that hold all the request messages.
- /// The querystring pattern that is expected.
- /// The expected number of requests.
- /// The for further assertions.
- [Obsolete("Use WithRequestUri instead, since it now properly supports QueryStrings as well", true)]
- public static IHttpRequestMessagesCheck WithQueryString(this IHttpRequestMessagesCheck check, string pattern, int expectedNumberOfRequests) => WithQueryString(check, pattern, (int?)expectedNumberOfRequests);
-
- [Obsolete("Use WithRequestUri instead, since it now properly supports QueryStrings as well", true)]
- private static IHttpRequestMessagesCheck WithQueryString(this IHttpRequestMessagesCheck check, string pattern, int? expectedNumberOfRequests) => check;
-
///
/// Asserts whether requests were made with a given HTTP Method.
///
diff --git a/src/TestableHttpClient/PublicAPI.Shipped.txt b/src/TestableHttpClient/PublicAPI.Shipped.txt
index 21a5b94..0897b89 100644
--- a/src/TestableHttpClient/PublicAPI.Shipped.txt
+++ b/src/TestableHttpClient/PublicAPI.Shipped.txt
@@ -10,18 +10,8 @@ override TestableHttpClient.TestableHttpMessageHandler.SendAsync(System.Net.Http
TestableHttpClient.TestableHttpMessageHandlerOptions
TestableHttpClient.TestableHttpMessageHandlerOptions.JsonSerializerOptions.get -> System.Text.Json.JsonSerializerOptions!
TestableHttpClient.TestableHttpMessageHandlerOptions.TestableHttpMessageHandlerOptions() -> void
-TestableHttpClient.TestableHttpMessageHandlerOptions.RoutingOptions.get -> TestableHttpClient.RoutingOptions!
TestableHttpClient.TestableHttpMessageHandlerOptions.UriPatternMatchingOptions.get -> TestableHttpClient.UriPatternMatchingOptions!
-TestableHttpClient.RoutingOptions
-TestableHttpClient.RoutingOptions.HostCaseInsensitive.get -> bool
-TestableHttpClient.RoutingOptions.HostCaseInsensitive.set -> void
-TestableHttpClient.RoutingOptions.PathCaseInsensitive.get -> bool
-TestableHttpClient.RoutingOptions.PathCaseInsensitive.set -> void
-TestableHttpClient.RoutingOptions.RoutingOptions() -> void
-TestableHttpClient.RoutingOptions.SchemeCaseInsensitive.get -> bool
-TestableHttpClient.RoutingOptions.SchemeCaseInsensitive.set -> void
-
TestableHttpClient.UriPatternMatchingOptions
TestableHttpClient.UriPatternMatchingOptions.DefaultQueryFormat.get -> System.UriFormat
TestableHttpClient.UriPatternMatchingOptions.DefaultQueryFormat.set -> void
@@ -71,8 +61,6 @@ TestableHttpClient.TestableHttpMessageHandlerAssertionExtensions
static TestableHttpClient.TestableHttpMessageHandlerAssertionExtensions.ShouldHaveMadeRequests(this TestableHttpClient.TestableHttpMessageHandler! handler) -> TestableHttpClient.IHttpRequestMessagesCheck!
static TestableHttpClient.TestableHttpMessageHandlerAssertionExtensions.ShouldHaveMadeRequests(this TestableHttpClient.TestableHttpMessageHandler! handler, int expectedNumberOfRequests) -> TestableHttpClient.IHttpRequestMessagesCheck!
static TestableHttpClient.TestableHttpMessageHandlerAssertionExtensions.ShouldHaveMadeRequestsTo(this TestableHttpClient.TestableHttpMessageHandler! handler, string! pattern) -> TestableHttpClient.IHttpRequestMessagesCheck!
-static TestableHttpClient.TestableHttpMessageHandlerAssertionExtensions.ShouldHaveMadeRequestsTo(this TestableHttpClient.TestableHttpMessageHandler! handler, string! pattern, bool ignoreCase) -> TestableHttpClient.IHttpRequestMessagesCheck!
-static TestableHttpClient.TestableHttpMessageHandlerAssertionExtensions.ShouldHaveMadeRequestsTo(this TestableHttpClient.TestableHttpMessageHandler! handler, string! pattern, bool ignoreCase, int expectedNumberOfRequests) -> TestableHttpClient.IHttpRequestMessagesCheck!
static TestableHttpClient.TestableHttpMessageHandlerAssertionExtensions.ShouldHaveMadeRequestsTo(this TestableHttpClient.TestableHttpMessageHandler! handler, string! pattern, int expectedNumberOfRequests) -> TestableHttpClient.IHttpRequestMessagesCheck!
TestableHttpClient.IHttpRequestMessagesCheck
@@ -107,15 +95,11 @@ static TestableHttpClient.HttpRequestMessagesCheckExtensions.WithJsonContent(thi
static TestableHttpClient.HttpRequestMessagesCheckExtensions.WithJsonContent(this TestableHttpClient.IHttpRequestMessagesCheck! check, object? jsonObject, int expectedNumberOfRequests) -> TestableHttpClient.IHttpRequestMessagesCheck!
static TestableHttpClient.HttpRequestMessagesCheckExtensions.WithJsonContent(this TestableHttpClient.IHttpRequestMessagesCheck! check, object? jsonObject, System.Text.Json.JsonSerializerOptions! jsonSerializerOptions) -> TestableHttpClient.IHttpRequestMessagesCheck!
static TestableHttpClient.HttpRequestMessagesCheckExtensions.WithJsonContent(this TestableHttpClient.IHttpRequestMessagesCheck! check, object? jsonObject, System.Text.Json.JsonSerializerOptions! jsonSerializerOptions, int expectedNumberOfRequests) -> TestableHttpClient.IHttpRequestMessagesCheck!
-static TestableHttpClient.HttpRequestMessagesCheckExtensions.WithQueryString(this TestableHttpClient.IHttpRequestMessagesCheck! check, string! pattern) -> TestableHttpClient.IHttpRequestMessagesCheck!
-static TestableHttpClient.HttpRequestMessagesCheckExtensions.WithQueryString(this TestableHttpClient.IHttpRequestMessagesCheck! check, string! pattern, int expectedNumberOfRequests) -> TestableHttpClient.IHttpRequestMessagesCheck!
static TestableHttpClient.HttpRequestMessagesCheckExtensions.WithRequestHeader(this TestableHttpClient.IHttpRequestMessagesCheck! check, string! headerName) -> TestableHttpClient.IHttpRequestMessagesCheck!
static TestableHttpClient.HttpRequestMessagesCheckExtensions.WithRequestHeader(this TestableHttpClient.IHttpRequestMessagesCheck! check, string! headerName, int expectedNumberOfRequests) -> TestableHttpClient.IHttpRequestMessagesCheck!
static TestableHttpClient.HttpRequestMessagesCheckExtensions.WithRequestHeader(this TestableHttpClient.IHttpRequestMessagesCheck! check, string! headerName, string! headerValue) -> TestableHttpClient.IHttpRequestMessagesCheck!
static TestableHttpClient.HttpRequestMessagesCheckExtensions.WithRequestHeader(this TestableHttpClient.IHttpRequestMessagesCheck! check, string! headerName, string! headerValue, int expectedNumberOfRequests) -> TestableHttpClient.IHttpRequestMessagesCheck!
static TestableHttpClient.HttpRequestMessagesCheckExtensions.WithRequestUri(this TestableHttpClient.IHttpRequestMessagesCheck! check, string! pattern) -> TestableHttpClient.IHttpRequestMessagesCheck!
-static TestableHttpClient.HttpRequestMessagesCheckExtensions.WithRequestUri(this TestableHttpClient.IHttpRequestMessagesCheck! check, string! pattern, bool ignoreCase) -> TestableHttpClient.IHttpRequestMessagesCheck!
-static TestableHttpClient.HttpRequestMessagesCheckExtensions.WithRequestUri(this TestableHttpClient.IHttpRequestMessagesCheck! check, string! pattern, bool ignoreCase, int expectedNumberOfRequests) -> TestableHttpClient.IHttpRequestMessagesCheck!
static TestableHttpClient.HttpRequestMessagesCheckExtensions.WithRequestUri(this TestableHttpClient.IHttpRequestMessagesCheck! check, string! pattern, int expectedNumberOfRequests) -> TestableHttpClient.IHttpRequestMessagesCheck!
TestableHttpClient.Utils.UriPatternParserException
diff --git a/src/TestableHttpClient/RoutingOptions.cs b/src/TestableHttpClient/RoutingOptions.cs
deleted file mode 100644
index a2d85c9..0000000
--- a/src/TestableHttpClient/RoutingOptions.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-namespace TestableHttpClient;
-
-///
-/// Options specific for routing.
-///
-[Obsolete("Renamed to UriPatternMatchingOptions", true)]
-public class RoutingOptions
-{
- ///
- /// Indicates whether or not the scheme of an URI should be treated as case insensitive. Default: true
- ///
- public bool SchemeCaseInsensitive { get; set; } = true;
- ///
- /// Indicates whether or not the host of an URI should be treated as case insensitive. Default: true
- ///
- public bool HostCaseInsensitive { get; set; } = true;
- ///
- /// Indicates whether or not the path of an URI should be treated as case insensitive. Default: true
- ///
- public bool PathCaseInsensitive { get; set; } = true;
-}
diff --git a/src/TestableHttpClient/TestableHttpMessageHandlerAssertionExtensions.cs b/src/TestableHttpClient/TestableHttpMessageHandlerAssertionExtensions.cs
index 0c79397..7c0dfaa 100644
--- a/src/TestableHttpClient/TestableHttpMessageHandlerAssertionExtensions.cs
+++ b/src/TestableHttpClient/TestableHttpMessageHandlerAssertionExtensions.cs
@@ -50,25 +50,6 @@ public static IHttpRequestMessagesCheck ShouldHaveMadeRequestsTo(this TestableHt
return new HttpRequestMessageAsserter(handler.Requests, handler.Options).WithRequestUri(pattern);
}
- ///
- /// Validates that requests to a specific uri have been made, throws an exception when no requests were made.
- ///
- /// The that should be asserted.
- /// The uri pattern to validate against, the pattern supports *.
- /// The uri validation should ignore cases.
- /// An that can be used for additional assertions.
- /// handler is `null` or pattern is `null`
- /// When no requests are made
- [AssertionMethod]
- [Obsolete("Please use an overload without the 'ignoreCase', since ignoring casing is now controlled globally.")]
- public static IHttpRequestMessagesCheck ShouldHaveMadeRequestsTo(this TestableHttpMessageHandler handler, string pattern, bool ignoreCase)
- {
- Guard.ThrowIfNull(handler);
- Guard.ThrowIfNull(pattern);
-
- return new HttpRequestMessageAsserter(handler.Requests, handler.Options).WithRequestUri(pattern, ignoreCase);
- }
-
///
/// Validates that requests to a specific uri have been made, throws an exception when no requests were made.
///
@@ -86,23 +67,4 @@ public static IHttpRequestMessagesCheck ShouldHaveMadeRequestsTo(this TestableHt
return new HttpRequestMessageAsserter(handler.Requests, handler.Options).WithRequestUri(pattern, expectedNumberOfRequests);
}
-
- ///
- /// Validates that requests to a specific uri have been made, throws an exception when no requests were made.
- ///
- /// The that should be asserted.
- /// The uri pattern to validate against, the pattern supports *.
- /// The expected number of requests.
- /// An that can be used for additional assertions.
- /// handler is `null` or pattern is `null`
- /// When no requests are made
- [AssertionMethod]
- [Obsolete("Please use an overload without the 'ignoreCase', since ignoring casing is now controlled globally.")]
- public static IHttpRequestMessagesCheck ShouldHaveMadeRequestsTo(this TestableHttpMessageHandler handler, string pattern, bool ignoreCase, int expectedNumberOfRequests)
- {
- Guard.ThrowIfNull(handler);
- Guard.ThrowIfNull(pattern);
-
- return new HttpRequestMessageAsserter(handler.Requests, handler.Options).WithRequestUri(pattern, ignoreCase, expectedNumberOfRequests);
- }
}
diff --git a/src/TestableHttpClient/TestableHttpMessageHandlerOptions.cs b/src/TestableHttpClient/TestableHttpMessageHandlerOptions.cs
index d592f11..723f427 100644
--- a/src/TestableHttpClient/TestableHttpMessageHandlerOptions.cs
+++ b/src/TestableHttpClient/TestableHttpMessageHandlerOptions.cs
@@ -10,8 +10,5 @@ public sealed class TestableHttpMessageHandlerOptions
PropertyNamingPolicy = JsonNamingPolicy.CamelCase
};
- [ExcludeFromCodeCoverage]
- [Obsolete("Renamed to UriPatternMatchingOptions", true)]
- public RoutingOptions RoutingOptions => new();
public UriPatternMatchingOptions UriPatternMatchingOptions { get; } = new UriPatternMatchingOptions();
}
diff --git a/test/TestableHttpClient.Tests/HttpRequestMessagesCheckExtensionsTests/WithQueryString.cs b/test/TestableHttpClient.Tests/HttpRequestMessagesCheckExtensionsTests/WithQueryString.cs
deleted file mode 100644
index 6e9aceb..0000000
--- a/test/TestableHttpClient.Tests/HttpRequestMessagesCheckExtensionsTests/WithQueryString.cs
+++ /dev/null
@@ -1,47 +0,0 @@
-using NSubstitute;
-
-namespace TestableHttpClient.Tests.HttpRequestMessagesCheckExtensionsTests;
-
-[Obsolete("Use WithRequestUri instead, since it now properly supports QueryStrings as well", true)]
-public class WithQueryString
-{
- [Fact]
- public void WithQueryString_WithoutNumberOfRequests_NullCheck_ReturnsNull()
- {
- IHttpRequestMessagesCheck sut = null!;
-
- IHttpRequestMessagesCheck result = sut.WithQueryString("*");
-
- Assert.Same(sut, result);
- }
-
- [Fact]
- public void WithQueryString_WithNumberOfRequests_NullCheck_ReturnsNull()
- {
- IHttpRequestMessagesCheck sut = null!;
-
- IHttpRequestMessagesCheck result = sut.WithQueryString("*", 1);
-
- Assert.Same(sut, result);
- }
-
- [Fact]
- public void WithQueryString_WithoutNumberOfRequests_ReturnsSut()
- {
- IHttpRequestMessagesCheck sut = Substitute.For();
-
- IHttpRequestMessagesCheck result = sut.WithQueryString("");
-
- Assert.Same(sut, result);
- }
-
- [Fact]
- public void WithQueryString_WithNumberOfRequests_ReturnsSut()
- {
- IHttpRequestMessagesCheck sut = Substitute.For();
-
- IHttpRequestMessagesCheck result = sut.WithQueryString("", 2);
-
- Assert.Same(sut, result);
- }
-}
diff --git a/test/TestableHttpClient.Tests/HttpRequestMessagesCheckExtensionsTests/WithRequestUri.cs b/test/TestableHttpClient.Tests/HttpRequestMessagesCheckExtensionsTests/WithRequestUri.cs
index 7c1f5d6..cb88841 100644
--- a/test/TestableHttpClient.Tests/HttpRequestMessagesCheckExtensionsTests/WithRequestUri.cs
+++ b/test/TestableHttpClient.Tests/HttpRequestMessagesCheckExtensionsTests/WithRequestUri.cs
@@ -55,26 +55,4 @@ public void WithRequestUri_WithoutNumberOfRequests_CallsWithCorrectly()
sut.Received(1).WithFilter(Args.AnyPredicate(), null, "uri pattern 'https://example.com/'");
}
-
- [Fact]
- [Obsolete("Please use an overload without the 'ignoreCase', since ignoring casing is now controlled globally.", true)]
- public void WithRequestUri_WithoutNumberOfRequestsAndNotIgnoringCase_CallsWithCorrectly()
- {
- IHttpRequestMessagesCheck sut = Substitute.For();
-
- var result = sut.WithRequestUri("https://example.com/", ignoreCase: false);
-
- Assert.Same(sut, result);
- }
-
- [Fact]
- [Obsolete("Please use an overload without the 'ignoreCase', since ignoring casing is now controlled globally.", true)]
- public void WithRequestUri_WithNumberOfRequestsAndNotIgnoringCase_CallsWithCorrectly()
- {
- IHttpRequestMessagesCheck sut = Substitute.For();
-
- var result = sut.WithRequestUri("https://example.com/", ignoreCase: false, 2);
-
- Assert.Same(sut, result);
- }
}
diff --git a/version.json b/version.json
index 1d6a246..6aa64e2 100644
--- a/version.json
+++ b/version.json
@@ -1,6 +1,6 @@
{
"$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json",
- "version": "0.11",
+ "version": "0.12-alpha",
"versionHeightOffset": -1,
"publicReleaseRefSpec": [
"^refs/tags/v\\d+(?:\\.\\d+)?$"