From bfcb7619dd53bd66658e5f85cf0b7c94092d8cb7 Mon Sep 17 00:00:00 2001 From: Pranav K Date: Tue, 22 Sep 2015 08:59:23 -0700 Subject: [PATCH] Run Cors.Core.Tests in dnxcore50 --- .../CorsServiceTests.cs | 90 +++++++++---------- .../DefaultCorsPolicyProviderTests.cs | 22 +++-- .../TestCorsOptions.cs | 12 +++ .../project.json | 5 +- 4 files changed, 68 insertions(+), 61 deletions(-) create mode 100644 test/Microsoft.AspNet.Cors.Core.Test/TestCorsOptions.cs diff --git a/test/Microsoft.AspNet.Cors.Core.Test/CorsServiceTests.cs b/test/Microsoft.AspNet.Cors.Core.Test/CorsServiceTests.cs index ab3f790ac6..98c0af90b6 100644 --- a/test/Microsoft.AspNet.Cors.Core.Test/CorsServiceTests.cs +++ b/test/Microsoft.AspNet.Cors.Core.Test/CorsServiceTests.cs @@ -4,8 +4,6 @@ using System; using Microsoft.AspNet.Http; using Microsoft.AspNet.Http.Internal; -using Microsoft.Framework.OptionsModel; -using Moq; using Xunit; namespace Microsoft.AspNet.Cors.Core.Test @@ -16,7 +14,7 @@ namespace Microsoft.AspNet.Cors.Core.Test public void EvaluatePolicy_NoOrigin_ReturnsInvalidResult() { // Arrange - var corsService = new CorsService(Mock.Of>()); + var corsService = new CorsService(new TestCorsOptions()); var requestContext = GetHttpContext("GET", origin: null); // Act @@ -31,7 +29,7 @@ namespace Microsoft.AspNet.Cors.Core.Test public void EvaluatePolicy_NoMatchingOrigin_ReturnsInvalidResult() { // Arrange - var corsService = new CorsService(Mock.Of>()); + var corsService = new CorsService(new TestCorsOptions()); var requestContext = GetHttpContext(origin: "http://example.com"); var policy = new CorsPolicy(); policy.Origins.Add("bar"); @@ -48,7 +46,7 @@ namespace Microsoft.AspNet.Cors.Core.Test public void EvaluatePolicy_EmptyOriginsPolicy_ReturnsInvalidResult() { // Arrange - var corsService = new CorsService(Mock.Of>()); + var corsService = new CorsService(new TestCorsOptions()); var requestContext = GetHttpContext(origin: "http://example.com"); var policy = new CorsPolicy(); @@ -64,7 +62,7 @@ namespace Microsoft.AspNet.Cors.Core.Test public void EvaluatePolicy_AllowAnyOrigin_DoesNotSupportCredentials_EmitsWildcardForOrigin() { // Arrange - var corsService = new CorsService(Mock.Of>()); + var corsService = new CorsService(new TestCorsOptions()); var requestContext = GetHttpContext(origin: "http://example.com"); var policy = new CorsPolicy @@ -85,7 +83,7 @@ namespace Microsoft.AspNet.Cors.Core.Test public void EvaluatePolicy_AllowAnyOrigin_SupportsCredentials_AddsSpecificOrigin() { // Arrange - var corsService = new CorsService(Mock.Of>()); + var corsService = new CorsService(new TestCorsOptions()); var requestContext = GetHttpContext(origin: "http://example.com"); var policy = new CorsPolicy { @@ -105,7 +103,7 @@ namespace Microsoft.AspNet.Cors.Core.Test public void EvaluatePolicy_DoesNotSupportCredentials_AllowCredentialsReturnsFalse() { // Arrange - var corsService = new CorsService(Mock.Of>()); + var corsService = new CorsService(new TestCorsOptions()); var requestContext = GetHttpContext(origin: "http://example.com"); var policy = new CorsPolicy { @@ -124,7 +122,7 @@ namespace Microsoft.AspNet.Cors.Core.Test public void EvaluatePolicy_SupportsCredentials_AllowCredentialsReturnsTrue() { // Arrange - var corsService = new CorsService(Mock.Of>()); + var corsService = new CorsService(new TestCorsOptions()); var requestContext = GetHttpContext(origin: "http://example.com"); var policy = new CorsPolicy { @@ -143,7 +141,7 @@ namespace Microsoft.AspNet.Cors.Core.Test public void EvaluatePolicy_NoExposedHeaders_NoAllowExposedHeaders() { // Arrange - var corsService = new CorsService(Mock.Of>()); + var corsService = new CorsService(new TestCorsOptions()); var requestContext = GetHttpContext(origin: "http://example.com"); var policy = new CorsPolicy(); policy.Origins.Add(CorsConstants.AnyOrigin); @@ -159,7 +157,7 @@ namespace Microsoft.AspNet.Cors.Core.Test public void EvaluatePolicy_OneExposedHeaders_HeadersAllowed() { // Arrange - var corsService = new CorsService(Mock.Of>()); + var corsService = new CorsService(new TestCorsOptions()); var requestContext = GetHttpContext(origin: "http://example.com"); var policy = new CorsPolicy(); policy.Origins.Add(CorsConstants.AnyOrigin); @@ -177,7 +175,7 @@ namespace Microsoft.AspNet.Cors.Core.Test public void EvaluatePolicy_ManyExposedHeaders_HeadersAllowed() { // Arrange - var corsService = new CorsService(Mock.Of>()); + var corsService = new CorsService(new TestCorsOptions()); var requestContext = GetHttpContext(origin: "http://example.com"); var policy = new CorsPolicy(); policy.Origins.Add(CorsConstants.AnyOrigin); @@ -199,7 +197,7 @@ namespace Microsoft.AspNet.Cors.Core.Test public void EvaluatePolicy_PreflightRequest_MethodNotAllowed_ReturnsInvalidResult() { // Arrange - var corsService = new CorsService(Mock.Of>()); + var corsService = new CorsService(new TestCorsOptions()); var requestContext = GetHttpContext(method: "OPTIONS", origin: "http://example.com", accessControlRequestMethod: "PUT"); var policy = new CorsPolicy(); policy.Origins.Add(CorsConstants.AnyOrigin); @@ -216,7 +214,7 @@ namespace Microsoft.AspNet.Cors.Core.Test public void EvaluatePolicy_PreflightRequest_MethodAllowed_ReturnsAllowMethods() { // Arrange - var corsService = new CorsService(Mock.Of>()); + var corsService = new CorsService(new TestCorsOptions()); var requestContext = GetHttpContext(method: "OPTIONS", origin: "http://example.com", accessControlRequestMethod: "PUT"); var policy = new CorsPolicy(); policy.Origins.Add(CorsConstants.AnyOrigin); @@ -234,7 +232,7 @@ namespace Microsoft.AspNet.Cors.Core.Test public void EvaluatePolicy_PreflightRequest_OriginAllowed_ReturnsOrigin() { // Arrange - var corsService = new CorsService(Mock.Of>()); + var corsService = new CorsService(new TestCorsOptions()); var requestContext = GetHttpContext(method: "OPTIONS", origin: "http://example.com", accessControlRequestMethod: "PUT"); var policy = new CorsPolicy(); policy.Origins.Add(CorsConstants.AnyOrigin); @@ -252,7 +250,7 @@ namespace Microsoft.AspNet.Cors.Core.Test public void EvaluatePolicy_PreflightRequest_SupportsCredentials_AllowCredentialsReturnsTrue() { // Arrange - var corsService = new CorsService(Mock.Of>()); + var corsService = new CorsService(new TestCorsOptions()); var requestContext = GetHttpContext(method: "OPTIONS", origin: "http://example.com", accessControlRequestMethod: "PUT"); var policy = new CorsPolicy { @@ -272,7 +270,7 @@ namespace Microsoft.AspNet.Cors.Core.Test public void EvaluatePolicy_PreflightRequest_NoPreflightMaxAge_NoPreflightMaxAgeSet() { // Arrange - var corsService = new CorsService(Mock.Of>()); + var corsService = new CorsService(new TestCorsOptions()); var requestContext = GetHttpContext(method: "OPTIONS", origin: "http://example.com", accessControlRequestMethod: "PUT"); var policy = new CorsPolicy { @@ -292,7 +290,7 @@ namespace Microsoft.AspNet.Cors.Core.Test public void EvaluatePolicy_PreflightRequest_PreflightMaxAge_PreflightMaxAgeSet() { // Arrange - var corsService = new CorsService(Mock.Of>()); + var corsService = new CorsService(new TestCorsOptions()); var requestContext = GetHttpContext(method: "OPTIONS", origin: "http://example.com", accessControlRequestMethod: "PUT"); var policy = new CorsPolicy { @@ -312,7 +310,7 @@ namespace Microsoft.AspNet.Cors.Core.Test public void EvaluatePolicy_PreflightRequest_AnyMethod_ReturnsRequestMethod() { // Arrange - var corsService = new CorsService(Mock.Of>()); + var corsService = new CorsService(new TestCorsOptions()); var requestContext = GetHttpContext(method: "OPTIONS", origin: "http://example.com", accessControlRequestMethod: "GET"); var policy = new CorsPolicy(); policy.Origins.Add(CorsConstants.AnyOrigin); @@ -330,7 +328,7 @@ namespace Microsoft.AspNet.Cors.Core.Test public void EvaluatePolicy_PreflightRequest_ListedMethod_ReturnsSubsetOfListedMethods() { // Arrange - var corsService = new CorsService(Mock.Of>()); + var corsService = new CorsService(new TestCorsOptions()); var requestContext = GetHttpContext(method: "OPTIONS", origin: "http://example.com", accessControlRequestMethod: "PUT"); var policy = new CorsPolicy(); policy.Origins.Add(CorsConstants.AnyOrigin); @@ -349,7 +347,7 @@ namespace Microsoft.AspNet.Cors.Core.Test public void EvaluatePolicy_PreflightRequest_NoHeadersRequested_AllowedAllHeaders_ReturnsEmptyHeaders() { // Arrange - var corsService = new CorsService(Mock.Of>()); + var corsService = new CorsService(new TestCorsOptions()); var requestContext = GetHttpContext(method: "OPTIONS", origin: "http://example.com", accessControlRequestMethod: "PUT"); var policy = new CorsPolicy(); policy.Origins.Add(CorsConstants.AnyOrigin); @@ -367,7 +365,7 @@ namespace Microsoft.AspNet.Cors.Core.Test public void EvaluatePolicy_PreflightRequest_HeadersRequested_AllowAllHeaders_ReturnsRequestedHeaders() { // Arrange - var corsService = new CorsService(Mock.Of>()); + var corsService = new CorsService(new TestCorsOptions()); var requestContext = GetHttpContext( method: "OPTIONS", origin: "http://example.com", @@ -391,7 +389,7 @@ namespace Microsoft.AspNet.Cors.Core.Test public void EvaluatePolicy_PreflightRequest_HeadersRequested_AllowSomeHeaders_ReturnsSubsetOfListedHeaders() { // Arrange - var corsService = new CorsService(Mock.Of>()); + var corsService = new CorsService(new TestCorsOptions()); var requestContext = GetHttpContext( method: "OPTIONS", origin: "http://example.com", @@ -416,7 +414,7 @@ namespace Microsoft.AspNet.Cors.Core.Test public void EvaluatePolicy_PreflightRequest_HeadersRequested_NotAllHeaderMatches_ReturnsInvalidResult() { // Arrange - var corsService = new CorsService(Mock.Of>()); + var corsService = new CorsService(new TestCorsOptions()); var requestContext = GetHttpContext( method: "OPTIONS", origin: "http://example.com", @@ -442,7 +440,7 @@ namespace Microsoft.AspNet.Cors.Core.Test public void EaluatePolicy_DoesCaseSensitiveComparison() { // Arrange - var corsService = new CorsService(Mock.Of>()); + var corsService = new CorsService(new TestCorsOptions()); var policy = new CorsPolicy(); policy.Methods.Add("POST"); @@ -462,7 +460,7 @@ namespace Microsoft.AspNet.Cors.Core.Test public void TryValidateOrigin_DoesCaseSensitiveComparison() { // Arrange - var corsService = new CorsService(Mock.Of>()); + var corsService = new CorsService(new TestCorsOptions()); var policy = new CorsPolicy(); policy.Origins.Add("http://Example.com"); @@ -485,7 +483,7 @@ namespace Microsoft.AspNet.Cors.Core.Test // Arrange var result = new CorsResult(); var httpContext = new DefaultHttpContext(); - var service = new CorsService(Mock.Of>()); + var service = new CorsService(new TestCorsOptions()); // Act service.ApplyResult(result, httpContext.Response); @@ -504,7 +502,7 @@ namespace Microsoft.AspNet.Cors.Core.Test }; var httpContext = new DefaultHttpContext(); - var service = new CorsService(Mock.Of>()); + var service = new CorsService(new TestCorsOptions()); // Act service.ApplyResult(result, httpContext.Response); @@ -523,7 +521,7 @@ namespace Microsoft.AspNet.Cors.Core.Test }; var httpContext = new DefaultHttpContext(); - var service = new CorsService(Mock.Of>()); + var service = new CorsService(new TestCorsOptions()); // Act service.ApplyResult(result, httpContext.Response); @@ -541,7 +539,7 @@ namespace Microsoft.AspNet.Cors.Core.Test SupportsCredentials = true }; - var service = new CorsService(Mock.Of>()); + var service = new CorsService(new TestCorsOptions()); // Act var httpContext = new DefaultHttpContext(); @@ -561,7 +559,7 @@ namespace Microsoft.AspNet.Cors.Core.Test }; var httpContext = new DefaultHttpContext(); - var service = new CorsService(Mock.Of>()); + var service = new CorsService(new TestCorsOptions()); // Act service.ApplyResult(result, httpContext.Response); @@ -580,7 +578,7 @@ namespace Microsoft.AspNet.Cors.Core.Test }; var httpContext = new DefaultHttpContext(); - var service = new CorsService(Mock.Of>()); + var service = new CorsService(new TestCorsOptions()); // Act service.ApplyResult(result, httpContext.Response); @@ -599,7 +597,7 @@ namespace Microsoft.AspNet.Cors.Core.Test }; var httpContext = new DefaultHttpContext(); - var service = new CorsService(Mock.Of>()); + var service = new CorsService(new TestCorsOptions()); // Act service.ApplyResult(result, httpContext.Response); @@ -616,7 +614,7 @@ namespace Microsoft.AspNet.Cors.Core.Test result.AllowedMethods.Add("PUT"); var httpContext = new DefaultHttpContext(); - var service = new CorsService(Mock.Of>()); + var service = new CorsService(new TestCorsOptions()); // Act service.ApplyResult(result, httpContext.Response); @@ -636,7 +634,7 @@ namespace Microsoft.AspNet.Cors.Core.Test result.AllowedMethods.Add("POST"); var httpContext = new DefaultHttpContext(); - var service = new CorsService(Mock.Of>()); + var service = new CorsService(new TestCorsOptions()); // Act service.ApplyResult(result, httpContext.Response); @@ -661,7 +659,7 @@ namespace Microsoft.AspNet.Cors.Core.Test result.AllowedMethods.Add("POST"); var httpContext = new DefaultHttpContext(); - var service = new CorsService(Mock.Of>()); + var service = new CorsService(new TestCorsOptions()); // Act service.ApplyResult(result, httpContext.Response); @@ -680,7 +678,7 @@ namespace Microsoft.AspNet.Cors.Core.Test }; var httpContext = new DefaultHttpContext(); - var service = new CorsService(Mock.Of>()); + var service = new CorsService(new TestCorsOptions()); // Act service.ApplyResult(result, httpContext.Response); @@ -697,7 +695,7 @@ namespace Microsoft.AspNet.Cors.Core.Test result.AllowedHeaders.Add("foo"); var httpContext = new DefaultHttpContext(); - var service = new CorsService(Mock.Of>()); + var service = new CorsService(new TestCorsOptions()); // Act service.ApplyResult(result, httpContext.Response); @@ -716,7 +714,7 @@ namespace Microsoft.AspNet.Cors.Core.Test result.AllowedHeaders.Add("baz"); var httpContext = new DefaultHttpContext(); - var service = new CorsService(Mock.Of>()); + var service = new CorsService(new TestCorsOptions()); // Act service.ApplyResult(result, httpContext.Response); @@ -743,7 +741,7 @@ namespace Microsoft.AspNet.Cors.Core.Test result.AllowedHeaders.Add("Accept"); var httpContext = new DefaultHttpContext(); - var service = new CorsService(Mock.Of>()); + var service = new CorsService(new TestCorsOptions()); // Act service.ApplyResult(result, httpContext.Response); @@ -766,7 +764,7 @@ namespace Microsoft.AspNet.Cors.Core.Test result.AllowedHeaders.Add("Content-Language"); var httpContext = new DefaultHttpContext(); - var service = new CorsService(Mock.Of>()); + var service = new CorsService(new TestCorsOptions()); // Act service.ApplyResult(result, httpContext.Response); @@ -785,7 +783,7 @@ namespace Microsoft.AspNet.Cors.Core.Test }; var httpContext = new DefaultHttpContext(); - var service = new CorsService(Mock.Of>()); + var service = new CorsService(new TestCorsOptions()); // Act service.ApplyResult(result, httpContext.Response); @@ -802,7 +800,7 @@ namespace Microsoft.AspNet.Cors.Core.Test result.AllowedExposedHeaders.Add("foo"); var httpContext = new DefaultHttpContext(); - var service = new CorsService(Mock.Of>()); + var service = new CorsService(new TestCorsOptions()); // Act service.ApplyResult(result, httpContext.Response); @@ -821,7 +819,7 @@ namespace Microsoft.AspNet.Cors.Core.Test result.AllowedExposedHeaders.Add("baz"); var httpContext = new DefaultHttpContext(); - var service = new CorsService(Mock.Of>()); + var service = new CorsService(new TestCorsOptions()); // Act service.ApplyResult(result, httpContext.Response); @@ -847,7 +845,7 @@ namespace Microsoft.AspNet.Cors.Core.Test }; var httpContext = new DefaultHttpContext(); - var service = new CorsService(Mock.Of>()); + var service = new CorsService(new TestCorsOptions()); // Act service.ApplyResult(result, httpContext.Response); @@ -865,7 +863,7 @@ namespace Microsoft.AspNet.Cors.Core.Test PreflightMaxAge = TimeSpan.FromSeconds(30) }; var httpContext = new DefaultHttpContext(); - var service = new CorsService(Mock.Of>()); + var service = new CorsService(new TestCorsOptions()); // Act service.ApplyResult(result, httpContext.Response); diff --git a/test/Microsoft.AspNet.Cors.Core.Test/DefaultCorsPolicyProviderTests.cs b/test/Microsoft.AspNet.Cors.Core.Test/DefaultCorsPolicyProviderTests.cs index b8e3e2deb3..0ff2f0b0ef 100644 --- a/test/Microsoft.AspNet.Cors.Core.Test/DefaultCorsPolicyProviderTests.cs +++ b/test/Microsoft.AspNet.Cors.Core.Test/DefaultCorsPolicyProviderTests.cs @@ -3,8 +3,6 @@ using System.Threading.Tasks; using Microsoft.AspNet.Http.Internal; -using Microsoft.Framework.OptionsModel; -using Moq; using Xunit; namespace Microsoft.AspNet.Cors.Core.Test @@ -19,11 +17,11 @@ namespace Microsoft.AspNet.Cors.Core.Test var policy = new CorsPolicy(); options.AddPolicy(options.DefaultPolicyName, policy); - var mockOptions = new Mock>(); - mockOptions - .SetupGet(o => o.Value) - .Returns(options); - var policyProvider = new DefaultCorsPolicyProvider(mockOptions.Object); + var corsOptions = new TestCorsOptions + { + Value = options + }; + var policyProvider = new DefaultCorsPolicyProvider(corsOptions); // Act var actualPolicy = await policyProvider.GetPolicyAsync(new DefaultHttpContext(), policyName: null); @@ -42,11 +40,11 @@ namespace Microsoft.AspNet.Cors.Core.Test var policy = new CorsPolicy(); options.AddPolicy(policyName, policy); - var mockOptions = new Mock>(); - mockOptions - .SetupGet(o => o.Value) - .Returns(options); - var policyProvider = new DefaultCorsPolicyProvider(mockOptions.Object); + var corsOptions = new TestCorsOptions + { + Value = options + }; + var policyProvider = new DefaultCorsPolicyProvider(corsOptions); // Act var actualPolicy = await policyProvider.GetPolicyAsync(new DefaultHttpContext(), policyName); diff --git a/test/Microsoft.AspNet.Cors.Core.Test/TestCorsOptions.cs b/test/Microsoft.AspNet.Cors.Core.Test/TestCorsOptions.cs new file mode 100644 index 0000000000..5bce510449 --- /dev/null +++ b/test/Microsoft.AspNet.Cors.Core.Test/TestCorsOptions.cs @@ -0,0 +1,12 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.Framework.OptionsModel; + +namespace Microsoft.AspNet.Cors.Core.Test +{ + public class TestCorsOptions : IOptions + { + public CorsOptions Value { get; set; } + } +} diff --git a/test/Microsoft.AspNet.Cors.Core.Test/project.json b/test/Microsoft.AspNet.Cors.Core.Test/project.json index 7eb54ebb50..8d78c46151 100644 --- a/test/Microsoft.AspNet.Cors.Core.Test/project.json +++ b/test/Microsoft.AspNet.Cors.Core.Test/project.json @@ -4,15 +4,14 @@ "dependencies": { "Microsoft.AspNet.Cors.Core": "6.0.0-*", "Microsoft.AspNet.Http": "1.0.0-*", - "Moq": "4.2.1312.1622", "xunit.runner.aspnet": "2.0.0-aspnet-*" }, - "commands": { "test": "xunit.runner.aspnet" }, "frameworks" : { - "dnx451" : { } + "dnx451": { }, + "dnxcore50": { } } }