RemoveImpersonation(IUserInfo testUser, FakeCookie requestCookie) { (var impersonationService, var httpContext, var log) = CreateImpersonationService(testUser); httpContext.RequestCookies.Add(requestCookie); impersonationService.RemoveImpersonation(); return(httpContext.ResponseCookies.SingleOrDefault(), log); }
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(""); }
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); }