|
|
@@ -6,11 +6,11 @@ using Microsoft.AspNetCore.Authentication;
|
|
|
using Microsoft.AspNetCore.Authorization.Policy;
|
|
|
using Microsoft.AspNetCore.Authorization.Test.TestObjects;
|
|
|
using Microsoft.AspNetCore.Builder;
|
|
|
-using Microsoft.AspNetCore.Hosting;
|
|
|
using Microsoft.AspNetCore.Http;
|
|
|
using Microsoft.AspNetCore.Routing;
|
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
|
using Microsoft.Extensions.Hosting;
|
|
|
+using Microsoft.Extensions.Logging;
|
|
|
using Microsoft.Extensions.Options;
|
|
|
using Microsoft.Extensions.Primitives;
|
|
|
using Moq;
|
|
|
@@ -46,8 +46,9 @@ public class AuthorizationMiddlewareTests
|
|
|
var policyProvider = new Mock<IAuthorizationPolicyProvider>();
|
|
|
policyProvider.Setup(p => p.GetFallbackPolicyAsync()).ReturnsAsync(policy);
|
|
|
var next = new TestRequestDelegate();
|
|
|
+ var logger = new Mock<ILogger<AuthorizationMiddleware>>();
|
|
|
|
|
|
- var middleware = CreateMiddleware(next.Invoke, policyProvider.Object);
|
|
|
+ var middleware = CreateMiddleware(next.Invoke, policyProvider.Object, logger: logger.Object);
|
|
|
var context = GetHttpContext(anonymous: true);
|
|
|
|
|
|
// Act
|
|
|
@@ -85,8 +86,9 @@ public class AuthorizationMiddlewareTests
|
|
|
policyProvider.Setup(p => p.GetDefaultPolicyAsync()).ReturnsAsync(policy);
|
|
|
policyProvider.Setup(p => p.GetFallbackPolicyAsync()).ReturnsAsync(policy);
|
|
|
var next = new TestRequestDelegate();
|
|
|
+ var logger = new Mock<ILogger<AuthorizationMiddleware>>();
|
|
|
|
|
|
- var middleware = CreateMiddleware(next.Invoke, policyProvider.Object);
|
|
|
+ var middleware = CreateMiddleware(next.Invoke, policyProvider.Object, logger: logger.Object);
|
|
|
var context = GetHttpContext(anonymous: true, endpoint: CreateEndpoint());
|
|
|
|
|
|
// Act
|
|
|
@@ -106,8 +108,9 @@ public class AuthorizationMiddlewareTests
|
|
|
policyProvider.Setup(p => p.GetFallbackPolicyAsync()).ReturnsAsync(policy);
|
|
|
var next = new TestRequestDelegate();
|
|
|
var authenticationService = new TestAuthenticationService();
|
|
|
+ var logger = new Mock<ILogger<AuthorizationMiddleware>>();
|
|
|
|
|
|
- var middleware = CreateMiddleware(next.Invoke, policyProvider.Object);
|
|
|
+ var middleware = CreateMiddleware(next.Invoke, policyProvider.Object, logger: logger.Object);
|
|
|
var context = GetHttpContext(anonymous: true, endpoint: CreateEndpoint(new AuthorizeAttribute()), authenticationService: authenticationService);
|
|
|
|
|
|
// Act
|
|
|
@@ -126,8 +129,9 @@ public class AuthorizationMiddlewareTests
|
|
|
policyProvider.Setup(p => p.GetDefaultPolicyAsync()).ReturnsAsync(policy);
|
|
|
var next = new TestRequestDelegate();
|
|
|
var authenticationService = new TestAuthenticationService();
|
|
|
+ var logger = new Mock<ILogger<AuthorizationMiddleware>>();
|
|
|
|
|
|
- var middleware = CreateMiddleware(next.Invoke, policyProvider.Object);
|
|
|
+ var middleware = CreateMiddleware(next.Invoke, policyProvider.Object, logger: logger.Object);
|
|
|
var context = GetHttpContext(anonymous: true, endpoint: CreateEndpoint(new AuthorizeAttribute()), authenticationService: authenticationService);
|
|
|
|
|
|
// Act
|
|
|
@@ -147,8 +151,9 @@ public class AuthorizationMiddlewareTests
|
|
|
policyProvider.Setup(p => p.GetDefaultPolicyAsync()).ReturnsAsync(policy);
|
|
|
var next = new TestRequestDelegate();
|
|
|
var authenticationService = new TestAuthenticationService();
|
|
|
+ var logger = new Mock<ILogger<AuthorizationMiddleware>>();
|
|
|
|
|
|
- var middleware = CreateMiddleware(next.Invoke, policyProvider.Object);
|
|
|
+ var middleware = CreateMiddleware(next.Invoke, policyProvider.Object, logger: logger.Object);
|
|
|
var context = GetHttpContext(endpoint: CreateEndpoint(new AuthorizeAttribute() { AuthenticationSchemes = "whatever" }), authenticationService: authenticationService);
|
|
|
|
|
|
// Act
|
|
|
@@ -168,8 +173,9 @@ public class AuthorizationMiddlewareTests
|
|
|
policyProvider.Setup(p => p.GetDefaultPolicyAsync()).ReturnsAsync(policy);
|
|
|
var next = new TestRequestDelegate();
|
|
|
var authenticationService = new TestAuthenticationService();
|
|
|
+ var logger = new Mock<ILogger<AuthorizationMiddleware>>();
|
|
|
|
|
|
- var middleware = CreateMiddleware(next.Invoke, policyProvider.Object);
|
|
|
+ var middleware = CreateMiddleware(next.Invoke, policyProvider.Object, logger: logger.Object);
|
|
|
var context = GetHttpContext(anonymous: true, endpoint: CreateEndpoint(new AuthorizeAttribute()), authenticationService: authenticationService);
|
|
|
|
|
|
// Act
|
|
|
@@ -193,7 +199,8 @@ public class AuthorizationMiddlewareTests
|
|
|
policyProvider.Setup(p => p.GetFallbackPolicyAsync()).ReturnsAsync(policy)
|
|
|
.Callback(() => getFallbackPolicyCount++);
|
|
|
var next = new TestRequestDelegate();
|
|
|
- var middleware = CreateMiddleware(next.Invoke, policyProvider.Object);
|
|
|
+ var logger = new Mock<ILogger<AuthorizationMiddleware>>();
|
|
|
+ var middleware = CreateMiddleware(next.Invoke, policyProvider.Object, logger: logger.Object);
|
|
|
var context = GetHttpContext(anonymous: true, endpoint: CreateEndpoint(new AuthorizeAttribute("whatever")));
|
|
|
|
|
|
// Act & Assert
|
|
|
@@ -235,12 +242,13 @@ public class AuthorizationMiddlewareTests
|
|
|
.Callback(() => getFallbackPolicyCount++);
|
|
|
policyProvider.Setup(p => p.AllowsCachingPolicies).Returns(true);
|
|
|
var next = new TestRequestDelegate();
|
|
|
+ var logger = new Mock<ILogger<AuthorizationMiddleware>>();
|
|
|
|
|
|
var endpoint = CreateEndpoint(new AuthorizeAttribute("whatever"));
|
|
|
var services = new ServiceCollection()
|
|
|
.AddAuthorization()
|
|
|
.AddSingleton(CreateDataSource(endpoint)).BuildServiceProvider();
|
|
|
- var middleware = CreateMiddleware(next.Invoke, policyProvider.Object, services);
|
|
|
+ var middleware = CreateMiddleware(next.Invoke, policyProvider.Object, services, logger.Object);
|
|
|
var context = GetHttpContext(anonymous: true, endpoint: endpoint);
|
|
|
|
|
|
// Act & Assert
|
|
|
@@ -299,7 +307,8 @@ public class AuthorizationMiddlewareTests
|
|
|
var services = new ServiceCollection()
|
|
|
.AddAuthorization()
|
|
|
.AddSingleton(CreateDataSource(endpoint)).BuildServiceProvider();
|
|
|
- var middleware = CreateMiddleware(next.Invoke, policyProvider, services);
|
|
|
+ var logger = new Mock<ILogger<AuthorizationMiddleware>>();
|
|
|
+ var middleware = CreateMiddleware(next.Invoke, policyProvider, services, logger.Object);
|
|
|
var context = GetHttpContext(anonymous: true, endpoint: endpoint);
|
|
|
|
|
|
// Act & Assert
|
|
|
@@ -332,7 +341,8 @@ public class AuthorizationMiddlewareTests
|
|
|
policyProvider.Setup(p => p.GetFallbackPolicyAsync()).ReturnsAsync(policy)
|
|
|
.Callback(() => getFallbackPolicyCount++);
|
|
|
var next = new TestRequestDelegate();
|
|
|
- var middleware = CreateMiddleware(next.Invoke, policyProvider.Object);
|
|
|
+ var logger = new Mock<ILogger<AuthorizationMiddleware>>();
|
|
|
+ var middleware = CreateMiddleware(next.Invoke, policyProvider.Object, logger: logger.Object);
|
|
|
var context = GetHttpContext(anonymous: true, endpoint: CreateEndpoint(new AuthorizeAttribute("whatever")));
|
|
|
|
|
|
// Act & Assert
|
|
|
@@ -444,8 +454,9 @@ public class AuthorizationMiddlewareTests
|
|
|
policyProvider.Setup(p => p.GetDefaultPolicyAsync()).ReturnsAsync(policy);
|
|
|
var next = new TestRequestDelegate();
|
|
|
var authenticationService = new TestAuthenticationService();
|
|
|
+ var logger = new Mock<ILogger<AuthorizationMiddleware>>();
|
|
|
|
|
|
- var middleware = CreateMiddleware(next.Invoke, policyProvider.Object);
|
|
|
+ var middleware = CreateMiddleware(next.Invoke, policyProvider.Object, logger: logger.Object);
|
|
|
var context = GetHttpContext(endpoint: CreateEndpoint(new AuthorizeAttribute()), authenticationService: authenticationService);
|
|
|
|
|
|
// Act
|
|
|
@@ -824,11 +835,11 @@ public class AuthorizationMiddlewareTests
|
|
|
Assert.True(app.Properties.ContainsKey("__AuthorizationMiddlewareSet"));
|
|
|
}
|
|
|
|
|
|
- private AuthorizationMiddleware CreateMiddleware(RequestDelegate requestDelegate = null, IAuthorizationPolicyProvider policyProvider = null, IServiceProvider services = null)
|
|
|
+ private AuthorizationMiddleware CreateMiddleware(RequestDelegate requestDelegate = null, IAuthorizationPolicyProvider policyProvider = null, IServiceProvider services = null, ILogger<AuthorizationMiddleware> logger = null)
|
|
|
{
|
|
|
requestDelegate = requestDelegate ?? ((context) => Task.CompletedTask);
|
|
|
services ??= new ServiceCollection().BuildServiceProvider();
|
|
|
- return new AuthorizationMiddleware(requestDelegate, policyProvider, services);
|
|
|
+ return new AuthorizationMiddleware(requestDelegate, policyProvider, services, logger);
|
|
|
}
|
|
|
|
|
|
private Endpoint CreateEndpoint(params object[] metadata)
|