"--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())
Example #2
0
		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"