err := dropletRunner.BuildDroplet("task-name", "droplet-name", "buildpack", map[string]string{}, 0, 0, 0) Expect(err).To(MatchError("creating task failed")) Expect(fakeTaskRunner.CreateTaskCallCount()).To(Equal(1)) }) }) Describe("LaunchDroplet", func() { BeforeEach(func() { config.SetBlobStore("blob-host", "7474", "dav-user", "dav-pass") Expect(config.Save()).To(Succeed()) }) It("launches the droplet lrp task with a start command from buildpack results", func() { executionMetadata := `{"execution_metadata": "{\"start_command\": \"start\"}"}` fakeBlobStore.DownloadReturns(ioutil.NopCloser(strings.NewReader(executionMetadata)), nil) fakeBlobStore.DownloadDropletActionReturns(models.WrapAction(&models.DownloadAction{ From: "http://*****:*****@blob-host:7474/blobs/droplet-name/droplet.tgz", To: "/home/vcap", User: "******", })) 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.Name).To(Equal("app-name")) Expect(createAppParams.RootFS).To(Equal(droplet_runner.DropletRootFS)) Expect(createAppParams.StartCommand).To(Equal("/tmp/launcher"))
models.WrapAction(&models.DownloadAction{ From: "http://file-server.service.cf.internal:8080/v1/static/cell-helpers/cell-helpers.tgz", To: "/tmp", User: "******", }), models.WrapAction(&models.DownloadAction{ From: "http://*****:*****@blob-host:7474/blobs/droplet-name-droplet.tgz", To: "/home/vcap", User: "******", }), }, }))) }) It("launches the droplet lrp task with proxy environment variables", func() { fakeBlobStore.DownloadReturns(ioutil.NopCloser(strings.NewReader("{}")), nil) fakeBlobStore.DownloadDropletActionReturns(models.WrapAction(&models.DownloadAction{})) fakeProxyConfReader.ProxyConfReturns(droplet_runner.ProxyConf{ HTTPProxy: "http://proxy", HTTPSProxy: "https://proxy", NoProxy: "no-proxy", }, 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.AppEnvironmentParams.EnvironmentVariables).To(matchers.ContainExactly(map[string]string{ "PWD": "/home/vcap",