private CoreConfigurationService GetTestCoreConfigurationService(string testName) { string appName = $"{testName}_TestAppName"; string userDbPath = $".\\{testName}_Test"; string configurationName = $"{testName}_TestConfigName"; string testUserName = $"{testName}_TestUserName"; Database userDb = new SQLiteDatabase(testName); ApplicationRegistrationRepository coreRepo = new ApplicationRegistrationRepository(); coreRepo.Database = new SQLiteDatabase($"{testName}_coredb"); userDb.TryEnsureSchema <UserAccounts.Data.User>(); Db.For <UserAccounts.Data.User>(userDb); CoreConfigurationService configSvc = new CoreConfigurationService(coreRepo, new Server.AppConf(), userDbPath); configSvc.DaoRepository = coreRepo; IApplicationNameProvider appNameProvider = Substitute.For <IApplicationNameProvider>(); appNameProvider.GetApplicationName().Returns(appName); configSvc.ApplicationNameProvider = appNameProvider; IUserManager userMgr = Substitute.For <IUserManager>(); UserAccounts.Data.User testUser = new UserAccounts.Data.User(); testUser.UserName = testUserName; userMgr.GetUser(Arg.Any <IHttpContext>()).Returns(testUser); configSvc.UserManager = userMgr; return(configSvc); }
public void TestTheSetup() { CoreApplicationRegistrationService svc = GetTestService(); string userName = 8.RandomLetters(); UserAccounts.Data.User user = SetCurrentUser(userName, svc); Expect.AreEqual(userName, user.UserName); UserAccounts.Data.User sessionUser = Session.Get(svc.HttpContext).UserOfUserId; Expect.IsNotNull(sessionUser); Expect.AreEqual(userName, sessionUser.UserName, "UserName didn't match"); Expect.AreEqual(sessionUser, svc.CurrentUser, "Users didn't match"); }
public bool Notify(string recipientIdentifier, EmailBody emailBody, string subject = null) { try { UserAccounts.Data.User user = ValidateRecipientOrDie(recipientIdentifier); NotifyUser(user, emailBody, subject); return(true); } catch (Exception ex) { Logger.AddEntry("Error sending notification to ({0}): {1}", ex, recipientIdentifier, ex.Message); return(false); } }
private ConfigurationService GetTestCoreConfigurationService(string testName) { string appName = $"{testName}_TestAppName"; string userDbPath = $".\\{testName}_Test"; string configurationName = $"{testName}_TestConfigName"; string testUserName = $"{testName}_TestUserName"; Database userDb = new SQLiteDatabase(testName); ApplicationRegistrationRepository coreRepo = new ApplicationRegistrationRepository(); coreRepo.Database = new SQLiteDatabase($"{testName}_coredb"); userDb.TryEnsureSchema <UserAccounts.Data.User>(); Db.For <UserAccounts.Data.User>(userDb); ConfigurationService configSvc = new ConfigurationService(coreRepo, new Server.AppConf(), userDbPath); configSvc.DaoRepository = coreRepo; IApplicationNameProvider appNameProvider = Substitute.For <IApplicationNameProvider>(); appNameProvider.GetApplicationName().Returns(appName); configSvc.ApplicationNameProvider = appNameProvider; IUserManager userMgr = Substitute.For <IUserManager>(); UserAccounts.Data.User testUser = new UserAccounts.Data.User() { UserName = testUserName }; userMgr.GetUser(Arg.Any <IHttpContext>()).Returns(testUser); configSvc.UserManager = userMgr; IHttpContext ctx = Substitute.For <IHttpContext>(); ctx.Request = Substitute.For <IRequest>(); NameValueCollection headers = new NameValueCollection { [CustomHeaders.ApplicationName] = testName }; ctx.Request.Headers.Returns(headers); ctx.Request.Cookies.Returns(new System.Net.CookieCollection()); ctx.Response = Substitute.For <IResponse>(); ctx.Response.Cookies.Returns(new System.Net.CookieCollection()); configSvc.HttpContext = ctx; return(configSvc); }
private static UserAccounts.Data.User SetCurrentUser(string userName, CoreApplicationRegistrationService svc) { IHttpContext ctx = Substitute.For <IHttpContext>(); ctx.Request = Substitute.For <IRequest>(); ctx.Request.Url.Returns(new Uri("http://test.cxm")); NameValueCollection headers = new NameValueCollection(); headers["REMOTE_ADDR"] = "127.0.0.1"; ctx.Request.Headers.Returns(headers); ctx.Response = Substitute.For <IResponse>(); CookieCollection Cookies = new CookieCollection(); Cookie sessionCookie = new Cookie(Session.CookieName, "0368c7fde0a40272d42e14e224d37761dbccef665116ccb063ae31aaa7708d72"); Cookies.Add(sessionCookie); ctx.Request.Cookies.Returns(Cookies); ctx.Response.Cookies.Returns(Cookies); svc.HttpContext = ctx; SessionCollection sessions = Session.LoadAll(); sessions.Delete(); UserCollection users = UserAccounts.Data.User.LoadAll(); users.Delete(); UserAccounts.Data.User result = UserAccounts.Data.User.Create(userName); Session session = Session.Get(ctx); session.UserId = result.Id; session.Save(); IEnumerable <Organization> organizations = svc.CoreRegistryRepository.RetrieveAll <Organization>(); organizations.Each(o => svc.CoreRegistryRepository.Delete(o)); Expect.AreEqual(0, svc.CoreRegistryRepository.RetrieveAll <Organization>().Count()); IEnumerable <ApplicationRegistration.Application> apps = svc.CoreRegistryRepository.RetrieveAll <ApplicationRegistration.Application>(); apps.Each(a => svc.CoreRegistryRepository.Delete(a)); Expect.AreEqual(0, svc.CoreRegistryRepository.RetrieveAll <ApplicationRegistration.Application>().Count()); svc.CoreRegistryRepository.RetrieveAll <ApplicationRegistration.Machine>().Each(h => svc.CoreRegistryRepository.Delete(h)); return(result); }
protected internal bool IsValidUserUuid(string uuid, Database db, out UserAccounts.Data.User user) { user = UserAccounts.Data.User.FirstOneWhere(u => u.Uuid == uuid, db); return(user != null); }
protected internal bool IsValidUserEmail(string emailAddress, Database db, out UserAccounts.Data.User user) { user = UserAccounts.Data.User.FirstOneWhere(u => u.Email == emailAddress, db); return(user != null); }
public bool NotifyUser(UserAccounts.Data.User user, EmailBody emailBody, string subject, string from = null, string fromDisplayName = null) { return(NotifyRecipientEmail(user.Email, emailBody, subject, from, fromDisplayName)); }