Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
91 changes: 91 additions & 0 deletions Source/Mockolate/Web/HttpClientExtensions.ReturnsAsync.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
using System.Net;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using Mockolate.Setup;

namespace Mockolate.Web;

public static partial class HttpClientExtensions
{
/// <inheritdoc cref="HttpClientExtensions" />
extension(IReturnMethodSetup<Task<HttpResponseMessage>, HttpRequestMessage, CancellationToken> setup)
{
/// <summary>
/// Asynchronously returns a <see cref="HttpResponseMessage" /> with the given <paramref name="statusCode" />.
/// </summary>
public IReturnMethodSetupReturnBuilder<Task<HttpResponseMessage>, HttpRequestMessage, CancellationToken>
ReturnsAsync(HttpStatusCode statusCode)
=> setup.ReturnsAsync(new HttpResponseMessage(statusCode));

/// <summary>
/// Asynchronously returns a <see cref="HttpResponseMessage" /> with the given <paramref name="statusCode" />
/// and <see langword="string" /> <paramref name="content" />.
/// </summary>
/// <remarks>
/// Uses default encoding (UTF-8) and default media type ("text/plain") for the content.<br />
/// If you need a different encoding, use the overload that takes an <see cref="HttpContent" />.<br />
/// If you need a different media type, use the overload that takes an explicit media type.
/// </remarks>
public IReturnMethodSetupReturnBuilder<Task<HttpResponseMessage>, HttpRequestMessage, CancellationToken>
ReturnsAsync(HttpStatusCode statusCode, string content)
=> setup.ReturnsAsync(new HttpResponseMessage(statusCode)
{
Content = new StringContent(content),
});

/// <summary>
/// Asynchronously returns a <see cref="HttpResponseMessage" /> with the given <paramref name="statusCode" />,
/// <see langword="string" /> <paramref name="content" /> and <paramref name="mediaType" />.
/// </summary>
/// <remarks>
/// Uses default encoding (UTF-8) for the content.<br />
/// If you need a different encoding, use the overload that takes an <see cref="HttpContent" />.
/// </remarks>
public IReturnMethodSetupReturnBuilder<Task<HttpResponseMessage>, HttpRequestMessage, CancellationToken>
ReturnsAsync(HttpStatusCode statusCode, string content, string mediaType)
=> setup.ReturnsAsync(new HttpResponseMessage(statusCode)
{
Content = new StringContent(content, Encoding.UTF8, mediaType),
});

/// <summary>
/// Asynchronously returns a <see cref="HttpResponseMessage" /> with the given <paramref name="statusCode" />
/// and <paramref name="bytes" />.
/// </summary>
public IReturnMethodSetupReturnBuilder<Task<HttpResponseMessage>, HttpRequestMessage, CancellationToken>
ReturnsAsync(HttpStatusCode statusCode, byte[] bytes)
=> setup.ReturnsAsync(new HttpResponseMessage(statusCode)
{
Content = new ByteArrayContent(bytes),
});

/// <summary>
/// Asynchronously returns a <see cref="HttpResponseMessage" /> with the given <paramref name="statusCode" />,
/// <paramref name="bytes" /> and <paramref name="mediaType" />.
/// </summary>
public IReturnMethodSetupReturnBuilder<Task<HttpResponseMessage>, HttpRequestMessage, CancellationToken>
ReturnsAsync(HttpStatusCode statusCode, byte[] bytes, string mediaType)
{
ByteArrayContent content = new(bytes);
content.Headers.ContentType = new MediaTypeHeaderValue(mediaType);
return setup.ReturnsAsync(new HttpResponseMessage(statusCode)
{
Content = content,
});
}

/// <summary>
/// Asynchronously returns a <see cref="HttpResponseMessage" /> with the given <paramref name="statusCode" />
/// and <paramref name="content" />.
/// </summary>
public IReturnMethodSetupReturnBuilder<Task<HttpResponseMessage>, HttpRequestMessage, CancellationToken>
ReturnsAsync(HttpStatusCode statusCode, HttpContent content)
=> setup.ReturnsAsync(new HttpResponseMessage(statusCode)
{
Content = content,
});
}
}
3 changes: 0 additions & 3 deletions Source/Mockolate/Web/HttpClientExtensions.Setup.Delete.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,6 @@
namespace Mockolate.Web;

#pragma warning disable S2325 // Methods and properties that don't access instance data should be static
/// <summary>
/// Extensions for mocking <see cref="HttpClient" />.
/// </summary>
public static partial class HttpClientExtensions
{
/// <inheritdoc cref="HttpClientExtensions" />
Expand Down
3 changes: 0 additions & 3 deletions Source/Mockolate/Web/HttpClientExtensions.Setup.Get.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,6 @@
namespace Mockolate.Web;

#pragma warning disable S2325 // Methods and properties that don't access instance data should be static
/// <summary>
/// Extensions for mocking <see cref="HttpClient" />.
/// </summary>
public static partial class HttpClientExtensions
{
/// <inheritdoc cref="HttpClientExtensions" />
Expand Down
3 changes: 0 additions & 3 deletions Source/Mockolate/Web/HttpClientExtensions.Setup.Patch.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,6 @@
namespace Mockolate.Web;

#pragma warning disable S2325 // Methods and properties that don't access instance data should be static
/// <summary>
/// Extensions for mocking <see cref="HttpClient" />.
/// </summary>
public static partial class HttpClientExtensions
{
/// <inheritdoc cref="HttpClientExtensions" />
Expand Down
3 changes: 0 additions & 3 deletions Source/Mockolate/Web/HttpClientExtensions.Setup.Post.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,6 @@
namespace Mockolate.Web;

#pragma warning disable S2325 // Methods and properties that don't access instance data should be static
/// <summary>
/// Extensions for mocking <see cref="HttpClient" />.
/// </summary>
public static partial class HttpClientExtensions
{
/// <inheritdoc cref="HttpClientExtensions" />
Expand Down
3 changes: 0 additions & 3 deletions Source/Mockolate/Web/HttpClientExtensions.Setup.Put.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,6 @@
namespace Mockolate.Web;

#pragma warning disable S2325 // Methods and properties that don't access instance data should be static
/// <summary>
/// Extensions for mocking <see cref="HttpClient" />.
/// </summary>
public static partial class HttpClientExtensions
{
/// <inheritdoc cref="HttpClientExtensions" />
Expand Down
3 changes: 0 additions & 3 deletions Source/Mockolate/Web/HttpClientExtensions.Verify.Delete.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,6 @@
namespace Mockolate.Web;

#pragma warning disable S2325 // Methods and properties that don't access instance data should be static
/// <summary>
/// Extensions for mocking <see cref="HttpClient" />.
/// </summary>
public static partial class HttpClientExtensions
{
/// <inheritdoc cref="HttpClientExtensions" />
Expand Down
3 changes: 0 additions & 3 deletions Source/Mockolate/Web/HttpClientExtensions.Verify.Get.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,6 @@
namespace Mockolate.Web;

#pragma warning disable S2325 // Methods and properties that don't access instance data should be static
/// <summary>
/// Extensions for mocking <see cref="HttpClient" />.
/// </summary>
public static partial class HttpClientExtensions
{
/// <inheritdoc cref="HttpClientExtensions" />
Expand Down
3 changes: 0 additions & 3 deletions Source/Mockolate/Web/HttpClientExtensions.Verify.Patch.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,6 @@
namespace Mockolate.Web;

#pragma warning disable S2325 // Methods and properties that don't access instance data should be static
/// <summary>
/// Extensions for mocking <see cref="HttpClient" />.
/// </summary>
public static partial class HttpClientExtensions
{
/// <inheritdoc cref="HttpClientExtensions" />
Expand Down
3 changes: 0 additions & 3 deletions Source/Mockolate/Web/HttpClientExtensions.Verify.Post.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,6 @@
namespace Mockolate.Web;

#pragma warning disable S2325 // Methods and properties that don't access instance data should be static
/// <summary>
/// Extensions for mocking <see cref="HttpClient" />.
/// </summary>
public static partial class HttpClientExtensions
{
/// <inheritdoc cref="HttpClientExtensions" />
Expand Down
3 changes: 0 additions & 3 deletions Source/Mockolate/Web/HttpClientExtensions.Verify.Put.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,6 @@
namespace Mockolate.Web;

#pragma warning disable S2325 // Methods and properties that don't access instance data should be static
/// <summary>
/// Extensions for mocking <see cref="HttpClient" />.
/// </summary>
public static partial class HttpClientExtensions
{
/// <inheritdoc cref="HttpClientExtensions" />
Expand Down
9 changes: 9 additions & 0 deletions Tests/Mockolate.Api.Tests/Expected/Mockolate_net10.0.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1833,6 +1833,15 @@ namespace Mockolate.Web
public Mockolate.Setup.IReturnMethodSetup<System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>, System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken> PutAsync(Mockolate.Parameters.IParameter<string?> requestUri, Mockolate.Parameters.IParameter<System.Net.Http.HttpContent?> content, Mockolate.Parameters.IParameter<System.Threading.CancellationToken> cancellationToken) { }
public Mockolate.Setup.IReturnMethodSetup<System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>, System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken> PutAsync(Mockolate.Parameters.IParameter<System.Uri?> requestUri, Mockolate.Parameters.IParameter<System.Net.Http.HttpContent?> content, Mockolate.Parameters.IParameter<System.Threading.CancellationToken> cancellationToken) { }
}
extension(Mockolate.Setup.IReturnMethodSetup<System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>, System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken> setup)
{
public Mockolate.Setup.IReturnMethodSetupReturnBuilder<System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>, System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken> ReturnsAsync(System.Net.HttpStatusCode statusCode) { }
public Mockolate.Setup.IReturnMethodSetupReturnBuilder<System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>, System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken> ReturnsAsync(System.Net.HttpStatusCode statusCode, string content) { }
public Mockolate.Setup.IReturnMethodSetupReturnBuilder<System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>, System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken> ReturnsAsync(System.Net.HttpStatusCode statusCode, string content, string mediaType) { }
public Mockolate.Setup.IReturnMethodSetupReturnBuilder<System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>, System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken> ReturnsAsync(System.Net.HttpStatusCode statusCode, byte[] bytes) { }
public Mockolate.Setup.IReturnMethodSetupReturnBuilder<System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>, System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken> ReturnsAsync(System.Net.HttpStatusCode statusCode, byte[] bytes, string mediaType) { }
public Mockolate.Setup.IReturnMethodSetupReturnBuilder<System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>, System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken> ReturnsAsync(System.Net.HttpStatusCode statusCode, System.Net.Http.HttpContent content) { }
}
extension(Mockolate.Verify.IMockVerifyInvokedWithToStringWithEqualsWithGetHashCode<System.Net.Http.HttpClient> verifyInvoked)
{
public Mockolate.Verify.VerificationResult<System.Net.Http.HttpClient> DeleteAsync(Mockolate.Parameters.IParameter<string?> requestUri) { }
Expand Down
9 changes: 9 additions & 0 deletions Tests/Mockolate.Api.Tests/Expected/Mockolate_net8.0.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1832,6 +1832,15 @@ namespace Mockolate.Web
public Mockolate.Setup.IReturnMethodSetup<System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>, System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken> PutAsync(Mockolate.Parameters.IParameter<string?> requestUri, Mockolate.Parameters.IParameter<System.Net.Http.HttpContent?> content, Mockolate.Parameters.IParameter<System.Threading.CancellationToken> cancellationToken) { }
public Mockolate.Setup.IReturnMethodSetup<System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>, System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken> PutAsync(Mockolate.Parameters.IParameter<System.Uri?> requestUri, Mockolate.Parameters.IParameter<System.Net.Http.HttpContent?> content, Mockolate.Parameters.IParameter<System.Threading.CancellationToken> cancellationToken) { }
}
extension(Mockolate.Setup.IReturnMethodSetup<System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>, System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken> setup)
{
public Mockolate.Setup.IReturnMethodSetupReturnBuilder<System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>, System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken> ReturnsAsync(System.Net.HttpStatusCode statusCode) { }
public Mockolate.Setup.IReturnMethodSetupReturnBuilder<System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>, System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken> ReturnsAsync(System.Net.HttpStatusCode statusCode, string content) { }
public Mockolate.Setup.IReturnMethodSetupReturnBuilder<System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>, System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken> ReturnsAsync(System.Net.HttpStatusCode statusCode, string content, string mediaType) { }
public Mockolate.Setup.IReturnMethodSetupReturnBuilder<System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>, System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken> ReturnsAsync(System.Net.HttpStatusCode statusCode, byte[] bytes) { }
public Mockolate.Setup.IReturnMethodSetupReturnBuilder<System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>, System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken> ReturnsAsync(System.Net.HttpStatusCode statusCode, byte[] bytes, string mediaType) { }
public Mockolate.Setup.IReturnMethodSetupReturnBuilder<System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>, System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken> ReturnsAsync(System.Net.HttpStatusCode statusCode, System.Net.Http.HttpContent content) { }
}
extension(Mockolate.Verify.IMockVerifyInvokedWithToStringWithEqualsWithGetHashCode<System.Net.Http.HttpClient> verifyInvoked)
{
public Mockolate.Verify.VerificationResult<System.Net.Http.HttpClient> DeleteAsync(Mockolate.Parameters.IParameter<string?> requestUri) { }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1777,6 +1777,15 @@ namespace Mockolate.Web
public Mockolate.Setup.IReturnMethodSetup<System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>, System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken> PutAsync(Mockolate.Parameters.IParameter<string?> requestUri, Mockolate.Parameters.IParameter<System.Net.Http.HttpContent?> content, Mockolate.Parameters.IParameter<System.Threading.CancellationToken> cancellationToken) { }
public Mockolate.Setup.IReturnMethodSetup<System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>, System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken> PutAsync(Mockolate.Parameters.IParameter<System.Uri?> requestUri, Mockolate.Parameters.IParameter<System.Net.Http.HttpContent?> content, Mockolate.Parameters.IParameter<System.Threading.CancellationToken> cancellationToken) { }
}
extension(Mockolate.Setup.IReturnMethodSetup<System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>, System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken> setup)
{
public Mockolate.Setup.IReturnMethodSetupReturnBuilder<System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>, System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken> ReturnsAsync(System.Net.HttpStatusCode statusCode) { }
public Mockolate.Setup.IReturnMethodSetupReturnBuilder<System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>, System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken> ReturnsAsync(System.Net.HttpStatusCode statusCode, string content) { }
public Mockolate.Setup.IReturnMethodSetupReturnBuilder<System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>, System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken> ReturnsAsync(System.Net.HttpStatusCode statusCode, string content, string mediaType) { }
public Mockolate.Setup.IReturnMethodSetupReturnBuilder<System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>, System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken> ReturnsAsync(System.Net.HttpStatusCode statusCode, byte[] bytes) { }
public Mockolate.Setup.IReturnMethodSetupReturnBuilder<System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>, System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken> ReturnsAsync(System.Net.HttpStatusCode statusCode, byte[] bytes, string mediaType) { }
public Mockolate.Setup.IReturnMethodSetupReturnBuilder<System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>, System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken> ReturnsAsync(System.Net.HttpStatusCode statusCode, System.Net.Http.HttpContent content) { }
}
extension(Mockolate.Verify.IMockVerifyInvokedWithToStringWithEqualsWithGetHashCode<System.Net.Http.HttpClient> verifyInvoked)
{
public Mockolate.Verify.VerificationResult<System.Net.Http.HttpClient> DeleteAsync(Mockolate.Parameters.IParameter<string?> requestUri) { }
Expand Down
Loading