예제 #1
0
				})

				It("sets the expiration to null", func() {
					volumes, err := database.GetVolumes()
					Expect(err).NotTo(HaveOccurred())
					Expect(len(volumes)).To(Equal(1))
					Expect(volumes[0].TTL).To(Equal(time.Duration(0)))
					Expect(volumes[0].ExpiresIn).To(Equal(time.Duration(0)))
				})
			})
		})
	})

	Describe("GetVolumesForOneOffBuildImageResources", func() {
		It("returns all volumes containing image resource versions which were used in one-off builds", func() {
			oneOffBuildA, err := database.CreateOneOffBuild()
			Expect(err).NotTo(HaveOccurred())
			oneOffBuildB, err := database.CreateOneOffBuild()
			Expect(err).NotTo(HaveOccurred())
			jobBuild, err := pipelineDB.CreateJobBuild("some-job")
			Expect(err).NotTo(HaveOccurred())

			// To show that it returns volumes that are used in both one-off builds and job builds
			volume1 := db.Volume{
				WorkerName: "worker-1",
				TTL:        2 * time.Minute,
				Handle:     "volume-1",
				VolumeIdentifier: db.VolumeIdentifier{
					ResourceVersion: atc.Version{"digest": "digest-1"},
					ResourceHash:    `docker:{"repository":"repository-1"}`,
				},
예제 #2
0
파일: db_test.go 프로젝트: pcfdev-forks/atc
		It("saves a pipe to the db", func() {
			myGuid, err := uuid.NewV4()
			Expect(err).NotTo(HaveOccurred())

			err = database.CreatePipe(myGuid.String(), "a-url")
			Expect(err).NotTo(HaveOccurred())

			pipe, err := database.GetPipe(myGuid.String())
			Expect(err).NotTo(HaveOccurred())
			Expect(pipe.ID).To(Equal(myGuid.String()))
			Expect(pipe.URL).To(Equal("a-url"))
		})
	})

	It("saves and propagates events correctly", func() {
		build, err := database.CreateOneOffBuild()
		Expect(err).NotTo(HaveOccurred())
		Expect(build.Name).To(Equal("1"))

		By("allowing you to subscribe when no events have yet occurred")
		events, err := database.GetBuildEvents(build.ID, 0)
		Expect(err).NotTo(HaveOccurred())

		defer events.Close()

		By("saving them in order")
		err = database.SaveBuildEvent(build.ID, event.Log{
			Payload: "some ",
		})
		Expect(err).NotTo(HaveOccurred())
예제 #3
0
		actualBuildOutput, err := database.GetBuildVersionedResources(build.ID)
		expectedBuildOutput.CheckOrder = 0
		Expect(err).ToNot(HaveOccurred())
		Expect(len(actualBuildOutput)).To(Equal(1))
		Expect(actualBuildOutput[0]).To(Equal(expectedBuildOutput))
	})

	Context("build creation", func() {
		var (
			oneOff db.Build
			err    error
		)

		BeforeEach(func() {
			oneOff, err = database.CreateOneOffBuild()
			Expect(err).NotTo(HaveOccurred())
		})

		It("can get (no) resources from a one-off build", func() {
			inputs, outputs, err := database.GetBuildResources(oneOff.ID)
			Expect(err).NotTo(HaveOccurred())

			Expect(inputs).To(BeEmpty())
			Expect(outputs).To(BeEmpty())
		})

		It("can create one-off builds with increasing names", func() {
			Expect(oneOff.ID).NotTo(BeZero())
			Expect(oneOff.JobName).To(BeZero())
			Expect(oneOff.Name).To(Equal("1"))