"--env=UNSET", "--timeout=28s", "cool-web-app", "superfun/app:mycooltag", "--", "/start-me-please", "AppArg0", `--appFlavor="purple"`, } test_helpers.ExecuteCommandWithArgs(createCommand, args) Expect(fakeDockerMetadataFetcher.FetchMetadataCallCount()).To(Equal(1)) Expect(fakeDockerMetadataFetcher.FetchMetadataArgsForCall(0)).To(Equal("superfun/app:mycooltag")) Expect(fakeAppRunner.CreateAppCallCount()).To(Equal(1)) createAppParams := fakeAppRunner.CreateAppArgsForCall(0) Expect(createAppParams.Name).To(Equal("cool-web-app")) Expect(createAppParams.StartCommand).To(Equal("/start-me-please")) Expect(createAppParams.RootFS).To(Equal("docker:///superfun/app#mycooltag")) Expect(createAppParams.AppArgs).To(Equal([]string{"AppArg0", "--appFlavor=\"purple\""})) Expect(createAppParams.Instances).To(Equal(22)) Expect(createAppParams.EnvironmentVariables).To(Equal(map[string]string{ "DOCKER": "ME", "TIMEZONE": "CST", "LANG": `"Chicago English"`, "JAVA_OPTS": `"-Djava.arg=/dev/urandom"`, "PROCESS_GUID": "cool-web-app", "COLOR": "Blue", "UNSET": "", })) Expect(createAppParams.Privileged).To(BeFalse())
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")) Expect(createAppParams.AppArgs).To(Equal([]string{"/home/vcap/app", "", `{"start_command": "start"}`})) Expect(createAppParams.WorkingDir).To(Equal("/home/vcap")) Expect(createAppParams.AppEnvironmentParams.EnvironmentVariables).To(matchers.ContainExactly(map[string]string{ "PWD": "/home/vcap", "TMPDIR": "/home/vcap/tmp", "http_proxy": "", "https_proxy": "", "no_proxy": "", })) Expect(createAppParams.Annotation).To(MatchJSON(`{ "droplet_source": { "droplet_name": "droplet-name"