예제 #1
0
		JustBeforeEach(func() {
			templateData, fetchErr = FetchTemplateData("3", fakeClient)
		})

		It("uses the client to get the build", func() {
			Expect(fakeClient.BuildCallCount()).To(Equal(1))
			Expect(fakeClient.BuildArgsForCall(0)).To(Equal("3"))
		})

		Context("when the client returns an error", func() {
			var expectedError error

			BeforeEach(func() {
				expectedError = errors.New("NOOOOOOO")
				fakeClient.BuildReturns(atc.Build{}, false, expectedError)
			})

			It("returns the error", func() {
				Expect(fetchErr).To(HaveOccurred())
				Expect(fetchErr).To(Equal(expectedError))
			})
		})

		Context("when the client returns not found", func() {
			BeforeEach(func() {
				fakeClient.BuildReturns(atc.Build{}, false, nil)
			})

			It("returns the error", func() {
				Expect(fetchErr).To(HaveOccurred())
예제 #2
0
파일: helpers_test.go 프로젝트: zankich/fly
			ID:      123,
			Name:    expectedBuildName,
			Status:  "Great Success",
			JobName: expectedJobName,
			URL:     fmt.Sprintf("/pipelines/%s/jobs/%s/builds/%s", expectedPipelineName, expectedJobName, expectedBuildName),
			APIURL:  fmt.Sprintf("api/v1/builds/%s", expectedBuildID),
		}

		BeforeEach(func() {
			client = new(fakes.FakeClient)
		})

		Context("when passed a build id", func() {
			Context("when build exists", func() {
				BeforeEach(func() {
					client.BuildReturns(expectedBuild, true, nil)
				})

				It("returns the build", func() {
					build, err := GetBuild(client, "", expectedBuildID, "")
					Expect(err).NotTo(HaveOccurred())
					Expect(build).To(Equal(expectedBuild))
					Expect(client.BuildCallCount()).To(Equal(1))
					Expect(client.BuildArgsForCall(0)).To(Equal(expectedBuildID))
				})
			})

			Context("when a build does not exist", func() {
				BeforeEach(func() {
					client.BuildReturns(atc.Build{}, false, nil)
				})