requirementsFactory *requirementsfakes.FakeFactory configOrg models.OrganizationFields configRepo coreconfig.Repository spaceRepo *spacesfakes.FakeSpaceRepository orgRepo *organizationsfakes.FakeOrganizationRepository userRepo *apifakes.FakeUserRepository spaceRoleSetter user.SpaceRoleSetter flagRepo *featureflagsfakes.FakeFeatureFlagRepository spaceQuotaRepo *spacequotasfakes.FakeSpaceQuotaRepository OriginalCommand commandregistry.Command deps commandregistry.Dependency ) updateCommandDependency := func(pluginCall bool) { deps.UI = ui deps.RepoLocator = deps.RepoLocator.SetSpaceRepository(spaceRepo) deps.RepoLocator = deps.RepoLocator.SetSpaceQuotaRepository(spaceQuotaRepo) deps.RepoLocator = deps.RepoLocator.SetOrganizationRepository(orgRepo) deps.RepoLocator = deps.RepoLocator.SetFeatureFlagRepository(flagRepo) deps.RepoLocator = deps.RepoLocator.SetUserRepository(userRepo) deps.Config = configRepo //inject fake 'command dependency' into registry commandregistry.Register(spaceRoleSetter) commandregistry.Commands.SetCommand(commandregistry.Commands.FindCommand("create-space").SetDependency(deps, pluginCall)) } runCommand := func(args ...string) bool { return testcmd.RunCLICommand("create-space", args, requirementsFactory, updateCommandDependency, false, ui) }
) 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" app.GUID = "my-app-guid" appRepo = new(applicationsfakes.FakeApplicationRepository) requirementsFactory = &testreq.FakeReqFactory{} configRepo = testconfig.NewRepositoryWithDefaults() }) runCommand := func(args ...string) bool { return testcmd.RunCLICommand("set-env", args, requirementsFactory, updateCommandDependency, false)
. "github.com/cloudfoundry/cli/testhelpers/matchers" ) var _ = Describe("routes command", func() { var ( ui *testterm.FakeUI routeRepo *apifakes.FakeRouteRepository domainRepo *apifakes.FakeDomainRepository configRepo coreconfig.Repository requirementsFactory *requirementsfakes.FakeFactory deps commandregistry.Dependency ) updateCommandDependency := func(pluginCall bool) { deps.UI = ui deps.RepoLocator = deps.RepoLocator.SetRouteRepository(routeRepo).SetDomainRepository(domainRepo) deps.Config = configRepo commandregistry.Commands.SetCommand(commandregistry.Commands.FindCommand("routes").SetDependency(deps, pluginCall)) } BeforeEach(func() { ui = &testterm.FakeUI{} configRepo = testconfig.NewRepositoryWithDefaults() requirementsFactory = new(requirementsfakes.FakeFactory) requirementsFactory.NewLoginRequirementReturns(requirements.Passing{}) requirementsFactory.NewTargetedSpaceRequirementReturns(requirements.Passing{}) routeRepo = new(apifakes.FakeRouteRepository) domainRepo = new(apifakes.FakeDomainRepository) }) runCommand := func(args ...string) bool {
. "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) var _ = Describe("delete-service-broker command", func() { var ( ui *testterm.FakeUI configRepo coreconfig.Repository brokerRepo *apifakes.FakeServiceBrokerRepository requirementsFactory *testreq.FakeReqFactory deps commandregistry.Dependency ) updateCommandDependency := func(pluginCall bool) { deps.UI = ui deps.RepoLocator = deps.RepoLocator.SetServiceBrokerRepository(brokerRepo) deps.Config = configRepo commandregistry.Commands.SetCommand(commandregistry.Commands.FindCommand("delete-service-broker").SetDependency(deps, pluginCall)) } BeforeEach(func() { ui = &testterm.FakeUI{Inputs: []string{"y"}} brokerRepo = new(apifakes.FakeServiceBrokerRepository) configRepo = testconfig.NewRepositoryWithDefaults() requirementsFactory = &testreq.FakeReqFactory{LoginSuccess: true} }) runCommand := func(args ...string) bool { return testcmd.RunCLICommand("delete-service-broker", args, requirementsFactory, updateCommandDependency, false) }
. "github.com/onsi/gomega" ) var _ = Describe("delete-service-key command", func() { var ( ui *testterm.FakeUI config coreconfig.Repository requirementsFactory *requirementsfakes.FakeFactory serviceRepo *apifakes.FakeServiceRepository serviceKeyRepo *apifakes.OldFakeServiceKeyRepo deps commandregistry.Dependency ) updateCommandDependency := func(pluginCall bool) { deps.UI = ui deps.RepoLocator = deps.RepoLocator.SetServiceRepository(serviceRepo) deps.RepoLocator = deps.RepoLocator.SetServiceKeyRepository(serviceKeyRepo) deps.Config = config commandregistry.Commands.SetCommand(commandregistry.Commands.FindCommand("delete-service-key").SetDependency(deps, pluginCall)) } BeforeEach(func() { ui = &testterm.FakeUI{} config = testconfig.NewRepositoryWithDefaults() serviceRepo = &apifakes.FakeServiceRepository{} serviceInstance := models.ServiceInstance{} serviceInstance.GUID = "fake-service-instance-guid" serviceRepo.FindInstanceByNameReturns(serviceInstance, nil) serviceKeyRepo = apifakes.NewFakeServiceKeyRepo() requirementsFactory = new(requirementsfakes.FakeFactory) requirementsFactory.NewLoginRequirementReturns(requirements.Passing{})
. "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) var _ = Describe("quotas command", func() { var ( ui *testterm.FakeUI quotaRepo *spacequotasfakes.FakeSpaceQuotaRepository configRepo coreconfig.Repository requirementsFactory *requirementsfakes.FakeFactory deps commandregistry.Dependency ) updateCommandDependency := func(pluginCall bool) { deps.UI = ui deps.RepoLocator = deps.RepoLocator.SetSpaceQuotaRepository(quotaRepo) deps.Config = configRepo commandregistry.Commands.SetCommand(commandregistry.Commands.FindCommand("space-quotas").SetDependency(deps, pluginCall)) } BeforeEach(func() { ui = &testterm.FakeUI{} quotaRepo = new(spacequotasfakes.FakeSpaceQuotaRepository) requirementsFactory = new(requirementsfakes.FakeFactory) requirementsFactory.NewLoginRequirementReturns(requirements.Passing{}) configRepo = testconfig.NewRepositoryWithDefaults() }) runCommand := func(args ...string) bool { return testcmd.RunCLICommand("space-quotas", args, requirementsFactory, updateCommandDependency, false, ui) }
authRepo *authenticationfakes.FakeAuthenticationRepository endpointRepo *coreconfigfakes.FakeEndpointRepository orgRepo *organizationsfakes.FakeOrganizationRepository spaceRepo *apifakes.FakeSpaceRepository org models.Organization deps commandregistry.Dependency minCLIVersion string minRecommendedCLIVersion string ) updateCommandDependency := func(pluginCall bool) { deps.UI = ui deps.Config = Config deps.RepoLocator = deps.RepoLocator.SetEndpointRepository(endpointRepo) deps.RepoLocator = deps.RepoLocator.SetAuthenticationRepository(authRepo) deps.RepoLocator = deps.RepoLocator.SetOrganizationRepository(orgRepo) deps.RepoLocator = deps.RepoLocator.SetSpaceRepository(spaceRepo) commandregistry.Commands.SetCommand(commandregistry.Commands.FindCommand("login").SetDependency(deps, pluginCall)) } listSpacesStub := func(spaces []models.Space) func(func(models.Space) bool) error { return func(cb func(models.Space) bool) error { var keepGoing bool for _, s := range spaces { keepGoing = cb(s) if !keepGoing { return nil } }
) var _ = Describe("space-users command", func() { var ( ui *testterm.FakeUI requirementsFactory *testreq.FakeReqFactory spaceRepo *apifakes.FakeSpaceRepository userRepo *apifakes.FakeUserRepository configRepo coreconfig.Repository deps commandregistry.Dependency ) updateCommandDependency := func(pluginCall bool) { deps.UI = ui deps.Config = configRepo deps.RepoLocator = deps.RepoLocator.SetUserRepository(userRepo) deps.RepoLocator = deps.RepoLocator.SetSpaceRepository(spaceRepo) commandregistry.Commands.SetCommand(commandregistry.Commands.FindCommand("space-users").SetDependency(deps, pluginCall)) } BeforeEach(func() { configRepo = testconfig.NewRepositoryWithDefaults() ui = &testterm.FakeUI{} requirementsFactory = &testreq.FakeReqFactory{} spaceRepo = new(apifakes.FakeSpaceRepository) userRepo = new(apifakes.FakeUserRepository) deps = commandregistry.NewDependency(os.Stdout, new(tracefakes.FakePrinter)) }) runCommand := func(args ...string) bool {
. "github.com/onsi/gomega" . "github.com/cloudfoundry/cli/testhelpers/matchers" ) var _ = Describe("password command", func() { var ( pwDeps passwordDeps ui *testterm.FakeUI deps commandregistry.Dependency ) updateCommandDependency := func(pluginCall bool) { deps.UI = ui deps.Config = pwDeps.Config deps.RepoLocator = deps.RepoLocator.SetPasswordRepository(pwDeps.PwdRepo) commandregistry.Commands.SetCommand(commandregistry.Commands.FindCommand("passwd").SetDependency(deps, pluginCall)) } callPassword := func(inputs []string, pwDeps passwordDeps) (*testterm.FakeUI, bool) { ui = &testterm.FakeUI{Inputs: inputs} passed := testcmd.RunCLICommand("passwd", []string{}, pwDeps.ReqFactory, updateCommandDependency, false, ui) return ui, passed } BeforeEach(func() { pwDeps = getPasswordDeps() }) It("does not pass requirements if you are not logged in", func() { pwDeps.ReqFactory.NewLoginRequirementReturns(requirements.Failing{Message: "not logged in"})
. "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) var _ = Describe("logs command", func() { var ( ui *testterm.FakeUI logsRepo *logsfakes.FakeLogsRepository requirementsFactory *testreq.FakeReqFactory configRepo coreconfig.Repository deps commandregistry.Dependency ) updateCommandDependency := func(pluginCall bool) { deps.UI = ui deps.RepoLocator = deps.RepoLocator.SetLogsRepository(logsRepo) deps.Config = configRepo commandregistry.Commands.SetCommand(commandregistry.Commands.FindCommand("logs").SetDependency(deps, pluginCall)) } BeforeEach(func() { ui = &testterm.FakeUI{} configRepo = testconfig.NewRepositoryWithDefaults() logsRepo = new(logsfakes.FakeLogsRepository) requirementsFactory = &testreq.FakeReqFactory{} }) runCommand := func(args ...string) bool { return testcmd.RunCLICommand("logs", args, requirementsFactory, updateCommandDependency, false) }
. "github.com/cloudfoundry/cli/testhelpers/matchers" ) var _ = Describe("bind-service command", func() { var ( ui *testterm.FakeUI requirementsFactory *requirementsfakes.FakeFactory config coreconfig.Repository serviceBindingRepo *apifakes.FakeServiceBindingRepository deps commandregistry.Dependency ) updateCommandDependency := func(pluginCall bool) { deps.UI = ui deps.Config = config deps.RepoLocator = deps.RepoLocator.SetServiceBindingRepository(serviceBindingRepo) commandregistry.Commands.SetCommand(commandregistry.Commands.FindCommand("bind-service").SetDependency(deps, pluginCall)) } BeforeEach(func() { ui = &testterm.FakeUI{} config = testconfig.NewRepositoryWithDefaults() requirementsFactory = new(requirementsfakes.FakeFactory) serviceBindingRepo = new(apifakes.FakeServiceBindingRepository) }) var callBindService = func(args []string) bool { return testcmd.RunCLICommand("bind-service", args, requirementsFactory, updateCommandDependency, false, ui) } It("fails requirements when not logged in", func() {
. "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) var _ = Describe("delete-shared-domain command", func() { var ( ui *testterm.FakeUI domainRepo *apifakes.FakeDomainRepository requirementsFactory *requirementsfakes.FakeFactory configRepo coreconfig.Repository deps commandregistry.Dependency ) updateCommandDependency := func(pluginCall bool) { deps.UI = ui deps.RepoLocator = deps.RepoLocator.SetDomainRepository(domainRepo) deps.Config = configRepo commandregistry.Commands.SetCommand(commandregistry.Commands.FindCommand("delete-shared-domain").SetDependency(deps, pluginCall)) } BeforeEach(func() { ui = &testterm.FakeUI{} domainRepo = new(apifakes.FakeDomainRepository) requirementsFactory = new(requirementsfakes.FakeFactory) configRepo = testconfig.NewRepositoryWithDefaults() }) runCommand := func(args ...string) bool { return testcmd.RunCLICommand("delete-shared-domain", args, requirementsFactory, updateCommandDependency, false, ui) }
ui *testterm.FakeUI config coreconfig.Repository requirementsFactory *requirementsfakes.FakeFactory authRepo *authenticationfakes.FakeRepository appRepo *applicationsfakes.FakeRepository copyAppSourceRepo *copyapplicationsourcefakes.FakeRepository spaceRepo *spacesfakes.FakeSpaceRepository orgRepo *organizationsfakes.FakeOrganizationRepository appRestarter *applicationfakes.FakeRestarter OriginalCommand commandregistry.Command deps commandregistry.Dependency ) updateCommandDependency := func(pluginCall bool) { deps.UI = ui deps.RepoLocator = deps.RepoLocator.SetAuthenticationRepository(authRepo) deps.RepoLocator = deps.RepoLocator.SetApplicationRepository(appRepo) deps.RepoLocator = deps.RepoLocator.SetCopyApplicationSourceRepository(copyAppSourceRepo) deps.RepoLocator = deps.RepoLocator.SetSpaceRepository(spaceRepo) deps.RepoLocator = deps.RepoLocator.SetOrganizationRepository(orgRepo) deps.Config = config //inject fake 'command dependency' into registry commandregistry.Register(appRestarter) commandregistry.Commands.SetCommand(commandregistry.Commands.FindCommand("copy-source").SetDependency(deps, pluginCall)) } BeforeEach(func() { ui = &testterm.FakeUI{} requirementsFactory = new(requirementsfakes.FakeFactory)
ui *testterm.FakeUI actor *actorsfakes.FakeServicePlanActor requirementsFactory *requirementsfakes.FakeFactory tokenRefresher *authenticationfakes.FakeRepository configRepo coreconfig.Repository deps commandregistry.Dependency serviceName string servicePlanName string publicServicePlanName string orgName string ) updateCommandDependency := func(pluginCall bool) { deps.UI = ui deps.RepoLocator = deps.RepoLocator.SetAuthenticationRepository(tokenRefresher) deps.ServicePlanHandler = actor deps.Config = configRepo commandregistry.Commands.SetCommand(commandregistry.Commands.FindCommand("disable-service-access").SetDependency(deps, pluginCall)) } BeforeEach(func() { ui = &testterm.FakeUI{ Inputs: []string{"yes"}, } configRepo = configuration.NewRepositoryWithDefaults() actor = new(actorsfakes.FakeServicePlanActor) requirementsFactory = new(requirementsfakes.FakeFactory) tokenRefresher = new(authenticationfakes.FakeRepository) })
) var _ = Describe("target command", func() { var ( orgRepo *organizationsfakes.FakeOrganizationRepository spaceRepo *spacesfakes.FakeSpaceRepository requirementsFactory *requirementsfakes.FakeFactory config coreconfig.Repository ui *testterm.FakeUI deps commandregistry.Dependency ) updateCommandDependency := func(pluginCall bool) { deps.UI = ui deps.Config = config deps.RepoLocator = deps.RepoLocator.SetOrganizationRepository(orgRepo) deps.RepoLocator = deps.RepoLocator.SetSpaceRepository(spaceRepo) commandregistry.Commands.SetCommand(commandregistry.Commands.FindCommand("target").SetDependency(deps, pluginCall)) } listSpacesStub := func(spaces []models.Space) func(func(models.Space) bool) error { return func(cb func(models.Space) bool) error { var keepGoing bool for _, s := range spaces { keepGoing = cb(s) if !keepGoing { break } } return nil }
. "github.com/cloudfoundry/cli/testhelpers/matchers" ) var _ = Describe("stacks command", func() { var ( ui *testterm.FakeUI repo *stacksfakes.FakeStackRepository config coreconfig.Repository requirementsFactory *requirementsfakes.FakeFactory deps commandregistry.Dependency ) updateCommandDependency := func(pluginCall bool) { deps.UI = ui deps.Config = config deps.RepoLocator = deps.RepoLocator.SetStackRepository(repo) commandregistry.Commands.SetCommand(commandregistry.Commands.FindCommand("stacks").SetDependency(deps, pluginCall)) } BeforeEach(func() { ui = &testterm.FakeUI{} config = testconfig.NewRepositoryWithDefaults() requirementsFactory = new(requirementsfakes.FakeFactory) requirementsFactory.NewLoginRequirementReturns(requirements.Passing{}) repo = new(stacksfakes.FakeStackRepository) }) Describe("login requirements", func() { It("fails if the user is not logged in", func() { requirementsFactory.NewLoginRequirementReturns(requirements.Failing{Message: "not logged in"})
. "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) var _ = Describe("staging-environment-variable-group command", func() { var ( ui *testterm.FakeUI requirementsFactory *requirementsfakes.FakeFactory configRepo coreconfig.Repository environmentVariableGroupRepo *environmentvariablegroupsfakes.FakeRepository deps commandregistry.Dependency ) updateCommandDependency := func(pluginCall bool) { deps.UI = ui deps.RepoLocator = deps.RepoLocator.SetEnvironmentVariableGroupsRepository(environmentVariableGroupRepo) deps.Config = configRepo commandregistry.Commands.SetCommand(commandregistry.Commands.FindCommand("staging-environment-variable-group").SetDependency(deps, pluginCall)) } BeforeEach(func() { ui = &testterm.FakeUI{} configRepo = testconfig.NewRepositoryWithDefaults() requirementsFactory = new(requirementsfakes.FakeFactory) environmentVariableGroupRepo = new(environmentvariablegroupsfakes.FakeRepository) }) runCommand := func(args ...string) bool { return testcmd.RunCLICommand("staging-environment-variable-group", args, requirementsFactory, updateCommandDependency, false, ui) }
. "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) var _ = Describe("service-auth-tokens command", func() { var ( ui *testterm.FakeUI configRepo coreconfig.Repository authTokenRepo *apifakes.OldFakeAuthTokenRepo requirementsFactory *requirementsfakes.FakeFactory deps commandregistry.Dependency ) updateCommandDependency := func(pluginCall bool) { deps.UI = ui deps.RepoLocator = deps.RepoLocator.SetServiceAuthTokenRepository(authTokenRepo) deps.Config = configRepo commandregistry.Commands.SetCommand(commandregistry.Commands.FindCommand("service-auth-tokens").SetDependency(deps, pluginCall)) } BeforeEach(func() { ui = &testterm.FakeUI{Inputs: []string{"y"}} authTokenRepo = new(apifakes.OldFakeAuthTokenRepo) configRepo = testconfig.NewRepositoryWithDefaults() requirementsFactory = new(requirementsfakes.FakeFactory) }) runCommand := func(args ...string) bool { return testcmd.RunCLICommand("service-auth-tokens", args, requirementsFactory, updateCommandDependency, false, ui) }
"os" ) var _ = Describe("list-apps command", func() { var ( ui *testterm.FakeUI configRepo coreconfig.Repository appSummaryRepo *apifakes.OldFakeAppSummaryRepo requirementsFactory *testreq.FakeReqFactory deps commandregistry.Dependency ) updateCommandDependency := func(pluginCall bool) { deps.UI = ui deps.Config = configRepo deps.RepoLocator = deps.RepoLocator.SetAppSummaryRepository(appSummaryRepo) commandregistry.Commands.SetCommand(commandregistry.Commands.FindCommand("apps").SetDependency(deps, pluginCall)) } BeforeEach(func() { ui = &testterm.FakeUI{} appSummaryRepo = new(apifakes.OldFakeAppSummaryRepo) configRepo = testconfig.NewRepositoryWithDefaults() requirementsFactory = &testreq.FakeReqFactory{ LoginSuccess: true, TargetedSpaceSuccess: true, } app1Routes := []models.RouteSummary{ { Host: "app1",
. "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) var _ = Describe("delete-orphaned-routes command", func() { var ( ui *testterm.FakeUI routeRepo *apifakes.FakeRouteRepository configRepo coreconfig.Repository requirementsFactory *requirementsfakes.FakeFactory deps commandregistry.Dependency ) updateCommandDependency := func(pluginCall bool) { deps.UI = ui deps.RepoLocator = deps.RepoLocator.SetRouteRepository(routeRepo) deps.Config = configRepo commandregistry.Commands.SetCommand(commandregistry.Commands.FindCommand("delete-orphaned-routes").SetDependency(deps, pluginCall)) } callDeleteOrphanedRoutes := func(confirmation string, args []string, requirementsFactory *requirementsfakes.FakeFactory, routeRepo *apifakes.FakeRouteRepository) (*testterm.FakeUI, bool) { ui = &testterm.FakeUI{Inputs: []string{confirmation}} configRepo = testconfig.NewRepositoryWithDefaults() passed := testcmd.RunCLICommand("delete-orphaned-routes", args, requirementsFactory, updateCommandDependency, false, ui) return ui, passed } BeforeEach(func() { routeRepo = new(apifakes.FakeRouteRepository) requirementsFactory = new(requirementsfakes.FakeFactory)
. "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) var _ = Describe("OauthToken", func() { var ( ui *testterm.FakeUI authRepo *authenticationfakes.FakeRepository requirementsFactory *requirementsfakes.FakeFactory configRepo coreconfig.Repository deps commandregistry.Dependency ) updateCommandDependency := func(pluginCall bool) { deps.UI = ui deps.RepoLocator = deps.RepoLocator.SetAuthenticationRepository(authRepo) deps.Config = configRepo commandregistry.Commands.SetCommand(commandregistry.Commands.FindCommand("oauth-token").SetDependency(deps, pluginCall)) } BeforeEach(func() { ui = &testterm.FakeUI{} fakeLogger := new(tracefakes.FakePrinter) authRepo = new(authenticationfakes.FakeRepository) configRepo = testconfig.NewRepositoryWithDefaults() requirementsFactory = new(requirementsfakes.FakeFactory) deps = commandregistry.NewDependency(os.Stdout, fakeLogger) }) runCommand := func() bool { return testcmd.RunCLICommand("oauth-token", []string{}, requirementsFactory, updateCommandDependency, false, ui)
spaceRepo *apifakes.FakeSpaceRepository configRepo coreconfig.Repository deps commandregistry.Dependency ) BeforeEach(func() { ui = &testterm.FakeUI{} configRepo = testconfig.NewRepositoryWithDefaults() requirementsFactory = new(requirementsfakes.FakeFactory) spaceRepo = new(apifakes.FakeSpaceRepository) }) updateCommandDependency := func(pluginCall bool) { deps.UI = ui deps.Config = configRepo deps.RepoLocator = deps.RepoLocator.SetSpaceRepository(spaceRepo) commandregistry.Commands.SetCommand(commandregistry.Commands.FindCommand("disallow-space-ssh").SetDependency(deps, pluginCall)) } runCommand := func(args ...string) bool { return testcmd.RunCLICommand("disallow-space-ssh", args, requirementsFactory, updateCommandDependency, false, ui) } Describe("requirements", func() { BeforeEach(func() { requirementsFactory.NewLoginRequirementReturns(requirements.Passing{}) }) It("fails with usage when called without enough arguments", func() { runCommand() Expect(ui.Outputs()).To(ContainSubstrings(
. "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) var _ = Describe("update-security-group command", func() { var ( ui *testterm.FakeUI securityGroupRepo *securitygroupsfakes.FakeSecurityGroupRepo requirementsFactory *requirementsfakes.FakeFactory configRepo coreconfig.Repository deps commandregistry.Dependency ) updateCommandDependency := func(pluginCall bool) { deps.UI = ui deps.RepoLocator = deps.RepoLocator.SetSecurityGroupRepository(securityGroupRepo) deps.Config = configRepo commandregistry.Commands.SetCommand(commandregistry.Commands.FindCommand("update-security-group").SetDependency(deps, pluginCall)) } BeforeEach(func() { ui = &testterm.FakeUI{} requirementsFactory = new(requirementsfakes.FakeFactory) securityGroupRepo = new(securitygroupsfakes.FakeSecurityGroupRepo) configRepo = testconfig.NewRepositoryWithDefaults() }) runCommand := func(args ...string) bool { return testcmd.RunCLICommand("update-security-group", args, requirementsFactory, updateCommandDependency, false, ui) }
. "github.com/cloudfoundry/cli/testhelpers/matchers" ) var _ = Describe("delete-user command", func() { var ( ui *testterm.FakeUI configRepo coreconfig.Repository userRepo *apifakes.FakeUserRepository requirementsFactory *testreq.FakeReqFactory deps commandregistry.Dependency ) updateCommandDependency := func(pluginCall bool) { deps.UI = ui deps.Config = configRepo deps.RepoLocator = deps.RepoLocator.SetUserRepository(userRepo) commandregistry.Commands.SetCommand(commandregistry.Commands.FindCommand("delete-user").SetDependency(deps, pluginCall)) } BeforeEach(func() { ui = &testterm.FakeUI{Inputs: []string{"y"}} userRepo = new(apifakes.FakeUserRepository) requirementsFactory = &testreq.FakeReqFactory{LoginSuccess: true} configRepo = testconfig.NewRepositoryWithDefaults() token, err := testconfig.EncodeAccessToken(coreconfig.TokenInfo{ UserGUID: "admin-user-guid", Username: "******", }) Expect(err).ToNot(HaveOccurred()) configRepo.SetAccessToken(token)
[]string{"FAILED"}, )) } var _ = Describe("Updating buildpack command", func() { var ( requirementsFactory *testreq.FakeReqFactory ui *testterm.FakeUI repo *apifakes.OldFakeBuildpackRepository bitsRepo *apifakes.OldFakeBuildpackBitsRepository deps commandregistry.Dependency ) updateCommandDependency := func(pluginCall bool) { deps.UI = ui deps.RepoLocator = deps.RepoLocator.SetBuildpackRepository(repo) deps.RepoLocator = deps.RepoLocator.SetBuildpackBitsRepository(bitsRepo) commandregistry.Commands.SetCommand(commandregistry.Commands.FindCommand("update-buildpack").SetDependency(deps, pluginCall)) } BeforeEach(func() { requirementsFactory = &testreq.FakeReqFactory{LoginSuccess: true, BuildpackSuccess: true} ui = new(testterm.FakeUI) repo = new(apifakes.OldFakeBuildpackRepository) bitsRepo = new(apifakes.OldFakeBuildpackBitsRepository) }) runCommand := func(args ...string) bool { return testcmd.RunCLICommand("update-buildpack", args, requirementsFactory, updateCommandDependency, false) }
. "github.com/cloudfoundry/cli/testhelpers/matchers" ) var _ = Describe("orgs command", func() { var ( ui *testterm.FakeUI orgRepo *organizationsfakes.FakeOrganizationRepository configRepo coreconfig.Repository requirementsFactory *requirementsfakes.FakeFactory deps commandregistry.Dependency ) updateCommandDependency := func(pluginCall bool) { deps.UI = ui deps.Config = configRepo deps.RepoLocator = deps.RepoLocator.SetOrganizationRepository(orgRepo) commandregistry.Commands.SetCommand(commandregistry.Commands.FindCommand("orgs").SetDependency(deps, pluginCall)) } runCommand := func(args ...string) bool { return testcmd.RunCLICommand("orgs", args, requirementsFactory, updateCommandDependency, false, ui) } BeforeEach(func() { ui = &testterm.FakeUI{} configRepo = testconfig.NewRepositoryWithDefaults() orgRepo = new(organizationsfakes.FakeOrganizationRepository) requirementsFactory = new(requirementsfakes.FakeFactory) requirementsFactory.NewLoginRequirementReturns(requirements.Passing{}) deps = commandregistry.NewDependency(os.Stdout, new(tracefakes.FakePrinter), "")
requirementsFactory.NewLoginRequirementReturns(requirements.Passing{}) requirementsFactory.NewTargetedSpaceRequirementReturns(requirements.Passing{}) application = models.Application{} application.Name = "my-app" application.GUID = "my-app-guid" application.InstanceCount = 1 applicationReq := new(requirementsfakes.FakeApplicationRequirement) applicationReq.GetApplicationReturns(application) requirementsFactory.NewApplicationRequirementReturns(applicationReq) }) updateCommandDependency := func(pluginCall bool) { deps.UI = ui deps.Config = config deps.RepoLocator = deps.RepoLocator.SetAppInstancesRepository(appInstancesRepo) commandregistry.Commands.SetCommand(commandregistry.Commands.FindCommand("restart-app-instance").SetDependency(deps, pluginCall)) } runCommand := func(args ...string) bool { return testcmd.RunCLICommand("restart-app-instance", args, requirementsFactory, updateCommandDependency, false, ui) } Describe("requirements", func() { It("fails if not logged in", func() { requirementsFactory.NewLoginRequirementReturns(requirements.Failing{Message: "not logged in"}) Expect(runCommand("my-app", "0")).To(BeFalse()) }) It("fails if a space is not targeted", func() { requirementsFactory.NewTargetedSpaceRequirementReturns(requirements.Failing{Message: "not targeting space"})
. "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) var _ = Describe("feature-flags command", func() { var ( ui *testterm.FakeUI requirementsFactory *requirementsfakes.FakeFactory configRepo coreconfig.Repository flagRepo *featureflagsfakes.FakeFeatureFlagRepository deps commandregistry.Dependency ) updateCommandDependency := func(pluginCall bool) { deps.UI = ui deps.RepoLocator = deps.RepoLocator.SetFeatureFlagRepository(flagRepo) deps.Config = configRepo commandregistry.Commands.SetCommand(commandregistry.Commands.FindCommand("feature-flags").SetDependency(deps, pluginCall)) } BeforeEach(func() { ui = &testterm.FakeUI{} configRepo = testconfig.NewRepositoryWithDefaults() requirementsFactory = new(requirementsfakes.FakeFactory) requirementsFactory.NewLoginRequirementReturns(requirements.Passing{}) flagRepo = new(featureflagsfakes.FakeFeatureFlagRepository) }) runCommand := func(args ...string) bool { return testcmd.RunCLICommand("feature-flags", args, requirementsFactory, updateCommandDependency, false, ui) }
. "github.com/cloudfoundry/cli/testhelpers/matchers" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) var _ = Describe("ListBuildpacks", func() { var ( ui *testterm.FakeUI buildpackRepo *apifakes.OldFakeBuildpackRepository requirementsFactory *testreq.FakeReqFactory deps commandregistry.Dependency ) updateCommandDependency := func(pluginCall bool) { deps.UI = ui deps.RepoLocator = deps.RepoLocator.SetBuildpackRepository(buildpackRepo) commandregistry.Commands.SetCommand(commandregistry.Commands.FindCommand("buildpacks").SetDependency(deps, pluginCall)) } BeforeEach(func() { ui = &testterm.FakeUI{} buildpackRepo = new(apifakes.OldFakeBuildpackRepository) requirementsFactory = &testreq.FakeReqFactory{} }) runCommand := func(args ...string) bool { return testcmd.RunCLICommand("buildpacks", args, requirementsFactory, updateCommandDependency, false) } Context("when arguments are provided", func() { var cmd commandregistry.Command
. "github.com/onsi/gomega" ) var _ = Describe("services", func() { var ( ui *testterm.FakeUI configRepo coreconfig.Repository requirementsFactory *requirementsfakes.FakeFactory serviceSummaryRepo *apifakes.OldFakeServiceSummaryRepo deps commandregistry.Dependency ) updateCommandDependency := func(pluginCall bool) { deps.UI = ui deps.Config = configRepo deps.RepoLocator = deps.RepoLocator.SetServiceSummaryRepository(serviceSummaryRepo) commandregistry.Commands.SetCommand(commandregistry.Commands.FindCommand("services").SetDependency(deps, pluginCall)) } runCommand := func(args ...string) bool { return testcmd.RunCLICommand("services", args, requirementsFactory, updateCommandDependency, false, ui) } BeforeEach(func() { ui = &testterm.FakeUI{} configRepo = testconfig.NewRepositoryWithDefaults() serviceSummaryRepo = new(apifakes.OldFakeServiceSummaryRepo) targetedOrgRequirement := new(requirementsfakes.FakeTargetedOrgRequirement) requirementsFactory = new(requirementsfakes.FakeFactory) requirementsFactory.NewLoginRequirementReturns(requirements.Passing{}) requirementsFactory.NewTargetedSpaceRequirementReturns(requirements.Passing{})