Esempio n. 1
0
        static void Main(string[] args)
        {
            const string orgName = "Halethorpe";
            var masterStore = new DocumentStore {ConnectionStringName = "Master"};
            masterStore.Initialize();
            var orgStore = new DocumentStore { ConnectionStringName =orgName  };
            orgStore.Initialize();


            //var generator =
            //    new OrgDataGenerator(@"..\..\Halethorpe.xlsx", masterStore, orgStore, true, orgName, true, true)
            //.GenerateEmails()
            //    .GenerateHigs()
            //.GenerateConcern()
            //.GenerateLeave()
            //.GeneratePraise()
            //.GenerateSickness()
            //.GenerateLookupData()
            //.SetupAvatars()
            //;

            //var generator =
            //    new OrgDataGenerator(@"..\..\Halethorpe.xlsx", masterStore, orgStore, false, orgName, false, false);
            //var users = generator.GetWbitUsersWithRelationships();

            using (var session = orgStore.OpenSession())
            {
                var generator = new OrgDataGenerator("", masterStore, orgStore, false, orgName, false, false); 
                var users = session.Query<User>().Take(1024).ToDictionary(u => u.Id);
                generator.GenerateEmails(users).GenerateYammers(users);
            }

            

        }
 public void ProvisionUsers()
 {
     InitOrgStore();
     InitMasterStore();
     var config = new ProvisionerConfig {Users = CreateTestUsers()};
     var generator = new OrgDataGenerator(config, OrgStore, MasterStore,MockRepository.GenerateStub<log4net.ILog>());
     
     using (var session = OrgStore.OpenSession())
     {
        Assert.AreEqual(config.Users.Count(), session.Query<User>().Count()); ;
     }
 }
        public void SicknessesProvisioned()
        {
            InitOrgStore();
            InitMasterStore();
            var config = GetProvisionerConfig();
            var generator = new OrgDataGenerator(config, OrgStore, MasterStore,MockRepository.GenerateStub<log4net.ILog>())
                .GenerateSickness();

            using (var session = OrgStore.OpenSession())
            {
                var possibleMaxSicknesses = config.Users.Count()*config.SicknessConfig.MaxNumPerUserPerYear;
                var possibleMinSicknesses = config.Users.Count() * config.SicknessConfig.MinNumPerUserPerYear;
                var actualSicknesses = session.Query<Sickness>().Count();
                Assert.IsTrue(actualSicknesses>=possibleMinSicknesses);
                Assert.IsTrue(actualSicknesses <= possibleMaxSicknesses);
                foreach (var user in config.Users)
                {
                    Assert.IsNotNull(session.Query<Sickness>().FirstOrDefault(sick=>sick.Subject.UserId==user.Id));
                }
            }
        }
        public void EmailsProvisioned()
        {
            InitOrgStore();
            InitMasterStore();
            var config = GetProvisionerConfig();
            var generator = new OrgDataGenerator(config, OrgStore, MasterStore, MockRepository.GenerateStub<log4net.ILog>(), false)
                .GenerateEmails();

            using (var session = OrgStore.OpenSession())
            {
                var possibleMax = config.Users.Count() * config.EmailConfig.MaxNumPerUserPerDay * DaysHistory * 2;
                var possibleMin = config.Users.Count() * config.EmailConfig.MinNumPerUserPerDay * DaysHistory * 2;
                var actual = session.Query<EmailComms>().Count();
                Assert.IsTrue(actual >= possibleMin);
                Assert.IsTrue(actual <= possibleMax);

                foreach (var user in config.Users)
                {
                    Assert.IsNotNull(session.Query<EmailComms>().FirstOrDefault(e => e.From == user.EmailAddress));
                }
            }
        }
        public void RewardsProvisioned()
        {
            InitOrgStore();
            InitMasterStore();
            var config = GetProvisionerConfig();
            var log = MockRepository.GenerateStub<log4net.ILog>();
            var generator = new OrgDataGenerator(config, OrgStore, MasterStore, log)
                .GenerateRewards();

            using (var session = OrgStore.OpenSession())
            {
                var possibleMax = config.Users.Count() * config.RewardsConfig.MaxNumPerUserPerYear;
                var possibleMin = config.Users.Count() * config.RewardsConfig.MinNumPerUserPerYear;
                var actual = session.Query<Reward>().Count();
                Assert.IsTrue(actual >= possibleMin);
                Assert.IsTrue(actual <= possibleMax);
                foreach (var reward in session.Query<Reward>().Take(5))
                {
                    Assert.IsTrue(_potentialComments.Contains(reward.Message));
                    foreach (var attributeName in reward.Attributes.Select(a=>a.Name))
                    {
                        Assert.IsTrue(_potentialAttributes.Select(att=>att.Name).Contains(attributeName));  
                    }
                     
                }
                foreach (var user in config.Users)
                {
                    Assert.IsNotNull(session.Query<Reward>().FirstOrDefault(c => c.SubjectUser.UserId == user.Id));
                    Assert.IsNotNull(session.Query<Reward>().FirstOrDefault(c => c.RewardGiver.UserId == user.Id));
                }
            }
        }
        public void ConcernsProvisioned()
        {
            InitOrgStore();
            InitMasterStore();
            var config = GetProvisionerConfig();
            var generator = new OrgDataGenerator(config, OrgStore, MasterStore, MockRepository.GenerateStub<log4net.ILog>())
                .GenerateConcern();

            using (var session = OrgStore.OpenSession())
            {
                var possibleMax = config.Users.Count() * config.PraiseConfig.MaxNumPerUserPerYear;
                var possibleMin = config.Users.Count() * config.PraiseConfig.MinNumPerUserPerYear;
                var actual = session.Query<Concern>().Count();
                Assert.IsTrue(actual >= possibleMin);
                Assert.IsTrue(actual <= possibleMax);
                foreach (var concern in session.Query<Concern>().Take(5))
                {
                    Assert.IsTrue(_potentialComments.Contains(concern.Comment));
                }
                foreach (var user in config.Users)
                {
                    Assert.IsNotNull(session.Query<Concern>().FirstOrDefault(c => c.SubjectUser.UserId == user.Id));
                }
            }
        }
        public void LeavesProvisioned()
        {
            InitOrgStore();
            InitMasterStore();
            var config = GetProvisionerConfig();
            var generator = new OrgDataGenerator(config, OrgStore, MasterStore, MockRepository.GenerateStub<log4net.ILog>())
                .GenerateLeave();

            using (var session = OrgStore.OpenSession())
            {
                var possibleMax = config.Users.Count() * config.LeaveConfig.MaxNumPerUserPerYear;
                var possibleMin = config.Users.Count() * config.LeaveConfig.MinNumPerUserPerYear;
                var actual = session.Query<Leave>().Count();
                Assert.IsTrue(actual >= possibleMin);
                Assert.IsTrue(actual <= possibleMax);
                foreach (var user in config.Users)
                {
                    Assert.IsNotNull(session.Query<Leave>().FirstOrDefault(l => l.Subject.UserId == user.Id));
                }
            }
        }