Exemplo n.º 1
0
			err := dropletRunner.BuildDroplet("task-name", "droplet-name", "buildpack", map[string]string{})

			Expect(err).To(MatchError("creating task failed"))
			Expect(fakeTaskRunner.CreateTaskCallCount()).To(Equal(1))
		})
	})

	Describe("LaunchDroplet", func() {
		BeforeEach(func() {
			config.SetBlobTarget("blob-host", 7474, "access-key", "secret-key", "bucket-name")
			config.Save()
		})

		It("launches the droplet lrp task with a start command from buildpack results", func() {
			js := []byte(`{"detected_start_command":{"web":"start"}}`)
			fakeBlobBucket.GetReaderReturns(ioutil.NopCloser(bytes.NewReader(js)), nil)

			err := dropletRunner.LaunchDroplet("app-name", "droplet-name", "", []string{}, app_runner.AppEnvironmentParams{})
			Expect(err).NotTo(HaveOccurred())

			Expect(fakeAppRunner.CreateAppCallCount()).To(Equal(1))
			createAppParams := fakeAppRunner.CreateAppArgsForCall(0)
			Expect(createAppParams).ToNot(BeNil())

			Expect(createAppParams.Name).To(Equal("app-name"))
			Expect(createAppParams.RootFS).To(Equal(droplet_runner.DropletRootFS))
			Expect(createAppParams.StartCommand).To(Equal("/tmp/lrp-launcher"))
			Expect(createAppParams.AppArgs).To(Equal([]string{"start"}))

			Expect(createAppParams.Annotation).To(MatchJSON(`{
				"droplet_source": {