public void GivenPrincipalIsNotClaimsPrincipal_WhenMapFrom_ThenReturnNull() { MockHttpContext.User = MockRepository.GenerateMock <IPrincipal>(); AuthorizationContext filterContext = ControllerContextFactory.CreateAuthorizationContext(MockHttpContextBase); EducationSecurityPrincipal actual = UserIdentityMapAttribute.MapFrom(filterContext); Assert.IsNull(actual); }
private void EnsureUser(AuthorizationContext filterContext) { EducationSecurityPrincipal user = filterContext.HttpContext.User as EducationSecurityPrincipal; if (user == null) { user = UserIdentityMapAttribute.MapFrom(filterContext); filterContext.HttpContext.User = user; } UserEntity = user.Identity.UserEntity; }
public void TestInitialize() { MockHttpContext = new HttpContext(new HttpRequest("", "http://tempuri.org", ""), new HttpResponse(new StringWriter())); MockHttpContextBase = new HttpContextWrapper(MockHttpContext); MockAccountManager = MockRepository.GenerateMock <IAccountManager>(); MockDependecyResolver = MockRepository.GenerateMock <IDependencyResolver>(); MockDependecyResolver.Expect(m => m.GetService(typeof(IAccountManager))).Return(MockAccountManager); DependencyResolver.SetResolver(MockDependecyResolver); HttpContext.Current = MockHttpContext; Target = new UserIdentityMapAttribute(); }
public void GivenAuditOnMapCalled_AndClaimsPrincipalMisMatches_WhenAuthorizing_ThenDoNotCallAuditLoginOnAccountManager() { User expectedUserEntity = new User { UserKey = "whatever" }; AuthorizationContext filterContext = CreateAuthorizationContextWithExpectations(expectedUserEntity.UserKey, expectedUserEntity); UserIdentityMapAttribute.AuditOnMap("something else"); Target.OnAuthorization(filterContext); MockAccountManager.AssertWasNotCalled(m => m.AuditLogin(null), o => o.IgnoreArguments()); }
public void GivenAuditOnMapCalled_AndClaimsPrincipalMatches_WhenAuthorizing_ThenCallAuditLoginOnAccountManager() { User expectedUserEntity = new User { UserKey = "whatever" }; AuthorizationContext filterContext = CreateAuthorizationContextWithExpectations(expectedUserEntity.UserKey, expectedUserEntity); UserIdentityMapAttribute.AuditOnMap(expectedUserEntity.UserKey); Target.OnAuthorization(filterContext); EducationSecurityPrincipal actual = MockHttpContext.User as EducationSecurityPrincipal; MockAccountManager.AssertWasCalled(m => m.AuditLogin(actual)); }
public void GivenAuditOnMapCalled_AndClaimsPrincipalMatches_AndUserAuthorized_WhenAuthorizing_ThenDoNotRepeatCallToAuditLoginOnAccountManager() { User expectedUserEntity = new User { UserKey = "whatever" }; AuthorizationContext filterContext = CreateAuthorizationContextWithExpectations(expectedUserEntity.UserKey, expectedUserEntity); System.Security.Claims.ClaimsPrincipal claimsPrincipal = MockHttpContext.User as System.Security.Claims.ClaimsPrincipal; UserIdentityMapAttribute.AuditOnMap(expectedUserEntity.UserKey); Target.OnAuthorization(filterContext); filterContext.HttpContext.User = claimsPrincipal; Target.OnAuthorization(filterContext); EducationSecurityPrincipal actual = MockHttpContext.User as EducationSecurityPrincipal; MockAccountManager.AssertWasCalled(m => m.AuditLogin(null), o => o.IgnoreArguments().Repeat.Once()); }
public void GivenPrincipalIsNull_WhenMapFrom_ThenReturnNull() { AuthorizationContext filterContext = ControllerContextFactory.CreateAuthorizationContext(MockHttpContextBase); Assert.IsNull(UserIdentityMapAttribute.MapFrom(filterContext)); }
public void GivenNullContext_WhenMapFrom_ThenThrowException() { TestExtensions.ExpectException <ArgumentNullException>(() => UserIdentityMapAttribute.MapFrom(null)); }
public void TestInitialize() { MockHttpContext = new HttpContext(new HttpRequest("", "http://tempuri.org", ""), new HttpResponse(new StringWriter())); MockHttpContextBase = new HttpContextWrapper(MockHttpContext); MockAccountManager = MockRepository.GenerateMock<IAccountManager>(); MockDependecyResolver = MockRepository.GenerateMock<IDependencyResolver>(); MockDependecyResolver.Expect(m => m.GetService(typeof(IAccountManager))).Return(MockAccountManager); DependencyResolver.SetResolver(MockDependecyResolver); HttpContext.Current = MockHttpContext; Target = new UserIdentityMapAttribute(); }