public void Authenticated_MissingServicePermission()
        {
            var principal = new ClaimsPrincipalBuilder().WithName("User001").WithGroup(InValidAuthorisationGroupClaim).Build();

            var configurationService = new Mock <IConfigurationService>();

            configurationService.Setup(c => c.Get <ManageWebConfiguration>())
            .Returns(new ManageWebConfiguration {
                AuthorisationGroupClaim = ValidAuthorisationGroupClaim
            });

            var mediator = new AgencyUserMediatorBuilder().With(configurationService).Build();

            var response = mediator.Authorize(principal);

            response.AssertMessage(AgencyUserMediatorCodes.Authorize.MissingServicePermission, AuthorizeMessages.MissingServicePermission, UserMessageLevel.Error);
        }
        public void Authorize_EmptyUsername()
        {
            var principal = new ClaimsPrincipalBuilder().Build();

            var configurationService = new Mock <IConfigurationService>();

            configurationService.Setup(c => c.Get <ManageWebConfiguration>())
            .Returns(new ManageWebConfiguration {
                AuthorisationGroupClaim = ValidAuthorisationGroupClaim
            });

            var mediator = new AgencyUserMediatorBuilder().With(configurationService).Build();

            var response = mediator.Authorize(principal);

            response.AssertMessage(AgencyUserMediatorCodes.Authorize.EmptyUsername, AuthorizeMessages.EmptyUsername, UserMessageLevel.Error);
        }
        public void Authenticated_SessionReturnUrlNotAllowed()
        {
            const string returnUrl        = "http://notallowedurl.com/";
            var          userDataProvider = new Mock <IUserDataProvider>();

            userDataProvider.Setup(p => p.Pop(UserDataItemNames.ReturnUrl)).Returns(returnUrl);

            var configurationService = new Mock <IConfigurationService>();

            configurationService.Setup(c => c.Get <ManageWebConfiguration>())
            .Returns(new ManageWebConfiguration {
                AuthorisationGroupClaim = ValidAuthorisationGroupClaim
            });

            var mediator = new AgencyUserMediatorBuilder().With(userDataProvider).With(configurationService).Build();

            var principal = new ClaimsPrincipalBuilder().WithName("User001").WithGroup(ValidAuthorisationGroupClaim).Build();

            var response = mediator.Authorize(principal);

            response.AssertCodeAndMessage(AgencyUserMediatorCodes.Authorize.Ok);
        }