public void Assure_entire_hierarcy_is_correctly_persisted() { var persister = new CIServerDatabaseRepository(factory); persister.Save(server); RecreateSessionFactory(); var results = factory.OpenSession().CreateCriteria(typeof(CIServer)).List<CIServer>(); results.Count.ShouldBe(1); var ciServer = results[0]; ciServer.Projects.Count().ShouldBe(2); var project1 = ciServer.Projects.ElementAt(0); var project2 = ciServer.Projects.ElementAt(1); project1.ProjectName.ShouldBe(TESTPROJECTNAME_ONE); project1.Server.ShouldBe(ciServer); project1.Builds.Count().ShouldBe(3); project1.Builds.ElementAt(0).Project.ShouldBe(project1); project1.Builds.ElementAt(1).Project.ShouldBe(project1); project1.Builds.ElementAt(2).Project.ShouldBe(project1); project2.ProjectName.ShouldBe(TESTPROJECTNAME_TWO); project2.Server.ShouldBe(ciServer); project2.Builds.Count().ShouldBe(3); project2.Builds.ElementAt(0).Project.ShouldBe(project2); project2.Builds.ElementAt(1).Project.ShouldBe(project2); project2.Builds.ElementAt(2).Project.ShouldBe(project2); }
public void Assure_identical_builds_from_different_projects_are_distinct_in_database() { var ciProjectPersister = new CIServerDatabaseRepository(factory); ciProjectPersister.Save(server); var dbResults = factory.OpenSession().CreateCriteria(typeof(CIServer)).List<CIServer>(); dbResults.Count.ShouldBe(1); dbResults[0].Name.ShouldBe(server.Name); var commonBuildInProject1 = dbResults[0].Projects.ElementAt(0).Builds.Last(); var commonBuildInProject2 = dbResults[0].Projects.ElementAt(1).Builds.Last(); commonBuildInProject1.ShouldNotBe(commonBuildInProject2); }
public void Setup() { DeleteDatabaseIfExists(); RecreateSessionFactory(); var sessionFactory = NHibernateFactory.AssembleSessionFactory(DATABASE_TEST_FILE); var persister = new CIServerDatabaseRepository(sessionFactory); var server = new CIServer("goeran", "http://goeran.no"); server.AddProject(new CIProject("goeran - development") { SystemId = "1" }); var server2 = new CIServer("jonas", "http://jonas.no"); server2.AddProject(new CIProject("jonas - development") { SystemId = "2" }); persister.Save(server); persister.Save(server2); session = sessionFactory.OpenSession(); }