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]}))
			})
		})

		Context("when a version is disabled", func() {
			BeforeEach(func() {
				pipelineDB.DisableVersionedResource(10)
				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]}))
			})
		})

		Context("when a version is disabled", func() {
			BeforeEach(func() {
				pipelineDB.DisableVersionedResource(10)
Esempio n. 3
0
	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",
					},
					{
						Name:  "meta2",
						Value: "data2",
					},
				},
				PipelineName: "some-pipeline",
			},
		})
		Expect(err).ToNot(HaveOccurred())

		actualBuildInput, err := database.GetBuildVersionedResources(build.ID)
		expectedBuildInput.CheckOrder = 0
		Expect(err).ToNot(HaveOccurred())