Example #1
0
        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);
        }
Example #2
0
        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);
     }
 }
Example #4
0
        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);
        }
Example #5
0
        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));
 }