public ManageControllerTests() { //Usermanager mocks var userStoreMock = Substitute.For <IUserStore <ApplicationUser> >(); var optionsMock = Substitute.For <IOptions <IdentityOptions> >(); var passwordHasherMock = Substitute.For <IPasswordHasher <ApplicationUser> >(); var userValidatorMock = Substitute.For <IEnumerable <IUserValidator <ApplicationUser> > >(); var passwordValidatorMock = Substitute.For <IEnumerable <IPasswordValidator <ApplicationUser> > >(); var lookUpNormalizerMock = Substitute.For <ILookupNormalizer>(); var identityErrorDescriberMock = Substitute.For <IdentityErrorDescriber>(); var serviceProviderMock = Substitute.For <IServiceProvider>(); var loggerMock = Substitute.For <ILogger <UserManager <ApplicationUser> > >(); _userManagerMock = Substitute.For <UserManager <ApplicationUser> >( userStoreMock, optionsMock, passwordHasherMock, userValidatorMock, passwordValidatorMock, lookUpNormalizerMock, identityErrorDescriberMock, serviceProviderMock, loggerMock); //SignInManager mocks var contextAccessorMock = Substitute.For <IHttpContextAccessor>(); var claimsPricipleFactoryMock = Substitute.For <IUserClaimsPrincipalFactory <ApplicationUser> >(); var loggerMockSM = Substitute.For <ILogger <SignInManager <ApplicationUser> > >(); _signInManagerMock = Substitute.For <SignInManager <ApplicationUser> >( _userManagerMock, contextAccessorMock, claimsPricipleFactoryMock, optionsMock, loggerMockSM); var cookieOptionsMock = Substitute.For <IOptions <IdentityCookieOptions> >(); var identityOptionsMock = new IdentityCookieOptions(); cookieOptionsMock.Value.Returns(identityOptionsMock); var emailMock = Substitute.For <IEmailSender>(); var smsMock = Substitute.For <ISmsSender>(); var loggerMockCtrl = Substitute.For <ILogger <ManageController> >(); _uut = new ManageController(_userManagerMock, _signInManagerMock, cookieOptionsMock, emailMock, smsMock, loggerMockCtrl).WithDefaultMocks(); }
private static void setCookieOptions(IServiceProvider provider, IdentityCookieOptions identityOptionsCookies, SiteSettings siteSettings) { identityOptionsCookies.ApplicationCookie.CookieName = siteSettings.CookieOptions.CookieName; identityOptionsCookies.ApplicationCookie.CookieHttpOnly = true; identityOptionsCookies.ApplicationCookie.ExpireTimeSpan = siteSettings.CookieOptions.ExpireTimeSpan; identityOptionsCookies.ApplicationCookie.SlidingExpiration = siteSettings.CookieOptions.SlidingExpiration; identityOptionsCookies.ApplicationCookie.LoginPath = siteSettings.CookieOptions.LoginPath; identityOptionsCookies.ApplicationCookie.LogoutPath = siteSettings.CookieOptions.LogoutPath; identityOptionsCookies.ApplicationCookie.AccessDeniedPath = siteSettings.CookieOptions.AccessDeniedPath; identityOptionsCookies.ApplicationCookie.AutomaticChallenge = true; // For Policy-Based Authorization Handler identityOptionsCookies.ApplicationCookie.AutomaticAuthenticate = true; var ticketStore = provider.GetService <ITicketStore>(); ticketStore.CheckArgumentIsNull(nameof(ticketStore)); identityOptionsCookies.ApplicationCookie.SessionStore = ticketStore; // To manage large identity cookies }