BeforeEach(func() { location := event.OriginLocation{ID: 1, ParentID: 0, ParallelGroup: 0} // job build data _, err := sqlDB.SaveConfig(atc.DefaultPipelineName, atc.Config{ Jobs: []atc.JobConfig{ {Name: "job-name"}, }, }, db.ConfigVersion(1), db.PipelineUnpaused) Expect(err).NotTo(HaveOccurred()) pipelineDB, err = pipelineDBFactory.BuildWithName(atc.DefaultPipelineName) Expect(err).NotTo(HaveOccurred()) build, err = pipelineDB.CreateJobBuild("job-name") Expect(err).NotTo(HaveOccurred()) _, err = sqlDB.StartBuild(build.ID, "", "") Expect(err).NotTo(HaveOccurred()) sqlDB.SaveBuildEvent(build.ID, event.Log{ Origin: event.Origin{ Name: "origin-name", Type: event.OriginTypeTask, Source: event.OriginSourceStdout, Location: location, }, Payload: "hello this is a payload", })
It("returns the builds, with previous/next pages", func() { historyPage, pagination, err := pipelineDB.GetResourceVersions("some-resource", db.Page{Until: expectedVersions[7].ID, Limit: 2}) Expect(err).ToNot(HaveOccurred()) Expect(historyPage).To(Equal([]db.SavedVersionedResource{expectedVersions[9], expectedVersions[8]})) Expect(pagination.Previous).To(BeNil()) Expect(pagination.Next).To(Equal(&db.Page{Since: expectedVersions[8].ID, Limit: 2})) }) }) Context("when the version has metadata", func() { BeforeEach(func() { metadata := []db.MetadataField{{Name: "name1", Value: "value1"}} expectedVersions[9].Metadata = metadata build, err := pipelineDB.CreateJobBuild("some-job") Expect(err).ToNot(HaveOccurred()) pipelineDB.SaveBuildInput(build.ID, db.BuildInput{ Name: "some-input", VersionedResource: expectedVersions[9].VersionedResource, FirstOccurrence: true, }) }) It("returns the metadata in the version history", func() { historyPage, _, err := pipelineDB.GetResourceVersions("some-resource", db.Page{Limit: 1}) Expect(err).ToNot(HaveOccurred()) Expect(historyPage).To(Equal([]db.SavedVersionedResource{expectedVersions[9]})) }) })
}) AfterEach(func() { err := dbConn.Close() Expect(err).NotTo(HaveOccurred()) err = listener.Close() Expect(err).NotTo(HaveOccurred()) }) Context("GetJobBuilds", func() { var builds [10]db.Build BeforeEach(func() { for i := 0; i < 10; i++ { build, err := pipelineDB.CreateJobBuild("job-name") Expect(err).NotTo(HaveOccurred()) _, err = pipelineDB.CreateJobBuild("other-name") Expect(err).NotTo(HaveOccurred()) builds[i] = build } }) Context("when there are no builds to be found", func() { It("returns the builds, with previous/next pages", func() { buildsPage, pagination, err := pipelineDB.GetJobBuilds("nope", db.Page{}) Expect(err).ToNot(HaveOccurred()) Expect(buildsPage).To(Equal([]db.Build{})) Expect(pagination).To(Equal(db.Pagination{}))
historyPage, pagination, found, err := pipelineDB.GetResourceVersions("some-resource", db.Page{Until: expectedVersions[7].ID, Limit: 2}) Expect(err).ToNot(HaveOccurred()) Expect(found).To(BeTrue()) Expect(historyPage).To(Equal([]db.SavedVersionedResource{expectedVersions[9], expectedVersions[8]})) Expect(pagination.Previous).To(BeNil()) Expect(pagination.Next).To(Equal(&db.Page{Since: expectedVersions[8].ID, Limit: 2})) }) }) Context("when the version has metadata", func() { BeforeEach(func() { metadata := []db.MetadataField{{Name: "name1", Value: "value1"}} expectedVersions[9].Metadata = metadata build, err := pipelineDB.CreateJobBuild("some-job") Expect(err).ToNot(HaveOccurred()) pipelineDB.SaveBuildInput(build.ID, db.BuildInput{ Name: "some-input", VersionedResource: expectedVersions[9].VersionedResource, FirstOccurrence: true, }) }) It("returns the metadata in the version history", func() { historyPage, _, found, err := pipelineDB.GetResourceVersions("some-resource", db.Page{Limit: 1}) Expect(err).ToNot(HaveOccurred()) Expect(found).To(BeTrue()) Expect(historyPage).To(Equal([]db.SavedVersionedResource{expectedVersions[9]})) })
pipelineDB, err = pipelineDBFactory.BuildWithTeamNameAndName(team.Name, "some-pipeline") Expect(err).NotTo(HaveOccurred()) database = sqlDB }) AfterEach(func() { err := dbConn.Close() Expect(err).NotTo(HaveOccurred()) err = listener.Close() Expect(err).NotTo(HaveOccurred()) }) It("can get a build's inputs", func() { build, err := pipelineDB.CreateJobBuild("some-job") Expect(err).ToNot(HaveOccurred()) expectedBuildInput, err := pipelineDB.SaveBuildInput(build.ID, db.BuildInput{ Name: "some-input", VersionedResource: db.VersionedResource{ Resource: "some-resource", Type: "some-type", Version: db.Version{ "some": "version", }, Metadata: []db.MetadataField{ { Name: "meta1", Value: "data1", },