Skip to content

Replace Moq Library to Nsubstitute in v2 WebJobs Core.Tests project #622

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: v2
Choose a base branch
from
Open
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
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@
<PackageReference Include="FluentAssertions" Version="6.8.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.2.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.1" />
<PackageReference Include="Moq" Version="4.18.3" />
<PackageReference Include="MSTest.TestAdapter" Version="3.0.0" />
<PackageReference Include="MSTest.TestFramework" Version="3.0.0" />
</ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
using Microsoft.Azure.WebJobs.Extensions.OpenApi.Core.Configurations;
using Microsoft.VisualStudio.TestTools.UnitTesting;

using Moq;
using NSubstitute;

namespace Microsoft.Azure.WebJobs.Extensions.OpenApi.Core.Tests.Configurations
{
Expand All @@ -16,10 +16,10 @@ public class DefaultOpenApiHttpTriggerAuthorizationTests
[TestMethod]
public async Task Given_Type_When_Instantiated_Then_Properties_Should_Return_Null()
{
var req = new Mock<IHttpRequestDataObject>();
var req = Substitute.For<IHttpRequestDataObject>();
var auth = new DefaultOpenApiHttpTriggerAuthorization();

var result = await auth.AuthorizeAsync(req.Object).ConfigureAwait(false);
var result = await auth.AuthorizeAsync(req).ConfigureAwait(false);

result.Should().BeNull();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
using Microsoft.Azure.WebJobs.Extensions.OpenApi.Core.Configurations;
using Microsoft.VisualStudio.TestTools.UnitTesting;

using Moq;
using NSubstitute;

namespace Microsoft.Azure.WebJobs.Extensions.OpenApi.Core.Tests.Configurations
{
Expand All @@ -17,10 +17,10 @@ public class OpenApiHttpTriggerAuthorizationTests
[TestMethod]
public async Task Given_NoDeligate_When_AuthorizeAsync_Invoked_Then_It_Should_Return_Null()
{
var req = new Mock<IHttpRequestDataObject>();
var req = Substitute.For<IHttpRequestDataObject>();
var auth = new OpenApiHttpTriggerAuthorization();

var result = await auth.AuthorizeAsync(req.Object).ConfigureAwait(false);
var result = await auth.AuthorizeAsync(req).ConfigureAwait(false);

result.Should().BeNull();
}
Expand All @@ -29,7 +29,7 @@ public async Task Given_NoDeligate_When_AuthorizeAsync_Invoked_Then_It_Should_Re
[DataRow(HttpStatusCode.Unauthorized, "text/plain", "Unauthorized")]
public async Task Given_Deligate_Through_Constructor_When_AuthorizeAsync_Invoked_Then_It_Should_Return_Result(HttpStatusCode statusCode, string contentType, string payload)
{
var req = new Mock<IHttpRequestDataObject>();
var req = Substitute.For<IHttpRequestDataObject>();
var auth = new OpenApiHttpTriggerAuthorization(req =>
{
var result = new OpenApiAuthorizationResult()
Expand All @@ -42,7 +42,7 @@ public async Task Given_Deligate_Through_Constructor_When_AuthorizeAsync_Invoked
return Task.FromResult(result);
});

var result = await auth.AuthorizeAsync(req.Object).ConfigureAwait(false);
var result = await auth.AuthorizeAsync(req).ConfigureAwait(false);

result.Should().NotBeNull();
result.StatusCode.Should().Be(statusCode);
Expand All @@ -54,7 +54,7 @@ public async Task Given_Deligate_Through_Constructor_When_AuthorizeAsync_Invoked
[DataRow(HttpStatusCode.Unauthorized, "text/plain", "Unauthorized")]
public async Task Given_Deligate_Through_Property_When_AuthorizeAsync_Invoked_Then_It_Should_Return_Result(HttpStatusCode statusCode, string contentType, string payload)
{
var req = new Mock<IHttpRequestDataObject>();
var req = Substitute.For<IHttpRequestDataObject>();
var auth = new OpenApiHttpTriggerAuthorization
{
Authorization = req =>
Expand All @@ -70,7 +70,7 @@ public async Task Given_Deligate_Through_Property_When_AuthorizeAsync_Invoked_Th
}
};

var result = await auth.AuthorizeAsync(req.Object).ConfigureAwait(false);
var result = await auth.AuthorizeAsync(req).ConfigureAwait(false);

result.Should().NotBeNull();
result.StatusCode.Should().Be(statusCode);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
using Microsoft.Azure.WebJobs.Extensions.OpenApi.Core.Extensions;
using Microsoft.VisualStudio.TestTools.UnitTesting;

using Moq;
using NSubstitute;

namespace Microsoft.Azure.WebJobs.Extensions.OpenApi.Core.Tests.Extensions
{
Expand All @@ -26,10 +26,10 @@ public void Given_Null_When_GetScheme_Invoked_Then_It_Should_Throw_Exception()
[DataRow("https", "https")]
public void Given_NullOptions_When_GetScheme_Invoked_Then_It_Should_Return_Result(string scheme, string expected)
{
var req = new Mock<IHttpRequestDataObject>();
req.SetupGet(p => p.Scheme).Returns(scheme);
var req = Substitute.For<IHttpRequestDataObject>();
req.Scheme.Returns(scheme);

var result = HttpRequestDataObjectExtensions.GetScheme(req.Object, null);
var result = HttpRequestDataObjectExtensions.GetScheme(req, null);

result.Should().Be(expected);
}
Expand All @@ -45,14 +45,14 @@ public void Given_NullOptions_When_GetScheme_Invoked_Then_It_Should_Return_Resul
[DataRow("https", false, false, "https")]
public void Given_Options_When_GetScheme_Invoked_Then_It_Should_Return_Result(string scheme, bool forceHttps, bool forceHttp, string expected)
{
var req = new Mock<IHttpRequestDataObject>();
req.SetupGet(p => p.Scheme).Returns(scheme);
var req = Substitute.For<IHttpRequestDataObject>();
req.Scheme.Returns(scheme);

var options = new Mock<IOpenApiConfigurationOptions>();
options.SetupGet(p => p.ForceHttps).Returns(forceHttps);
options.SetupGet(p => p.ForceHttp).Returns(forceHttp);
var options = Substitute.For<IOpenApiConfigurationOptions>();
options.ForceHttps.Returns(forceHttps);
options.ForceHttp.Returns(forceHttp);

var result = HttpRequestDataObjectExtensions.GetScheme(req.Object, options.Object);
var result = HttpRequestDataObjectExtensions.GetScheme(req, options);

result.Should().Be(expected);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
using Microsoft.Azure.WebJobs.Extensions.OpenApi.Core.Extensions;
using Microsoft.VisualStudio.TestTools.UnitTesting;

using Moq;
using NSubstitute;

namespace Microsoft.Azure.WebJobs.Extensions.OpenApi.Core.Tests.Extensions
{
Expand All @@ -18,24 +18,24 @@ public class OpenApiHttpTriggerContextExtensionsTests
[TestMethod]
public void Given_Null_Parameter_When_AuthorizeAsync_Invoked_Then_It_Should_Throw_Exception()
{
var context = new Mock<IOpenApiHttpTriggerContext>();
var context = Substitute.For<IOpenApiHttpTriggerContext>();

Func<Task> func = async () => await OpenApiHttpTriggerContextExtensions.AuthorizeAsync(null, null).ConfigureAwait(false);
func.Should().ThrowAsync<ArgumentNullException>();

func = async () => await OpenApiHttpTriggerContextExtensions.AuthorizeAsync(Task.FromResult(context.Object), null).ConfigureAwait(false);
func = async () => await OpenApiHttpTriggerContextExtensions.AuthorizeAsync(Task.FromResult(context), null).ConfigureAwait(false);
func.Should().ThrowAsync<ArgumentNullException>();
}

[TestMethod]
public async Task Given_Parameter_When_AuthorizeAsync_Invoked_Then_It_Should_Return_Result()
{
var context = new Mock<IOpenApiHttpTriggerContext>();
context.Setup(p => p.AuthorizeAsync(It.IsAny<IHttpRequestDataObject>())).ReturnsAsync(default(OpenApiAuthorizationResult));
var context = Substitute.For<IOpenApiHttpTriggerContext>();
context.AuthorizeAsync(Arg.Any<IHttpRequestDataObject>()).Returns(Task.FromResult(default(OpenApiAuthorizationResult)));

var req = new Mock<IHttpRequestDataObject>();
var req = Substitute.For<IHttpRequestDataObject>();

var result = await OpenApiHttpTriggerContextExtensions.AuthorizeAsync(Task.FromResult(context.Object), req.Object).ConfigureAwait(false);
var result = await OpenApiHttpTriggerContextExtensions.AuthorizeAsync(Task.FromResult(context), req).ConfigureAwait(false);

result.Should().BeNull();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
using Microsoft.Azure.WebJobs.Extensions.OpenApi.Core.Extensions;
using Microsoft.VisualStudio.TestTools.UnitTesting;

using Moq;
using NSubstitute;

namespace Microsoft.Azure.WebJobs.Extensions.OpenApi.Core.Tests
{
Expand All @@ -21,8 +21,8 @@ public void Given_Null_When_RenderAsync_Invoked_Then_It_Should_Throw_Exception()
Func<Task> func = async () => await SwaggerUIExtensions.RenderAsync(null, null).ConfigureAwait(false);
func.Should().ThrowAsync<ArgumentNullException>();

var ui = new Mock<ISwaggerUI>();
var task = Task.FromResult(ui.Object);
var ui = Substitute.For<ISwaggerUI>();
var task = Task.FromResult(ui);

func = async () => await SwaggerUIExtensions.RenderAsync(task, null).ConfigureAwait(false);
func.Should().ThrowAsync<ArgumentNullException>();
Expand All @@ -34,10 +34,10 @@ public async Task Given_Value_When_RenderAsync_Invoked_Then_It_Should_Return_Val
var endpoint = "swagger/ui";
var rendered = "hello world";

var ui = new Mock<ISwaggerUI>();
ui.Setup(p => p.RenderAsync(It.IsAny<string>(), It.IsAny<OpenApiAuthLevelType>(), It.IsAny<string>())).ReturnsAsync(rendered);
var ui = Substitute.For<ISwaggerUI>();
ui.RenderAsync(Arg.Any<string>(), Arg.Any<OpenApiAuthLevelType>(), Arg.Any<string>()).Returns(Task.FromResult(rendered));

var task = Task.FromResult(ui.Object);
var task = Task.FromResult(ui);

var result = await SwaggerUIExtensions.RenderAsync(task, endpoint).ConfigureAwait(false);

Expand All @@ -50,8 +50,8 @@ public void Given_Null_When_RenderOAuth2RedirectAsync_Invoked_Then_It_Should_Thr
Func<Task> func = async () => await SwaggerUIExtensions.RenderOAuth2RedirectAsync(null, null).ConfigureAwait(false);
func.Should().ThrowAsync<ArgumentNullException>();

var ui = new Mock<ISwaggerUI>();
var task = Task.FromResult(ui.Object);
var ui = Substitute.For<ISwaggerUI>();
var task = Task.FromResult(ui);

func = async () => await SwaggerUIExtensions.RenderOAuth2RedirectAsync(task, null).ConfigureAwait(false);
func.Should().ThrowAsync<ArgumentNullException>();
Expand All @@ -63,10 +63,10 @@ public async Task Given_Value_When_RenderOAuth2RedirectAsync_Invoked_Then_It_Sho
var endpoint = "oauth2-redirect.html";
var rendered = "hello world";

var ui = new Mock<ISwaggerUI>();
ui.Setup(p => p.RenderOAuth2RedirectAsync(It.IsAny<string>(), It.IsAny<OpenApiAuthLevelType>(), It.IsAny<string>())).ReturnsAsync(rendered);
var ui = Substitute.For<ISwaggerUI>();
ui.RenderOAuth2RedirectAsync(Arg.Any<string>(), Arg.Any<OpenApiAuthLevelType>(), Arg.Any<string>()).Returns(Task.FromResult(rendered));

var task = Task.FromResult(ui.Object);
var task = Task.FromResult(ui);

var result = await SwaggerUIExtensions.RenderOAuth2RedirectAsync(task, endpoint).ConfigureAwait(false);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
using Microsoft.Azure.WebJobs.Extensions.OpenApi.Core.Filters;
using Microsoft.VisualStudio.TestTools.UnitTesting;

using Moq;
using NSubstitute;

namespace Microsoft.Azure.WebJobs.Extensions.OpenApi.Core.Tests.Filters
{
Expand All @@ -27,7 +27,7 @@ public void Given_Null_When_Instantated_Then_It_Should_Return_Result()
[DataRow(2)]
public void Given_Filters_When_Instantated_Then_It_Should_Return_Result(int count)
{
var filters = Enumerable.Range(0, count).Select(i => new Mock<IDocumentFilter>().Object).ToList();
var filters = Enumerable.Range(0, count).Select(i => Substitute.For<IDocumentFilter>()).ToList();
var collection = new DocumentFilterCollection(filters);

collection.DocumentFilters.Should().NotBeNull();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@
<PackageReference Include="FluentAssertions" Version="6.8.0" />
<PackageReference Include="Microsoft.Extensions.Primitives" Version="2.2.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.1" />
<PackageReference Include="Moq" Version="4.18.3" />
<PackageReference Include="MSTest.TestAdapter" Version="3.0.0" />
<PackageReference Include="MSTest.TestFramework" Version="3.0.0" />
<PackageReference Include="NSubstitute" Version="5.0.0" />
</ItemGroup>

<ItemGroup>
Expand Down

This file was deleted.

Loading