public void GivenAnInvalidToken_OnAuthorize_ReturnsAnHttpUnauthorizedResult() { // Arrange. var tokenAuthorizeAttribute = new RequestHeaderAuthorizeAttribute { Authorization = new InMemoryCustomAuthorization("aaa", "Pew Pew") }; var mockfilterContext = new Mock<AuthorizationContext> {DefaultValue = DefaultValue.Mock}; mockfilterContext.Setup(x => x.HttpContext.Request.Headers) .Returns(new NameValueCollection { {tokenAuthorizeAttribute.Header, "omg"} }); AuthorizationContext filterContext = mockfilterContext.Object; // Act. tokenAuthorizeAttribute.OnAuthorization(filterContext); // Assert. Assert.NotNull(filterContext); var result = filterContext.Result as HttpUnauthorizedResult; Assert.NotNull(result); Assert.Equal("The provided token was not authorized.", result.StatusDescription); }
public void GivenAnValidToken_OnAuthorize_UserIPrincipalIsSet() { // Arrange. var tokenAuthorizeAttribute = new RequestHeaderAuthorizeAttribute { Authorization = new InMemoryCustomAuthorization("aaa", "Pew Pew") }; var mockfilterContext = new Mock<AuthorizationContext> {DefaultValue = DefaultValue.Mock}; mockfilterContext.Setup(x => x.HttpContext.Request.Headers) .Returns(new NameValueCollection { {tokenAuthorizeAttribute.Header, "aaa"} }); AuthorizationContext filterContext = mockfilterContext.Object; // Act. tokenAuthorizeAttribute.OnAuthorization(filterContext); // Assert. Assert.NotNull(filterContext); Assert.NotNull(filterContext.HttpContext.User); Assert.NotNull(filterContext.HttpContext.User.Identity); Assert.True(filterContext.HttpContext.User.Identity.IsAuthenticated); Assert.Equal("Pew Pew", filterContext.HttpContext.User.Identity.Name); Assert.Equal("CustomInMemoryTokenAuthorization", filterContext.HttpContext.User.Identity.AuthenticationType); }
public void GivenNoTokenHeader_OnAuthorize_ReturnsAnHttpUnauthorizedResult() { // Arrange. var tokenAuthorizeAttribute = new RequestHeaderAuthorizeAttribute { Authorization = new InMemoryCustomAuthorization("aaa", "Pew Pew") }; AuthorizationContext filterContext = new Mock<AuthorizationContext> {DefaultValue = DefaultValue.Mock}.Object; // Act. tokenAuthorizeAttribute.OnAuthorization(filterContext); // Assert. Assert.NotNull(filterContext); var result = filterContext.Result as HttpUnauthorizedResult; Assert.NotNull(result); Assert.Equal("The provided token was not authorized.", result.StatusDescription); }