예제 #1
0
				Expect(guid).To(Equal("old-guid"))

				By("Creates the container")
				Expect(gardenClient.CreateCallCount()).To(Equal(1))
				containerSpec := gardenClient.CreateArgsForCall(0)
				Expect(containerSpec).To(Equal(garden.ContainerSpec{
					Handle:     "executor-healthcheck-abc-123",
					RootFSPath: rootfsPath,
					Properties: garden.Properties{
						gardenstore.ContainerOwnerProperty:                          containerOwnerName,
						gardenstore.TagPropertyPrefix + gardenhealth.HealthcheckTag: gardenhealth.HealthcheckTagValue,
					},
				}))

				By("Runs the process")
				Expect(fakeContainer.RunCallCount()).To(Equal(1))

				procSpec, procIO := fakeContainer.RunArgsForCall(0)
				Expect(procSpec).To(Equal(healthcheckSpec))
				Expect(procIO).To(Equal(garden.ProcessIO{}))

				By("Waits for the process to finish")
				Expect(fakeProcess.WaitCallCount()).To(Equal(1))

				By("Destroys the container")
				guid = gardenClient.DestroyArgsForCall(1)
				Expect(guid).To(Equal("executor-healthcheck-abc-123"))

				By("Returns success")
				Expect(err).Should(BeNil())
			})