public void GivenPrincipalIsNotClaimsPrincipal_WhenMapFrom_ThenReturnNull()
        {
            MockHttpContext.User = MockRepository.GenerateMock <IPrincipal>();
            AuthorizationContext filterContext = ControllerContextFactory.CreateAuthorizationContext(MockHttpContextBase);

            EducationSecurityPrincipal actual = UserIdentityMapAttribute.MapFrom(filterContext);

            Assert.IsNull(actual);
        }
Exemple #2
0
        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();
 }