func (routeActor routeActor) BindRoute(app models.Application, route models.Route) error { if !app.HasRoute(route) { routeActor.ui.Say(T( "Binding {{.URL}} to {{.AppName}}...", map[string]interface{}{ "URL": terminal.EntityNameColor(route.URL()), "AppName": terminal.EntityNameColor(app.Name), }), ) err := routeActor.routeRepo.Bind(route.GUID, app.GUID) switch err := err.(type) { case nil: routeActor.ui.Ok() routeActor.ui.Say("") return nil case errors.HTTPError: if err.ErrorCode() == errors.InvalidRelation { return errors.New(T( "The route {{.URL}} is already in use.\nTIP: Change the hostname with -n HOSTNAME or use --random-route to generate a new route and then push again.", map[string]interface{}{ "URL": route.URL(), }), ) } } return err } return nil }
func makeAppWithRoute(appName string) models.Application { application := models.Application{} application.Name = appName application.Guid = "app-guid" domain := models.DomainFields{} domain.Name = "example.com" route := models.RouteSummary{Host: "foo", Domain: domain} secondRoute := models.RouteSummary{Host: appName, Domain: domain} packgeUpdatedAt, _ := time.Parse("2006-01-02T15:04:05Z07:00", "2012-10-24T19:54:00Z") application.State = "started" application.InstanceCount = 2 application.RunningInstances = 2 application.Memory = 256 application.Stack = &models.Stack{ Name: "fake_stack", Guid: "123-123-123", } application.Routes = []models.RouteSummary{route, secondRoute} application.PackageUpdatedAt = &packgeUpdatedAt return application }
func (routeActor RouteActor) BindRoute(app models.Application, route models.Route) { if !app.HasRoute(route) { routeActor.ui.Say(T("Binding {{.URL}} to {{.AppName}}...", map[string]interface{}{"URL": terminal.EntityNameColor(route.URL()), "AppName": terminal.EntityNameColor(app.Name)})) apiErr := routeActor.routeRepo.Bind(route.Guid, app.Guid) switch apiErr := apiErr.(type) { case nil: routeActor.ui.Ok() routeActor.ui.Say("") return case errors.HttpError: if apiErr.ErrorCode() == errors.INVALID_RELATION { routeActor.ui.Failed(T("The route {{.URL}} is already in use.\nTIP: Change the hostname with -n HOSTNAME or use --random-route to generate a new route and then push again.", map[string]interface{}{"URL": route.URL()})) } } routeActor.ui.Failed(apiErr.Error()) } }
func (resource ApplicationFromSummary) ToModel() models.Application { var app models.Application app.ApplicationFields = resource.ToFields() routes := []models.RouteSummary{} for _, route := range resource.Routes { routes = append(routes, route.ToModel()) } app.Routes = routes services := []models.ServicePlanSummary{} for _, service := range resource.Services { services = append(services, service.ToModel()) } app.Routes = routes app.Services = services return app }
func makeAppWithoutOptions(appName string) models.Application { application := models.Application{} application.Name = appName application.Guid = "app-guid" packgeUpdatedAt, _ := time.Parse("2006-01-02T15:04:05Z07:00", "2012-10-24T19:54:00Z") application.State = "started" application.InstanceCount = 2 application.RunningInstances = 2 application.Memory = 256 application.PackageUpdatedAt = &packgeUpdatedAt return application }
func makeAppWithMultipleEnvVars(appName string) models.Application { application := models.Application{} application.Name = appName application.Guid = "app-guid" packgeUpdatedAt, _ := time.Parse("2006-01-02T15:04:05Z07:00", "2012-10-24T19:54:00Z") application.State = "started" application.InstanceCount = 2 application.RunningInstances = 2 application.Memory = 256 application.PackageUpdatedAt = &packgeUpdatedAt envMap := make(map[string]interface{}) envMap["foo"] = bool(true) envMap["abc"] = "abc" envMap["xyz"] = bool(false) envMap["bar"] = float64(10) application.EnvironmentVars = envMap return application }
func makeAppWithRoute(appName string) models.Application { application := models.Application{} application.Name = appName application.Guid = "app-guid" domain := models.DomainFields{} domain.Name = "example.com" route := models.RouteSummary{Host: "foo", Domain: domain} secondRoute := models.RouteSummary{Host: appName, Domain: domain} application.State = "started" application.InstanceCount = 2 application.RunningInstances = 2 application.Memory = 256 application.Routes = []models.RouteSummary{route, secondRoute} return application }
testconfig "github.com/cloudfoundry/cli/testhelpers/configuration" "github.com/cloudfoundry/cli/testhelpers/maker" testreq "github.com/cloudfoundry/cli/testhelpers/requirements" testterm "github.com/cloudfoundry/cli/testhelpers/terminal" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" . "github.com/cloudfoundry/cli/testhelpers/matchers" ) var _ = Describe("scale command", func() { var ( requirementsFactory *testreq.FakeReqFactory restarter *testcmd.FakeApplicationRestarter appRepo *testApplication.FakeApplicationRepository ui *testterm.FakeUI config core_config.ReadWriter cmd *Scale app models.Application ) BeforeEach(func() { requirementsFactory = &testreq.FakeReqFactory{LoginSuccess: true, TargetedSpaceSuccess: true} restarter = &testcmd.FakeApplicationRestarter{} appRepo = &testApplication.FakeApplicationRepository{} ui = new(testterm.FakeUI) config = testconfig.NewRepositoryWithDefaults() cmd = NewScale(ui, config, restarter, appRepo) }) Describe("requirements", func() {
}, }, { Host: "app1", Domain: models.DomainFields{ Name: "example.com", }, }} app2Routes := []models.RouteSummary{ { Host: "app2", Domain: models.DomainFields{Name: "cfapps.io"}, }} app := models.Application{} app.Name = "Application-1" app.GUID = "Application-1-guid" app.State = "started" app.RunningInstances = 1 app.InstanceCount = 1 app.Memory = 512 app.DiskQuota = 1024 app.Routes = app1Routes app.AppPorts = []int{8080, 9090} app2 := models.Application{} app2.Name = "Application-2" app2.GUID = "Application-2-guid" app2.State = "started" app2.RunningInstances = 1
testcmd "github.com/cloudfoundry/cli/testhelpers/commands" testconfig "github.com/cloudfoundry/cli/testhelpers/configuration" testterm "github.com/cloudfoundry/cli/testhelpers/terminal" "github.com/cloudfoundry/cli/cf/commandregistry" "github.com/cloudfoundry/cli/cf/commands/application" . "github.com/cloudfoundry/cli/testhelpers/matchers" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) var _ = Describe("stop command", func() { var ( ui *testterm.FakeUI app models.Application appRepo *applicationsfakes.FakeRepository requirementsFactory *requirementsfakes.FakeFactory config coreconfig.Repository deps commandregistry.Dependency ) updateCommandDependency := func(pluginCall bool) { deps.UI = ui deps.RepoLocator = deps.RepoLocator.SetApplicationRepository(appRepo) deps.Config = config commandregistry.Commands.SetCommand(commandregistry.Commands.FindCommand("stop").SetDependency(deps, pluginCall)) } BeforeEach(func() { ui = &testterm.FakeUI{} config = testconfig.NewRepositoryWithDefaults() appRepo = new(applicationsfakes.FakeRepository)
"github.com/cloudfoundry/cli/cf/errors" "github.com/cloudfoundry/cli/cf/models" testcmd "github.com/cloudfoundry/cli/testhelpers/commands" testconfig "github.com/cloudfoundry/cli/testhelpers/configuration" . "github.com/cloudfoundry/cli/testhelpers/matchers" testreq "github.com/cloudfoundry/cli/testhelpers/requirements" testterm "github.com/cloudfoundry/cli/testhelpers/terminal" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) var _ = Describe("restage command", func() { var ( ui *testterm.FakeUI app models.Application appRepo *testApplication.FakeApplicationRepository configRepo core_config.ReadWriter requirementsFactory *testreq.FakeReqFactory stagingWatcher *fakeStagingWatcher ) BeforeEach(func() { ui = &testterm.FakeUI{} app = models.Application{} app.Name = "my-app" app.PackageState = "STAGED" appRepo = &testApplication.FakeApplicationRepository{} appRepo.ReadReturns.App = app configRepo = testconfig.NewRepositoryWithDefaults() requirementsFactory = &testreq.FakeReqFactory{LoginSuccess: true, TargetedSpaceSuccess: true}
testconfig "github.com/cloudfoundry/cli/testhelpers/configuration" testreq "github.com/cloudfoundry/cli/testhelpers/requirements" testterm "github.com/cloudfoundry/cli/testhelpers/terminal" testtime "github.com/cloudfoundry/cli/testhelpers/time" . "github.com/cloudfoundry/cli/testhelpers/matchers" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) var _ = Describe("app Command", func() { var ( ui *testterm.FakeUI configRepo core_config.Repository appSummaryRepo *testapi.FakeAppSummaryRepo appInstancesRepo *testAppInstanaces.FakeAppInstancesRepository appLogsNoaaRepo *testapi.FakeLogsNoaaRepository requirementsFactory *testreq.FakeReqFactory app models.Application deps command_registry.Dependency ) updateCommandDependency := func(pluginCall bool) { deps.Ui = ui deps.RepoLocator = deps.RepoLocator.SetLogsNoaaRepository(appLogsNoaaRepo) deps.Config = configRepo deps.RepoLocator = deps.RepoLocator.SetAppSummaryRepository(appSummaryRepo) deps.RepoLocator = deps.RepoLocator.SetAppInstancesRepository(appInstancesRepo) command_registry.Commands.SetCommand(command_registry.Commands.FindCommand("app").SetDependency(deps, pluginCall)) } BeforeEach(func() {
It("shows error and prints command usage", func() { Expect(runCommand("app_name", "-L", "[9999:localhost...")).To(BeFalse()) Expect(ui.Outputs()).To(ContainSubstrings( []string{"Incorrect Usage"}, []string{"USAGE:"}, )) }) }) }) }) Describe("ssh", func() { var ( currentApp models.Application ) BeforeEach(func() { requirementsFactory.NewLoginRequirementReturns(requirements.Passing{}) requirementsFactory.NewTargetedSpaceRequirementReturns(requirements.Passing{}) currentApp = models.Application{} currentApp.Name = "my-app" currentApp.State = "started" currentApp.GUID = "my-app-guid" currentApp.EnableSSH = true currentApp.Diego = true applicationReq := new(requirementsfakes.FakeApplicationRequirement) applicationReq.GetApplicationReturns(currentApp) requirementsFactory.NewApplicationRequirementReturns(applicationReq)
testcmd "github.com/cloudfoundry/cli/testhelpers/commands" testconfig "github.com/cloudfoundry/cli/testhelpers/configuration" testreq "github.com/cloudfoundry/cli/testhelpers/requirements" testterm "github.com/cloudfoundry/cli/testhelpers/terminal" . "github.com/cloudfoundry/cli/cf/commands/application" . "github.com/cloudfoundry/cli/testhelpers/matchers" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) var _ = Describe("set-env command", func() { var ( ui *testterm.FakeUI configRepo configuration.ReadWriter app models.Application appRepo *testapi.FakeApplicationRepository requirementsFactory *testreq.FakeReqFactory ) BeforeEach(func() { ui = &testterm.FakeUI{} app = models.Application{} app.Name = "my-app" app.Guid = "my-app-guid" appRepo = &testapi.FakeApplicationRepository{} requirementsFactory = &testreq.FakeReqFactory{} configRepo = testconfig.NewRepositoryWithDefaults() }) runCommand := func(args ...string) {
}) It("fails requirements when not logged in", func() { Expect(runCommand("my-app", "none")).To(BeFalse()) }) It("fails if a space is not targeted", func() { requirementsFactory.LoginSuccess = true requirementsFactory.TargetedSpaceSuccess = false Expect(runCommand("my-app", "none")).To(BeFalse()) }) }) Describe("enable-ssh", func() { var ( app models.Application ) BeforeEach(func() { requirementsFactory.LoginSuccess = true requirementsFactory.TargetedSpaceSuccess = true app = models.Application{} app.Name = "my-app" app.GUID = "my-app-guid" app.EnableSSH = false requirementsFactory.Application = app }) Context("when enable_ssh is already set to the true", func() {
. "github.com/cloudfoundry/cli/testhelpers/matchers" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) var _ = Describe("start command", func() { var ( ui *testterm.FakeUI configRepo core_config.Repository defaultAppForStart models.Application defaultInstanceResponses [][]models.AppInstanceFields defaultInstanceErrorCodes []string requirementsFactory *testreq.FakeReqFactory logMessages []*logmessage.LogMessage logRepo *testapi.FakeLogsRepository appInstancesRepo *testAppInstanaces.FakeAppInstancesRepository appRepo *testApplication.FakeApplicationRepository OriginalAppCommand command_registry.Command deps command_registry.Dependency displayApp *appCmdFakes.FakeAppDisplayer ) updateCommandDependency := func(logsRepo api.LogsRepository) { deps.Ui = ui deps.Config = configRepo deps.RepoLocator = deps.RepoLocator.SetLogsRepository(logsRepo) deps.RepoLocator = deps.RepoLocator.SetApplicationRepository(appRepo) deps.RepoLocator = deps.RepoLocator.SetAppInstancesRepository(appInstancesRepo)
testconfig "github.com/cloudfoundry/cli/testhelpers/configuration" testlogs "github.com/cloudfoundry/cli/testhelpers/logs" testreq "github.com/cloudfoundry/cli/testhelpers/requirements" testterm "github.com/cloudfoundry/cli/testhelpers/terminal" "github.com/cloudfoundry/loggregatorlib/logmessage" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" . "github.com/cloudfoundry/cli/testhelpers/matchers" ) var _ = Describe("start command", func() { var ( ui *testterm.FakeUI defaultAppForStart = models.Application{} defaultInstanceReponses = [][]models.AppInstanceFields{} defaultInstanceErrorCodes = []string{"", ""} requirementsFactory *testreq.FakeReqFactory ) BeforeEach(func() { ui = new(testterm.FakeUI) requirementsFactory = &testreq.FakeReqFactory{} defaultAppForStart.Name = "my-app" defaultAppForStart.Guid = "my-app-guid" defaultAppForStart.InstanceCount = 2 domain := models.DomainFields{} domain.Name = "example.com"
Describe("getting health_check_type", func() { BeforeEach(func() { requirementsFactory.LoginSuccess = true requirementsFactory.TargetedSpaceSuccess = true }) Context("when application is not found", func() { It("Fails", func() { requirementsFactory.ApplicationFails = true Ω(runCommand("non-exist-app")).To(BeFalse()) }) }) Context("when application exists", func() { BeforeEach(func() { app := models.Application{} app.Name = "my-app" app.Guid = "my-app-guid" app.HealthCheckType = "port" requirementsFactory.Application = app }) It("shows the health_check_type", func() { runCommand("my-app") Ω(ui.Outputs).To(ContainSubstrings([]string{"Getting", "my-app", "health_check_type"})) Ω(ui.Outputs).To(ContainSubstrings([]string{"port"})) }) }) })
Context("when an error is returned during initialization", func() { It("shows error and prints command usage", func() { Ω(runCommand("app_name", "-L", "[9999:localhost...")).To(BeFalse()) Ω(ui.Outputs).To(ContainSubstrings( []string{"Incorrect Usage"}, []string{"USAGE:"}, )) }) }) }) }) Describe("ssh", func() { var ( currentApp models.Application ) BeforeEach(func() { requirementsFactory.LoginSuccess = true requirementsFactory.TargetedSpaceSuccess = true currentApp = models.Application{} currentApp.Name = "my-app" currentApp.State = "started" currentApp.Guid = "my-app-guid" currentApp.EnableSsh = true currentApp.Diego = true requirementsFactory.Application = currentApp })
}) It("fails requirements when not logged in", func() { Ω(runCommand("my-app", "none")).To(BeFalse()) }) It("fails if a space is not targeted", func() { requirementsFactory.LoginSuccess = true requirementsFactory.TargetedSpaceSuccess = false Ω(runCommand("my-app", "none")).To(BeFalse()) }) }) Describe("disable-ssh", func() { var ( app models.Application ) BeforeEach(func() { requirementsFactory.LoginSuccess = true requirementsFactory.TargetedSpaceSuccess = true app = models.Application{} app.Name = "my-app" app.Guid = "my-app-guid" app.EnableSsh = true requirementsFactory.Application = app }) Context("when enable_ssh is already set to the false", func() {
Expect(app.Name).To(Equal("My App")) }) }) Describe("creating applications", func() { It("makes the right request", func() { ts, handler, repo := createAppRepo([]testnet.TestRequest{createApplicationRequest}) defer ts.Close() params := defaultAppParams() createdApp, apiErr := repo.Create(params) Expect(handler).To(HaveAllRequestsCalled()) Expect(apiErr).NotTo(HaveOccurred()) app := models.Application{} app.Name = "my-cool-app" app.Guid = "my-cool-app-guid" Expect(createdApp).To(Equal(app)) }) It("omits fields that are not set", func() { request := testapi.NewCloudControllerTestRequest(testnet.TestRequest{ Method: "POST", Path: "/v2/apps", Matcher: testnet.RequestBodyMatcher(`{"name":"my-cool-app","instances":3,"memory":2048,"disk_quota":512,"space_guid":"some-space-guid"}`), Response: testnet.TestResponse{Status: http.StatusCreated, Body: createApplicationResponse}, }) ts, handler, repo := createAppRepo([]testnet.TestRequest{request}) defer ts.Close()
testterm "github.com/cloudfoundry/cli/testhelpers/terminal" "github.com/cloudfoundry/cli/cf/commandregistry" "github.com/cloudfoundry/cli/cf/configuration/coreconfig" . "github.com/cloudfoundry/cli/testhelpers/matchers" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) var _ = Describe("restart command", func() { var ( ui *testterm.FakeUI requirementsFactory *requirementsfakes.FakeFactory starter *applicationfakes.FakeStarter stopper *applicationfakes.FakeStopper config coreconfig.Repository app models.Application originalStop commandregistry.Command originalStart commandregistry.Command deps commandregistry.Dependency applicationReq *requirementsfakes.FakeApplicationRequirement ) updateCommandDependency := func(pluginCall bool) { deps.UI = ui deps.Config = config //inject fake 'stopper and starter' into registry commandregistry.Register(starter) commandregistry.Register(stopper) commandregistry.Commands.SetCommand(commandregistry.Commands.FindCommand("restart").SetDependency(deps, pluginCall))
"github.com/cloudfoundry/cli/cf/models" testcmd "github.com/cloudfoundry/cli/testhelpers/commands" testconfig "github.com/cloudfoundry/cli/testhelpers/configuration" testreq "github.com/cloudfoundry/cli/testhelpers/requirements" testterm "github.com/cloudfoundry/cli/testhelpers/terminal" . "github.com/cloudfoundry/cli/testhelpers/matchers" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) var _ = Describe("set-env command", func() { var ( ui *testterm.FakeUI configRepo coreconfig.Repository app models.Application appRepo *applicationsfakes.FakeApplicationRepository requirementsFactory *testreq.FakeReqFactory deps commandregistry.Dependency ) updateCommandDependency := func(pluginCall bool) { deps.UI = ui deps.Config = configRepo deps.RepoLocator = deps.RepoLocator.SetApplicationRepository(appRepo) commandregistry.Commands.SetCommand(commandregistry.Commands.FindCommand("set-env").SetDependency(deps, pluginCall)) } BeforeEach(func() { ui = &testterm.FakeUI{} app = models.Application{} app.Name = "my-app"
}, }, models.RouteSummary{ Host: "app1", Domain: models.DomainFields{ Name: "example.com", }, }} app2Routes := []models.RouteSummary{ models.RouteSummary{ Host: "app2", Domain: models.DomainFields{Name: "cfapps.io"}, }} app := models.Application{} app.Name = "Application-1" app.State = "started" app.RunningInstances = 1 app.InstanceCount = 1 app.Memory = 512 app.DiskQuota = 1024 app.Routes = app1Routes app2 := models.Application{} app2.Name = "Application-2" app2.State = "started" app2.RunningInstances = 1 app2.InstanceCount = 2 app2.Memory = 256 app2.DiskQuota = 1024
"github.com/cloudfoundry/cli/cf/requirements/requirementsfakes" testcmd "github.com/cloudfoundry/cli/testhelpers/commands" testconfig "github.com/cloudfoundry/cli/testhelpers/configuration" testterm "github.com/cloudfoundry/cli/testhelpers/terminal" "github.com/cloudfoundry/cli/cf/commandregistry" . "github.com/cloudfoundry/cli/testhelpers/matchers" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) var _ = Describe("restart-app-instance", func() { var ( ui *testterm.FakeUI config coreconfig.Repository appInstancesRepo *appinstancesfakes.FakeAppInstancesRepository requirementsFactory *requirementsfakes.FakeFactory application models.Application deps commandregistry.Dependency ) BeforeEach(func() { ui = &testterm.FakeUI{} appInstancesRepo = new(appinstancesfakes.FakeAppInstancesRepository) config = testconfig.NewRepositoryWithDefaults() requirementsFactory = new(requirementsfakes.FakeFactory) requirementsFactory.NewLoginRequirementReturns(requirements.Passing{}) requirementsFactory.NewTargetedSpaceRequirementReturns(requirements.Passing{}) application = models.Application{} application.Name = "my-app"
} cmd = &commands.CreateAppManifest{} cmd.SetDependency(deps, false) flagContext = flags.NewFlagContext(cmd.MetaData().Flags) factory = new(requirementsfakes.FakeFactory) loginRequirement = &passingRequirement{Name: "login-requirement"} factory.NewLoginRequirementReturns(loginRequirement) targetedSpaceRequirement = &passingRequirement{Name: "targeted-space-requirement"} factory.NewTargetedSpaceRequirementReturns(targetedSpaceRequirement) applicationRequirement = new(requirementsfakes.FakeApplicationRequirement) application := models.Application{} application.GUID = "app-guid" applicationRequirement.GetApplicationReturns(application) factory.NewApplicationRequirementReturns(applicationRequirement) }) Describe("Requirements", func() { Context("when not provided exactly one arg", func() { BeforeEach(func() { flagContext.Parse("app-name", "extra-arg") }) It("fails with usage", func() { Expect(func() { cmd.Requirements(factory, flagContext) }).To(Panic()) Expect(ui.Outputs()).To(ContainSubstrings( []string{"FAILED"},
} It("fails with usage when called without an app name", func() { passed := runCommand() Expect(ui.FailedWithUsage).To(BeTrue()) Expect(passed).To(BeFalse()) }) It("lists events given an app name", func() { earlierTimestamp, err := time.Parse(TIMESTAMP_FORMAT, "1999-12-31T23:59:11.00-0000") Expect(err).NotTo(HaveOccurred()) timestamp, err := time.Parse(TIMESTAMP_FORMAT, "2000-01-01T00:01:11.00-0000") Expect(err).NotTo(HaveOccurred()) app := models.Application{} app.Name = "my-app" app.Guid = "my-app-guid" requirementsFactory.Application = app eventsRepo.RecentEventsReturns([]models.EventFields{ { Guid: "event-guid-1", Name: "app crashed", Timestamp: earlierTimestamp, Description: "reason: app instance exited, exit_status: 78", ActorName: "George Clooney", }, { Guid: "event-guid-2", Name: "app crashed",
It("fails requirements when not logged in", func() { requirementsFactory.NewLoginRequirementReturns(requirements.Failing{Message: "not logged in"}) Expect(runCommand("my-app", "none")).To(BeFalse()) }) It("fails if a space is not targeted", func() { requirementsFactory.NewLoginRequirementReturns(requirements.Passing{}) requirementsFactory.NewTargetedSpaceRequirementReturns(requirements.Failing{Message: "not targeting space"}) Expect(runCommand("my-app", "none")).To(BeFalse()) }) }) Describe("setting health_check_type", func() { var ( app models.Application ) BeforeEach(func() { requirementsFactory.NewLoginRequirementReturns(requirements.Passing{}) requirementsFactory.NewTargetedSpaceRequirementReturns(requirements.Passing{}) app = models.Application{} app.Name = "my-app" app.GUID = "my-app-guid" app.HealthCheckType = "none" applicationReq := new(requirementsfakes.FakeApplicationRequirement) applicationReq.GetApplicationReturns(app) requirementsFactory.NewApplicationRequirementReturns(applicationReq) })
func makeAppWithRoute(appName string) models.Application { application := models.Application{} application.Name = appName application.Guid = "app-guid" application.BuildpackUrl = "http://123.com" application.Command = "command1" application.Diego = false application.DetectedStartCommand = "detected_command" application.DiskQuota = 100 application.EnvironmentVars = map[string]interface{}{"test": 123} application.RunningInstances = 2 application.HealthCheckTimeout = 100 application.SpaceGuid = "guids_in_spaaace" application.PackageState = "STAGED" application.StagingFailedReason = "no reason" application.State = "started" application.InstanceCount = 2 application.RunningInstances = 2 application.Memory = 256 t := time.Date(2009, time.November, 10, 15, 0, 0, 0, time.UTC) application.PackageUpdatedAt = &t services := models.ServicePlanSummary{ Guid: "s1-guid", Name: "s1-service", } application.Services = []models.ServicePlanSummary{services} domain := models.DomainFields{Guid: "domain1-guid", Name: "example.com", OwningOrganizationGuid: "org-123", Shared: true} route := models.RouteSummary{Host: "foo", Guid: "foo-guid", Domain: domain} secondRoute := models.RouteSummary{Host: appName, Domain: domain} application.Stack = &models.Stack{ Name: "fake_stack", Guid: "123-123-123", } application.Routes = []models.RouteSummary{route, secondRoute} return application }
commandregistry.Register(fakeCreateRouteCmd) cmd = &route.MapRoute{} cmd.SetDependency(deps, false) flagContext = flags.NewFlagContext(cmd.MetaData().Flags) factory = new(requirementsfakes.FakeFactory) loginRequirement = &passingRequirement{Name: "login-requirement"} factory.NewLoginRequirementReturns(loginRequirement) applicationRequirement = new(requirementsfakes.FakeApplicationRequirement) factory.NewApplicationRequirementReturns(applicationRequirement) fakeApplication := models.Application{} fakeApplication.GUID = "fake-app-guid" applicationRequirement.GetApplicationReturns(fakeApplication) domainRequirement = new(requirementsfakes.FakeDomainRequirement) factory.NewDomainRequirementReturns(domainRequirement) fakeDomain = models.DomainFields{ GUID: "fake-domain-guid", Name: "fake-domain-name", } domainRequirement.GetDomainReturns(fakeDomain) minAPIVersionRequirement = &passingRequirement{Name: "min-api-version-requirement"} factory.NewMinAPIVersionRequirementReturns(minAPIVersionRequirement)