var pipelineDB db.PipelineDB var otherPipelineDB db.PipelineDB BeforeEach(func() { postgresRunner.Truncate() dbConn = postgresRunner.Open() listener = pq.NewListener(postgresRunner.DataSourceName(), time.Second, time.Minute, nil) Eventually(listener.Ping, 5*time.Second).ShouldNot(HaveOccurred()) bus := db.NewNotificationsBus(listener, dbConn) sqlDB = db.NewSQL(lagertest.NewTestLogger("test"), dbConn, bus) pipelineDBFactory = db.NewPipelineDBFactory(lagertest.NewTestLogger("test"), dbConn, bus, sqlDB) _, err := sqlDB.SaveConfig("a-pipeline-name", atc.Config{}, 0, db.PipelineUnpaused) Expect(err).NotTo(HaveOccurred()) pipelineDB, err = pipelineDBFactory.BuildWithName("a-pipeline-name") Expect(err).NotTo(HaveOccurred()) _, err = sqlDB.SaveConfig("another-pipeline", atc.Config{}, 0, db.PipelineUnpaused) Expect(err).NotTo(HaveOccurred()) otherPipelineDB, err = pipelineDBFactory.BuildWithName("another-pipeline") Expect(err).NotTo(HaveOccurred()) }) AfterEach(func() { err := dbConn.Close() Expect(err).NotTo(HaveOccurred())
var dbSharedBehaviorInput = dbSharedBehaviorInput{} BeforeEach(func() { var err error postgresRunner.Truncate() dbConn = postgresRunner.Open() listener = pq.NewListener(postgresRunner.DataSourceName(), time.Second, time.Minute, nil) Eventually(listener.Ping, 5*time.Second).ShouldNot(HaveOccurred()) bus := db.NewNotificationsBus(listener, dbConn) sqlDB = db.NewSQL(lagertest.NewTestLogger("test"), dbConn, bus) sqlDB.SaveConfig("some-pipeline", atc.Config{}, db.ConfigVersion(1), db.PipelineUnpaused) pipelineDBFactory = db.NewPipelineDBFactory(lagertest.NewTestLogger("test"), dbConn, bus, sqlDB) pipelineDB, err = pipelineDBFactory.BuildWithName("some-pipeline") Expect(err).NotTo(HaveOccurred()) dbSharedBehaviorInput.DB = sqlDB dbSharedBehaviorInput.PipelineDB = pipelineDB }) AfterEach(func() { err := dbConn.Close() Expect(err).NotTo(HaveOccurred()) err = listener.Close() Expect(err).NotTo(HaveOccurred())
bus := db.NewNotificationsBus(listener, dbConn) sqlDB = db.NewSQL(lagertest.NewTestLogger("test"), dbConn, bus) pipelineDBFactory = db.NewPipelineDBFactory(lagertest.NewTestLogger("test"), dbConn, bus, sqlDB) team, err := sqlDB.SaveTeam(db.Team{Name: "some-team"}) Expect(err).NotTo(HaveOccurred()) config := atc.Config{ Jobs: atc.JobConfigs{ {Name: "some-job"}, {Name: "some-other-job"}, }, } _, _, err = sqlDB.SaveConfig(team.Name, "a-pipeline-name", config, 0, db.PipelineUnpaused) Expect(err).NotTo(HaveOccurred()) pipelineDB, err = pipelineDBFactory.BuildWithTeamNameAndName(team.Name, "a-pipeline-name") Expect(err).NotTo(HaveOccurred()) _, _, err = sqlDB.SaveConfig(team.Name, "another-pipeline", atc.Config{}, 0, db.PipelineUnpaused) Expect(err).NotTo(HaveOccurred()) otherPipelineDB, err = pipelineDBFactory.BuildWithTeamNameAndName(team.Name, "another-pipeline") Expect(err).NotTo(HaveOccurred()) }) AfterEach(func() { err := dbConn.Close() Expect(err).NotTo(HaveOccurred())
{ Name: "some-job", }, { Name: "some-other-job", }, }, Resources: atc.ResourceConfigs{ { Name: "some-resource", Type: "some-type", }, }, } _, _, err = sqlDB.SaveConfig(team.Name, "a-pipeline-name", config, 0, db.PipelineUnpaused) Expect(err).NotTo(HaveOccurred()) pipelineDB, err = pipelineDBFactory.BuildWithTeamNameAndName(team.Name, "a-pipeline-name") Expect(err).NotTo(HaveOccurred()) }) AfterEach(func() { err := dbConn.Close() Expect(err).NotTo(HaveOccurred()) err = listener.Close() Expect(err).NotTo(HaveOccurred()) }) Context("GetResourceVersions", func() {
AfterEach(func() { err := dbConn.Close() Expect(err).NotTo(HaveOccurred()) err = listener.Close() Expect(err).NotTo(HaveOccurred()) }) Context("on initial create", func() { var pipelineName string BeforeEach(func() { pipelineName = "a-pipeline-name" }) It("returns true for created", func() { _, created, err := database.SaveConfig(team.Name, pipelineName, config, 0, db.PipelineNoChange) Expect(err).NotTo(HaveOccurred()) Expect(created).To(BeTrue()) }) It("caches the team id", func() { _, _, err := database.SaveConfig(team.Name, pipelineName, config, 0, db.PipelineNoChange) Expect(err).NotTo(HaveOccurred()) pipeline, err := database.GetPipelineByTeamNameAndName(team.Name, pipelineName) Expect(err).NotTo(HaveOccurred()) Expect(pipeline.TeamID).To(Equal(team.ID)) }) It("can be saved as paused", func() { _, _, err := database.SaveConfig(team.Name, pipelineName, config, 0, db.PipelinePaused)