public void TestJobDetailMapping() { // given var user1 = GetOrCreateUser("test.job.user"); var site1 = GetOrCreateSite("site1"); DateTime baseTime = DateTime.Now.Subtract(TimeSpan.FromMinutes(5)); var job1 = TestDataBuilder.Build <Job>() .With(j => j.Site, site1) .With(j => j.Owner, user1) .Create(); Session.Save(job1); Session.Flush(); var task1 = TestDataBuilder.Build <JobTask>() .With(j => j.Name, job1.Name) .With(j => j.Job, job1) .Create(); // assert new PersistenceSpecification <JobTaskDetail>(Session, new CustomEqualityComparer()) .CheckProperty(x => x.TryNo, 2) .CheckProperty(x => x.Arguments, "test job details arguments") .CheckProperty(x => x.Status, TaskStatus.Failed) .CheckProperty(x => x.Started, baseTime) .CheckProperty(x => x.Updated, baseTime.AddMinutes(3)) .CheckProperty(x => x.Finished, baseTime.AddMinutes(3)) .CheckProperty(x => x.OutputLog, "test output log") .CheckReference(x => x.OwnerTask, task1) .VerifyTheMappings(); }
public void TestJobTaskMapping() { var user1 = GetOrCreateUser("test.job.user"); var site1 = GetOrCreateSite("site1"); DateTime baseTime = DateTime.Now.Subtract(TimeSpan.FromMinutes(5)); var job1 = TestDataBuilder.Build <Job>() .With(j => j.Site, site1) .With(j => j.Owner, user1) .Create(); Session.Save(job1); Session.Flush(); // assert new PersistenceSpecification <JobTask>(Session, new CustomEqualityComparer()) .CheckProperty(x => x.Name, "Job1") .CheckProperty(x => x.Status, TaskStatus.InProgress) .CheckProperty(x => x.ProgressEstimate, 18) .CheckProperty(x => x.Created, DateTime.Now.Subtract(TimeSpan.FromSeconds(45))) .CheckProperty(x => x.Completed, DateTime.Now.Add(TimeSpan.FromSeconds(45))) .CheckProperty(x => x.FailedMessage, "failed") .CheckProperty(x => x.OwnerUserName, "another.user") .CheckInverseList(x => x.Details, new List <JobTaskDetail> { new JobTaskDetail { TryNo = 1, Started = baseTime.Add(TimeSpan.FromSeconds(10)), Updated = baseTime.Add(TimeSpan.FromSeconds(20)), Finished = baseTime.Add(TimeSpan.FromSeconds(30)), Status = TaskStatus.Failed }, new JobTaskDetail { TryNo = 2, Started = baseTime.Add(TimeSpan.FromSeconds(40)), Updated = baseTime.Add(TimeSpan.FromSeconds(60)), Finished = baseTime.Add(TimeSpan.FromSeconds(60)), Status = TaskStatus.Succeed } }, (j, d) => { d.OwnerTask = j; j.Details.Add(d); }); }
protected Organisation GetOrCreateOrganisation(string name, string address, string phoneNumber) { var person = Session.Query <Organisation>() .Where(e => e.Name == name) .FirstOrDefault(); if (person == null) { person = TestDataBuilder.Build <Organisation>() .With(p => p.Name, name) .Do(p => { var addr1 = TestDataBuilder.Build <Address>() .With(a => a.AddressLine1, address) .With(a => a.AddressType, AddressTypes.Residential) .Without(a => a.Party) .Create(); p.Addresses.Add(addr1); }) .Do(p => { p.Telephones.Add(new Telephone { Area = "02", Number = phoneNumber, Type = TelephoneTypes.Business }); }) .Create(); } return(person); }
private Zone CreateZones(Site site1) { var zoneType1 = ZoneTypeCodes.Blog; var zoneType2 = ZoneTypeCodes.WebContent; var zone1 = TestDataBuilder.Build <Zone>() .With(z => z.Site, site1) .With(x => x.ZoneType, zoneType1) .With(z => z.IsActive, true) .With(z => z.IsPrivate, false) .With(z => z.Name, new PageName("zone1")) .With(z => z.ZoneType, zoneType1) .Create(); Session.Save(zone1); var zone2 = TestDataBuilder.Build <Zone>() .With(z => z.Site, site1) .With(x => x.ZoneType, zoneType2) .With(z => z.IsActive, true) .With(z => z.IsPrivate, true) .With(z => z.Name, new PageName("zone2")) .With(z => z.ZoneType, zoneType2) .Create(); Session.Save(zone2); Session.Flush(); return(zone1); }
private void CreateJobs(Site site1) { var adminRole = GetOrCreateAdminRole(); var jobOwner = TestDataBuilder.NewUser("jobCreator", "*****@*****.**", adminRole, UserStatus.Active); Session.Save(jobOwner); var job1 = TestDataBuilder.Build <Job>() .With(j => j.Owner, jobOwner) .With(j => j.Site, site1) .Create(); var task1 = TestDataBuilder.Build <JobTask>().With(jd => jd.Job, job1).Create(); var task1Detail = TestDataBuilder.Build <JobTaskDetail>().With(jd => jd.OwnerTask, task1).Create(); task1.Details.Add(task1Detail); job1.Tasks.Add(task1); job1.Tasks.Add(TestDataBuilder.Build <JobTask>().Without(jd => jd.Job).Create()); job1.Tasks.Add(TestDataBuilder.Build <JobTask>().Without(jd => jd.Job).Create()); job1.Tasks.ForEach(jd => jd.Job = job1); Session.Save(job1); var job2 = TestDataBuilder.Build <Job>() .With(j => j.Owner, jobOwner) .With(j => j.Site, site1) .Create(); job2.Tasks.Add(TestDataBuilder.Build <JobTask>().Without(jh => jh.Job).Create()); job2.Tasks.ForEach(jd => jd.Job = job2); Session.Save(job2); }
private Portal GetOrCreatePortal() { Portal portal = Session .Query <Portal>() .SingleOrDefault(); if (portal == null) { var adminUser = GetOrCreateAdminUser(); var orgPartyRole = TestDataBuilder.Build <PartyRole>() .With(e => e.Name, "Portal Orgnisation") .Create(); Session.Save(orgPartyRole); var portalOrg = TestDataBuilder.NewOrganisationParty("my portal", "no 3, oak avenue", "484848", new List <PartyRole> { orgPartyRole }); Session.Save(portalOrg); portal = TestDataBuilder.NewPortal(adminUser); portal.Organisation = portalOrg; Session.Save(portal); Session.Flush(); } return(portal); }
private Site CreatePortalAndSite() { var portal = GetOrCreatePortal(); var userRole = GetOrCreateUserRole(); var adminUser = GetOrCreateAdminUser(); var user1 = TestDataBuilder.NewUser("user1", "*****@*****.**", userRole, UserStatus.Active); var user2 = TestDataBuilder.NewUser("user2", "*****@*****.**", userRole, UserStatus.Active); var user3 = TestDataBuilder.NewUser("user3", "*****@*****.**", userRole, UserStatus.Active); Session.Save(user1); Session.Save(user2); Session.Save(user3); var site1 = TestDataBuilder.NewSite("site1", portal, adminUser); site1.Users.Add(user1); site1.Users.Add(user2); site1.Users.Add(user3); Session.Save(site1); Session.Flush(); var setting1 = TestDataBuilder.Build <Setting>() .With(s => s.Section, new PageName("section1")) .With(s => s.Name, new PageName("setting1")) .With(s => s.Site, null) .Create(); Session.Save(setting1); var setting2 = TestDataBuilder.Build <Setting>() .With(s => s.Section, new PageName("section2")) .With(s => s.Name, new PageName("setting1")) .With(s => s.Site, site1) .Create(); Session.Save(setting2); var redirect = TestDataBuilder.Create <Redirect>(); Session.Save(redirect); Session.Flush(); // security var adminRole = GetOrCreateAdminRole(); var user = TestDataBuilder.NewUser("user4", "*****@*****.**", userRole, UserStatus.Active); user.Roles.Add(userRole); Session.Save(user); var systemFunction1 = TestDataBuilder.Build <AppFunction>().Without(e => e.Parent).Create(); adminRole.AppFunctions.Add(systemFunction1); userRole.AppFunctions.Add(systemFunction1); Session.Save(systemFunction1); Session.Flush(); return(site1); }
protected Tag GetOrCreateTag(Site site, string name) { var tag = Session.Query <Tag>() .Where(c => c.Name == name) .SingleOrDefault(); if (tag == null) { tag = TestDataBuilder.Build <Tag>() .With(c => c.Site, site) .With(c => c.Name, name) .Create(); Session.Save(tag); Session.Flush(); } return(tag); }
private void CreateWorkflows(Site site1, Zone zone1) { var adminRole = GetOrCreateAdminRole(); var userRole = GetOrCreateUserRole(); var workflow = TestDataBuilder.Build <PostWorkflowRule>() .With(w => w.Site, site1) .With(w => w.ReturnToAuthorForPublish, false) .With(w => w.IsActive, true) .With(w => w.ApproverRole, adminRole) .With(w => w.PublisherRole, userRole) .Create(); Session.Save(workflow); var postCreator2 = TestDataBuilder.NewUser("postOwner2", "*****@*****.**", userRole, UserStatus.Active); Session.Save(postCreator2); var postApprover = TestDataBuilder.NewUser("postApprover2", "*****@*****.**", adminRole, UserStatus.Active); Session.Save(postApprover); var postPublisher = TestDataBuilder.NewUser("postPublisher2", "*****@*****.**", userRole, UserStatus.Active); Session.Save(postPublisher); var post = TestDataBuilder.NewPost(site1, zone1, postCreator2, commentsCount: 5, pingbackCounts: 3, ratingsCount: 10); post.LatestRevision.Reviser = postCreator2; post.Status = PostStatus.Saved; Session.Save(post); post.LatestRevision.Approver = postApprover; post.LatestRevision.ApprovedDate = DateTime.Now; post.LatestRevision.ApproverRoleName = adminRole.Name; post.Status = PostStatus.Approved; Session.SaveOrUpdate(post); post.LatestRevision.Publisher = postPublisher; post.LatestRevision.PublishedDate = DateTime.Now; post.LatestRevision.PublisherRoleName = userRole.Name; post.Status = PostStatus.Published; Session.SaveOrUpdate(post); }
protected PostSerie GetOrCreateSerie(Site site, string name) { var serie = Session.Query <PostSerie>() .Where(s => s.Name == name && s.Site.Id == site.Id) .SingleOrDefault(); if (serie == null) { serie = TestDataBuilder.Build <PostSerie>() .With(s => s.Site, site) .With(s => s.Name, new PageName(name)) .With(s => s.IsPrivate, false) .Create(); Session.Save(serie); Session.Flush(); } return(serie); }
protected Role GetOrCreateAdminRole() { var role = Session.Query <Role>() .Where(r => r.RoleType == RoleTypeCodes.SystemAdmin && r.Name == "Administrator") .FirstOrDefault(); if (role == null) { role = TestDataBuilder.Build <Role>() .Without(r => r.AppFunctions) .With(r => r.Name, "Administrator") .With(r => r.IsSystemRole, true) .With(r => r.RoleType, RoleTypeCodes.SystemAdmin) .Create(); Session.Save(role); Session.Flush(); } return(role); }
protected Person GetOrCreatePerson(string firstName, string lastName, string address, string phoneNumber) { var person = Session.Query <Person>() .Where(e => e.GivenName == firstName && e.Surname == lastName) .FirstOrDefault(); if (person == null) { person = TestDataBuilder.Build <Person>() .With(p => p.GivenName, firstName) .With(p => p.Surname, lastName) .Do(p => { var addr1 = TestDataBuilder.Build <Address>() .With(a => a.AddressLine1, address) .With(a => a.AddressType, AddressTypes.Residential) .Without(a => a.Party) .Create(); p.Addresses.Add(addr1); }) .Do(p => { p.Telephones.Add(new Telephone { Area = "02", Number = phoneNumber, Type = TelephoneTypes.Home }); }) .Create(); foreach (var adr in person.Addresses) { adr.Party = person; } foreach (var tel in person.Telephones) { tel.Party = person; } Session.Save(person); Session.Flush(); } return(person); }
protected Category GetOrCreateCategory(Site site, string name, Category parent = null) { var cat = Session.Query <Category>() .Where(c => c.Name == name) .SingleOrDefault(); if (cat == null) { cat = TestDataBuilder.Build <Category>() .With(c => c.Site, site) .With(c => c.Parent, parent) .With(c => c.IsPrivate, true) .With(c => c.Parent, null) .With(c => c.Name, name) .Create(); Session.Save(cat); Session.Flush(); } return(cat); }
//protected ZoneType GetOrCreateZoneType() { // var zoneType = Session.Query<ZoneType>() // .Where(z => z.Code == ZoneTypeCodes.Blog) // .SingleOrDefault(); // if (zoneType == null) { // zoneType = TestDataBuilder.Build<ZoneType>() // .With(z => z.Code, ZoneTypeCodes.Blog) // .With(z => z.Name, "Blog") // .Create(); // Session.Save(zoneType); // Session.Flush(); // } // return zoneType; //} protected Zone GetOrCreateZone(Site site, string zoneName) { var zone = Session.Query <Zone>() .Where(z => z.ZoneType == ZoneTypeCodes.Blog && z.Site.Id == site.Id && z.Name == zoneName) .FirstOrDefault(); if (zone == null) { zone = TestDataBuilder.Build <Zone>() .With(z => z.Site, site) .With(z => z.Name, new PageName(zoneName)) .With(z => z.ZoneType, ZoneTypeCodes.Blog) .Create(); Session.Save(zone); Session.Flush(); } return(zone); }
private Role GetOrCreateUserRole() { Role userRole = Session .Query <Role>() .Where(r => r.RoleType != RoleTypeCodes.SystemAdmin) .FirstOrDefault(); if (userRole == null) { userRole = TestDataBuilder.Build <Role>() .Without(e => e.AppFunctions) .With(e => e.RoleType, RoleTypeCodes.User) .With(e => e.Name, "user") .Create(); Session.Save(userRole); Session.Flush(); } return(userRole); }
private Role GetOrCreateAdminRole() { Role adminRole = Session .Query <Role>() .Where(r => r.RoleType == RoleTypeCodes.SystemAdmin && r.IsSystemRole) .FirstOrDefault(); if (adminRole == null) { adminRole = TestDataBuilder.Build <Role>() .Without(e => e.AppFunctions) .With(e => e.IsSystemRole, true) .With(e => e.RoleType, RoleTypeCodes.SystemAdmin) .With(e => e.Name, "administrator") .Create(); Session.Save(adminRole); Session.Flush(); } return(adminRole); }
private void CreateAdminUser() { var adminUser = GetOrCreateAdminUser(); var userPartyRole = TestDataBuilder.Build <PartyRole>() .With(e => e.Name, "User") .Create(); Session.Save(userPartyRole); var adminPerson = TestDataBuilder.NewPersonParty("user", "test", "no 3, oak avenue", "33445566", new List <PartyRole> { userPartyRole }); Session.Save(adminPerson); adminUser.Party = adminPerson; Session.SaveOrUpdate(adminUser); Session.Flush(); }
private void CreateCodeSnippets() { var userRole = GetOrCreateUserRole(); var snippetOwner = TestDataBuilder.NewUser("snippetOwner", "*****@*****.**", userRole, UserStatus.Active); Session.Save(snippetOwner); var snippet = TestDataBuilder.NewSnippet(snippetOwner, commentsCount: 3, ratingsCount: 2, pingbackCounts: 100); snippet.Creator = snippetOwner; snippet.LatestRevision.Reviser = snippetOwner; var link = TestDataBuilder.Build <SnippetLink>().Without(c => c.Snippet).Create(); link.Snippet = snippet; snippet.Links.Add(link); Session.Save(snippet); Session.Flush(); }
private void CreatePosts(Site site1, Zone zone1) { var userRole = GetOrCreateUserRole(); var postCreator = TestDataBuilder.NewUser("postOwner", "*****@*****.**", userRole, UserStatus.Active); Session.Save(postCreator); var post = TestDataBuilder.NewPost(site1, zone1, postCreator, commentsCount: 5, pingbackCounts: 3, ratingsCount: 10); post.Creator = postCreator; post.LatestRevision.Reviser = postCreator; Session.Save(post); Session.Flush(); var revision = post.Revise(); revision.Reviser = postCreator; revision.Body = "modified " + revision.Body; Session.SaveOrUpdate(post); var comment = post.Comment(); comment.AuthorName = "commenter"; comment.Body = "this is a test comment"; Session.SaveOrUpdate(post); Session.Flush(); var rate = post.Rate(); rate.Rate = (decimal)4.5; rate.UserIdentity = "user.identity123"; Session.SaveOrUpdate(post); Session.Flush(); var link = TestDataBuilder.Build <PostLink>().Without(c => c.Post).Create(); link.Post = post; post.Links.Add(link); var pingback = TestDataBuilder.Build <Pingback>().Without(c => c.Post).Without(x => x.Snippet).Create(); pingback.Post = post; post.Pingbacks.Add(pingback); Session.SaveOrUpdate(post); Session.Flush(); var tag = TestDataBuilder.Build <Tag>() .With(t => t.Site, site1) .Create(); Session.Save(tag); var category = TestDataBuilder.Build <Category>() .Without(t => t.Parent) .With(t => t.Site, site1) .Create(); Session.Save(category); post.Tags.Add(tag); post.Tags.Add(category); Session.SaveOrUpdate(post); Session.Flush(); var serie = TestDataBuilder.Build <PostSerie>() .With(s => s.Site, site1) .Create(); serie.Posts.Add(post); Session.Save(serie); Session.Flush(); var postPermission = TestDataBuilder.Build <PostPermission>() .With(x => x.User, postCreator) .With(x => x.Post, post) .Create(); Session.Save(postPermission); Session.Flush(); }