Example #1
0
			Ω(spec.Args).Should(ConsistOf("/tmp/build/put"))
			Ω(spec.User).Should(Equal("root"))

			request, err := ioutil.ReadAll(io.Stdin)
			Ω(err).ShouldNot(HaveOccurred())

			Ω(request).Should(MatchJSON(`{
				"params": {"some":"params"},
				"source": {"some":"source"}
			}`))
		})

		It("streams the artifact source to the versioned source", func() {
			Ω(fakeArtifactSource.StreamToCallCount()).Should(Equal(1))

			dest := fakeArtifactSource.StreamToArgsForCall(0)
			Ω(dest).Should(Equal(versionedSource))
		})

		It("saves the process ID as a property", func() {
			Ω(fakeContainer.SetPropertyCallCount()).Should(Equal(1))

			name, value := fakeContainer.SetPropertyArgsForCall(0)
			Ω(name).Should(Equal("concourse:resource-process"))
			Ω(value).Should(Equal("42"))
		})

		Describe("streaming in", func() {
			Context("when the container can stream in", func() {
				BeforeEach(func() {
					fakeContainer.StreamInReturns(nil)