Env: env, Clock: fakeClock, TailedLogsOutputter: fakeTailedLogsOutputter, ExitHandler: fakeExitHandler, } commandFactory := command_factory.NewDockerRunnerCommandFactory(appRunnerCommandFactoryConfig) createCommand = commandFactory.MakeCreateAppCommand() fakeDockerMetadataFetcher.FetchMetadataReturns(&docker_metadata_fetcher.ImageMetadata{ Env: []string{"TIMEZONE=PST", "DOCKER=ME"}, }, nil) }) It("creates a Docker based app as specified in the command via the AppRunner", func() { fakeAppExaminer.RunningAppInstancesInfoReturns(22, false, nil) args := []string{ "--cpu-weight=57", "--memory-mb=12", "--disk-mb=12", "--http-routes=route-3000-yay:3000,route-1111-wahoo:1111,route-1111-me-too:1111", "--working-dir=/applications", "--run-as-root=true", "--instances=22", "--env=TIMEZONE=CST", `--env=LANG="Chicago English"`, `--env=JAVA_OPTS="-Djava.arg=/dev/urandom"`, "--env=COLOR", "--env=UNSET", "--timeout=28s",
"cool-web-app", "superfun/app", "--tcp-routes=5222,50000", "--", "/start-me-please", } test_helpers.ExecuteCommandWithArgs(launchDropletCommand, args) Expect(fakeDropletRunner.LaunchDropletCallCount()).To(Equal(0)) Expect(outputBuffer).To(test_helpers.SayLine(app_runner_command_factory.MalformedTcpRouteErrorMessage)) Expect(fakeExitHandler.ExitCalledWith).To(Equal([]int{exit_codes.InvalidSyntax})) }) }) It("launches the specified droplet with tcp routes", func() { fakeAppExaminer.RunningAppInstancesInfoReturns(1, false, nil) args := []string{ "--http-routes=ninetyninety:4444,fourtyfourfourtyfour:9090", "--tcp-routes=50000:5222,50001:5223", "droppy", "droplet-name", "--", "start-em", } test_helpers.ExecuteCommandWithArgs(launchDropletCommand, args) Expect(outputBuffer).To(test_helpers.SayLine("Creating App: droppy")) Expect(outputBuffer).To(test_helpers.SayLine(colors.Green("droppy is now running."))) Expect(outputBuffer).To(test_helpers.SayLine("App is reachable at:")) Expect(outputBuffer).To(test_helpers.SayLine(colors.Green("http://ninetyninety.192.168.11.11.xip.io")))