RemoveImpersonation(IUserInfo testUser, FakeCookie requestCookie)
 {
     (var impersonationService, var httpContext, var log) = CreateImpersonationService(testUser);
     httpContext.RequestCookies.Add(requestCookie);
     impersonationService.RemoveImpersonation();
     return(httpContext.ResponseCookies.SingleOrDefault(), log);
 }
Exemple #2
0
        public GroupControllerTest()
        {
            _filteredUrl = new Mock <IFilteredUrl>();
            _logger      = new Mock <ILogger <GroupsController> >();

            var emailLogger      = new Mock <ILogger <GroupEmailBuilder> >();
            var eventEmailLogger = new Mock <ILogger <EventEmailBuilder> >();
            var emailClient      = new Mock <IHttpEmailClient>();
            var emailConfig      = new Mock <IApplicationConfiguration>();

            emailConfig.Setup(a => a.GetEmailEmailFrom(It.IsAny <string>()))
            .Returns(AppSetting.GetAppSetting("GroupSubmissionEmail"));

            _groupEmailBuilder = new Mock <GroupEmailBuilder>(emailLogger.Object, emailClient.Object, emailConfig.Object, new BusinessId("BusinessId"));
            _eventEmailBuilder = new Mock <EventEmailBuilder>(eventEmailLogger.Object, emailClient.Object, emailConfig.Object, new BusinessId("BusinessId"));

            var mockTime   = new Mock <ITimeProvider>();
            var viewHelper = new ViewHelpers(mockTime.Object);

            datetimeCalculator = new DateCalculator(mockTime.Object);

            http = new Mock <IHttpContextAccessor>();

            var cookies = new FakeCookie(true);

            http.Setup(_ => _.HttpContext.Request.Cookies).Returns(cookies);

            _groupController = new GroupsController(_processedRepository.Object, _repository.Object, _groupEmailBuilder.Object, _eventEmailBuilder.Object, _filteredUrl.Object, _logger.Object, _configuration.Object, _markdownWrapper.Object, viewHelper, datetimeCalculator, _loggedInHelper.Object, _groupsService.Object, _cookiesHelper.Object, new StockportWebapp.FeatureToggling.FeatureToggles());

            // setup mocks
            _groupsService.Setup(o => o.GetGroupCategories()).ReturnsAsync(groupCategories);
            _groupsService.Setup(o => o.GetGroupHomepage()).ReturnsAsync(groupHomepage);
            _groupsService.Setup(o => o.GetAvailableGroupCategories()).ReturnsAsync(new List <string>());
            _groupsService.Setup(o => o.GetErrorsFromModelState(It.IsAny <ModelStateDictionary>())).Returns("");
        }
Exemple #3
0
        public void InvalidImpersonationCookie()
        {
            var testUser      = new FakeUserInfo("TestUser");
            var invalidCookie = new FakeCookie(ImpersonationService.CookieKey, "abc", null);

            var response = ImpersonationServiceHelper.GetAuthenticationInfo(testUser, invalidCookie);

            Assert.AreEqual(
                "No impersonation, original TestUser",
                ReportImpersonationStatus(response.AuthenticationInfo));
            TestUtility.AssertContains(
                string.Join(Environment.NewLine, response.Log),
                new[] {
                "Error decrypting 'rhetos_impersonation' cookie value.",
                "CryptographicException: An error occurred during a cryptographic operation."
            });
            AssertIsBefore(response.ResponseCookie.Options.Expires.Value, DateTimeOffset.Now.AddSeconds(-1));
            Assert.AreEqual(ImpersonationService.CookieKey, response.ResponseCookie.Key);
        }
 GetAuthenticationInfo(IUserInfo testUser, FakeCookie requestCookie)
 {
     (var impersonationService, var httpContext, var log) = CreateImpersonationService(testUser);
     httpContext.RequestCookies.Add(requestCookie);
     return(impersonationService.GetAuthenticationInfo(), httpContext.ResponseCookies.SingleOrDefault(), log);
 }