actor *actorsfakes.FakeServicePlanActor requirementsFactory *requirementsfakes.FakeFactory configRepo coreconfig.Repository tokenRefresher *authenticationfakes.FakeRepository deps commandregistry.Dependency serviceName string servicePlanName string publicServicePlanName string privateServicePlanName 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("enable-service-access").SetDependency(deps, pluginCall)) } BeforeEach(func() { ui = &testterm.FakeUI{} actor = new(actorsfakes.FakeServicePlanActor) configRepo = configuration.NewRepositoryWithDefaults() requirementsFactory = new(requirementsfakes.FakeFactory) tokenRefresher = new(authenticationfakes.FakeRepository) }) runCommand := func(args []string) bool { return testcmd.RunCLICommand("enable-service-access", args, requirementsFactory, updateCommandDependency, false, ui)
. "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) requirementsFactory = new(requirementsfakes.FakeFactory) }) runCommand := func(args ...string) bool { return testcmd.RunCLICommand("stop", args, requirementsFactory, updateCommandDependency, false, ui) }
. "code.cloudfoundry.org/cli/testhelpers/matchers" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) var _ = Describe("ListBuildpacks", func() { var ( ui *testterm.FakeUI buildpackRepo *apifakes.OldFakeBuildpackRepository requirementsFactory *requirementsfakes.FakeFactory 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 = new(requirementsfakes.FakeFactory) }) runCommand := func(args ...string) bool { return testcmd.RunCLICommand("buildpacks", args, requirementsFactory, updateCommandDependency, false, ui) } Context("when arguments are provided", func() { var cmd commandregistry.Command
. "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) var _ = Describe("logs command", func() { var ( ui *testterm.FakeUI logsRepo *logsfakes.FakeRepository requirementsFactory *requirementsfakes.FakeFactory 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.FakeRepository) requirementsFactory = new(requirementsfakes.FakeFactory) }) runCommand := func(args ...string) bool { return testcmd.RunCLICommand("logs", args, requirementsFactory, updateCommandDependency, false, ui) }
. "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) }
) 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 }
. "code.cloudfoundry.org/cli/testhelpers/matchers" ) var _ = Describe("delete-service-auth-token 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("delete-service-auth-token").SetDependency(deps, pluginCall)) } BeforeEach(func() { ui = &testterm.FakeUI{Inputs: []string{"y"}} authTokenRepo = new(apifakes.OldFakeAuthTokenRepo) configRepo = testconfig.NewRepositoryWithDefaults() requirementsFactory = new(requirementsfakes.FakeFactory) requirementsFactory.NewLoginRequirementReturns(requirements.Passing{}) requirementsFactory.NewMaxAPIVersionRequirementReturns(requirements.Passing{}) }) runCommand := func(args ...string) bool { return testcmd.RunCLICommand("delete-service-auth-token", args, requirementsFactory, updateCommandDependency, false, ui)
var _ = Describe("bind-security-group command", func() { var ( ui *testterm.FakeUI configRepo coreconfig.Repository fakeSecurityGroupRepo *securitygroupsfakes.FakeSecurityGroupRepo requirementsFactory *requirementsfakes.FakeFactory fakeSpaceRepo *spacesapifakes.FakeSpaceRepository fakeOrgRepo *organizationsfakes.FakeOrganizationRepository fakeSpaceBinder *spacesfakes.FakeSecurityGroupSpaceBinder deps commandregistry.Dependency ) updateCommandDependency := func(pluginCall bool) { deps.UI = ui deps.RepoLocator = deps.RepoLocator.SetSpaceRepository(fakeSpaceRepo) deps.RepoLocator = deps.RepoLocator.SetOrganizationRepository(fakeOrgRepo) deps.RepoLocator = deps.RepoLocator.SetSecurityGroupRepository(fakeSecurityGroupRepo) deps.RepoLocator = deps.RepoLocator.SetSecurityGroupSpaceBinder(fakeSpaceBinder) deps.Config = configRepo commandregistry.Commands.SetCommand(commandregistry.Commands.FindCommand("bind-security-group").SetDependency(deps, pluginCall)) } BeforeEach(func() { ui = &testterm.FakeUI{} fakeOrgRepo = new(organizationsfakes.FakeOrganizationRepository) fakeSpaceRepo = new(spacesapifakes.FakeSpaceRepository) requirementsFactory = new(requirementsfakes.FakeFactory) fakeSecurityGroupRepo = new(securitygroupsfakes.FakeSecurityGroupRepo) configRepo = testconfig.NewRepositoryWithDefaults() fakeSpaceBinder = new(spacesfakes.FakeSecurityGroupSpaceBinder)
var _ = Describe("unbind-security-group command", func() { var ( ui *testterm.FakeUI securityGroupRepo *securitygroupsfakes.FakeSecurityGroupRepo orgRepo *organizationsfakes.FakeOrganizationRepository spaceRepo *spacesapifakes.FakeSpaceRepository secBinder *spacesfakes.FakeSecurityGroupSpaceBinder requirementsFactory *requirementsfakes.FakeFactory configRepo coreconfig.Repository deps commandregistry.Dependency ) updateCommandDependency := func(pluginCall bool) { deps.UI = ui deps.RepoLocator = deps.RepoLocator.SetSpaceRepository(spaceRepo) deps.RepoLocator = deps.RepoLocator.SetOrganizationRepository(orgRepo) deps.RepoLocator = deps.RepoLocator.SetSecurityGroupRepository(securityGroupRepo) deps.RepoLocator = deps.RepoLocator.SetSecurityGroupSpaceBinder(secBinder) deps.Config = configRepo commandregistry.Commands.SetCommand(commandregistry.Commands.FindCommand("unbind-security-group").SetDependency(deps, pluginCall)) } BeforeEach(func() { ui = &testterm.FakeUI{} requirementsFactory = new(requirementsfakes.FakeFactory) securityGroupRepo = new(securitygroupsfakes.FakeSecurityGroupRepo) orgRepo = new(organizationsfakes.FakeOrganizationRepository) spaceRepo = new(spacesapifakes.FakeSpaceRepository) secBinder = new(spacesfakes.FakeSecurityGroupSpaceBinder) configRepo = testconfig.NewRepositoryWithDefaults()
. "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) var _ = Describe("create-buildpack command", func() { var ( requirementsFactory *requirementsfakes.FakeFactory repo *apifakes.OldFakeBuildpackRepository bitsRepo *apifakes.FakeBuildpackBitsRepository ui *testterm.FakeUI 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("create-buildpack").SetDependency(deps, pluginCall)) } BeforeEach(func() { requirementsFactory = new(requirementsfakes.FakeFactory) requirementsFactory.NewLoginRequirementReturns(requirements.Passing{}) repo = new(apifakes.OldFakeBuildpackRepository) bitsRepo = new(apifakes.FakeBuildpackBitsRepository) ui = &testterm.FakeUI{} }) It("fails requirements when the user is not logged in", func() { requirementsFactory.NewLoginRequirementReturns(requirements.Failing{Message: "not logged in"}) Expect(testcmd.RunCLICommand("create-buildpack", []string{"my-buildpack", "my-dir", "0"}, requirementsFactory, updateCommandDependency, false, ui)).To(BeFalse())
. "github.com/onsi/gomega" ) var _ = Describe("delete-org command", func() { var ( config coreconfig.Repository ui *testterm.FakeUI requirementsFactory *requirementsfakes.FakeFactory orgRepo *organizationsfakes.FakeOrganizationRepository org models.Organization deps commandregistry.Dependency ) updateCommandDependency := func(pluginCall bool) { deps.UI = ui deps.RepoLocator = deps.RepoLocator.SetOrganizationRepository(orgRepo) deps.Config = config commandregistry.Commands.SetCommand(commandregistry.Commands.FindCommand("delete-org").SetDependency(deps, pluginCall)) } BeforeEach(func() { ui = &testterm.FakeUI{ Inputs: []string{"y"}, } config = testconfig.NewRepositoryWithDefaults() requirementsFactory = new(requirementsfakes.FakeFactory) org = models.Organization{} org.Name = "org-to-delete" org.GUID = "org-to-delete-guid" orgRepo = new(organizationsfakes.FakeOrganizationRepository)
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"})
defaultInstanceErrorCodes []string requirementsFactory *requirementsfakes.FakeFactory logMessages atomic.Value logRepo *logsfakes.FakeRepository appInstancesRepo *appinstancesfakes.FakeAppInstancesRepository appRepo *applicationsfakes.FakeRepository originalAppCommand commandregistry.Command deps commandregistry.Dependency displayApp *applicationfakes.FakeAppDisplayer ) updateCommandDependency := func(logsRepo logs.Repository) { deps.UI = ui deps.Config = configRepo deps.RepoLocator = deps.RepoLocator.SetLogsRepository(logsRepo) deps.RepoLocator = deps.RepoLocator.SetApplicationRepository(appRepo) deps.RepoLocator = deps.RepoLocator.SetAppInstancesRepository(appInstancesRepo) //inject fake 'Start' into registry commandregistry.Register(displayApp) commandregistry.Commands.SetCommand(commandregistry.Commands.FindCommand("start").SetDependency(deps, false)) } getInstance := func(appGUID string) ([]models.AppInstanceFields, error) { var apiErr error var instances []models.AppInstanceFields if len(defaultInstanceResponses) > 0 { instances, defaultInstanceResponses = defaultInstanceResponses[0], defaultInstanceResponses[1:]
. "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) var _ = Describe("delete-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("delete-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("delete-security-group", args, requirementsFactory, updateCommandDependency, false, ui) }
"github.com/blang/semver" ) var _ = Describe("create-quota command", func() { var ( ui *testterm.FakeUI quotaRepo *quotasfakes.FakeQuotaRepository requirementsFactory *requirementsfakes.FakeFactory configRepo coreconfig.Repository deps commandregistry.Dependency ) updateCommandDependency := func(pluginCall bool) { deps.UI = ui deps.Config = configRepo deps.RepoLocator = deps.RepoLocator.SetQuotaRepository(quotaRepo) commandregistry.Commands.SetCommand(commandregistry.Commands.FindCommand("create-quota").SetDependency(deps, pluginCall)) } BeforeEach(func() { ui = &testterm.FakeUI{} configRepo = testconfig.NewRepositoryWithDefaults() quotaRepo = new(quotasfakes.FakeQuotaRepository) requirementsFactory = new(requirementsfakes.FakeFactory) }) runCommand := func(args ...string) bool { return testcmd.RunCLICommand("create-quota", args, requirementsFactory, updateCommandDependency, false, ui) } Describe("Help text", func() {
. "github.com/onsi/gomega" ) var _ = Describe("create domain command", func() { var ( requirementsFactory *requirementsfakes.FakeFactory ui *testterm.FakeUI domainRepo *apifakes.FakeDomainRepository 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("create-domain").SetDependency(deps, pluginCall)) } BeforeEach(func() { requirementsFactory = new(requirementsfakes.FakeFactory) requirementsFactory.NewLoginRequirementReturns(requirements.Passing{}) domainRepo = new(apifakes.FakeDomainRepository) configRepo = testconfig.NewRepositoryWithAccessToken(coreconfig.TokenInfo{Username: "******"}) }) runCommand := func(args ...string) bool { ui = new(testterm.FakeUI) return testcmd.RunCLICommand("create-domain", args, requirementsFactory, updateCommandDependency, false, ui) }
. "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) var _ = Describe("disable-feature-flag command", func() { var ( ui *testterm.FakeUI requirementsFactory *requirementsfakes.FakeFactory flagRepo *featureflagsfakes.FakeFeatureFlagRepository configRepo coreconfig.Repository 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("disable-feature-flag").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("disable-feature-flag", args, requirementsFactory, updateCommandDependency, false, ui) }
. "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) var _ = Describe("curl command", func() { var ( ui *testterm.FakeUI config coreconfig.Repository requirementsFactory *requirementsfakes.FakeFactory curlRepo *apifakes.OldFakeCurlRepository deps commandregistry.Dependency ) updateCommandDependency := func(pluginCall bool) { deps.UI = ui deps.RepoLocator = deps.RepoLocator.SetCurlRepository(curlRepo) deps.Config = config commandregistry.Commands.SetCommand(commandregistry.Commands.FindCommand("curl").SetDependency(deps, pluginCall)) } BeforeEach(func() { ui = &testterm.FakeUI{} config = testconfig.NewRepository() requirementsFactory = new(requirementsfakes.FakeFactory) requirementsFactory.NewAPIEndpointRequirementReturns(requirements.Passing{}) curlRepo = new(apifakes.OldFakeCurlRepository) trace.LoggingToStdout = false }) runCurlWithInputs := func(args []string) bool {
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)
) var _ = Describe("space-users command", func() { var ( ui *testterm.FakeUI requirementsFactory *requirementsfakes.FakeFactory spaceRepo *spacesfakes.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 = new(requirementsfakes.FakeFactory) spaceRepo = new(spacesfakes.FakeSpaceRepository) userRepo = new(apifakes.FakeUserRepository) deps = commandregistry.NewDependency(os.Stdout, new(tracefakes.FakePrinter), "") }) runCommand := func(args ...string) bool {
) var _ = Describe("auth command", func() { var ( ui *testterm.FakeUI config coreconfig.Repository authRepo *authenticationfakes.FakeRepository requirementsFactory *requirementsfakes.FakeFactory deps commandregistry.Dependency fakeLogger *tracefakes.FakePrinter ) updateCommandDependency := func(pluginCall bool) { deps.UI = ui deps.Config = config deps.RepoLocator = deps.RepoLocator.SetAuthenticationRepository(authRepo) commandregistry.Commands.SetCommand(commandregistry.Commands.FindCommand("auth").SetDependency(deps, pluginCall)) } BeforeEach(func() { ui = &testterm.FakeUI{} config = testconfig.NewRepositoryWithDefaults() requirementsFactory = new(requirementsfakes.FakeFactory) authRepo = new(authenticationfakes.FakeRepository) authRepo.AuthenticateStub = func(credentials map[string]string) error { config.SetAccessToken("my-access-token") config.SetRefreshToken("my-refresh-token") return nil } fakeLogger = new(tracefakes.FakePrinter)
. "code.cloudfoundry.org/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"})
. "code.cloudfoundry.org/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 {
. "code.cloudfoundry.org/cli/testhelpers/matchers" ) var _ = Describe("org-users command", func() { var ( ui *testterm.FakeUI requirementsFactory *requirementsfakes.FakeFactory configRepo coreconfig.Repository userRepo *apifakes.FakeUserRepository 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("org-users").SetDependency(deps, pluginCall)) } BeforeEach(func() { ui = &testterm.FakeUI{} userRepo = new(apifakes.FakeUserRepository) configRepo = testconfig.NewRepositoryWithDefaults() requirementsFactory = new(requirementsfakes.FakeFactory) deps = commandregistry.NewDependency(os.Stdout, new(tracefakes.FakePrinter), "") }) runCommand := func(args ...string) bool { return testcmd.RunCLICommand("org-users", args, requirementsFactory, updateCommandDependency, false, ui) }
. "github.com/onsi/gomega" ) var _ = Describe("create-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("create-service-key").SetDependency(deps, pluginCall)) } BeforeEach(func() { ui = &testterm.FakeUI{} config = testconfig.NewRepositoryWithDefaults() serviceRepo = &apifakes.FakeServiceRepository{} serviceInstance := models.ServiceInstance{} serviceInstance.GUID = "fake-instance-guid" serviceInstance.Name = "fake-service-instance" serviceRepo.FindInstanceByNameReturns(serviceInstance, nil) serviceKeyRepo = apifakes.NewFakeServiceKeyRepo() requirementsFactory = new(requirementsfakes.FakeFactory)
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) }
. "code.cloudfoundry.org/cli/testhelpers/matchers" ) var _ = Describe("list-apps command", func() { var ( ui *testterm.FakeUI configRepo coreconfig.Repository appSummaryRepo *apifakes.OldFakeAppSummaryRepo requirementsFactory *requirementsfakes.FakeFactory 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 = new(requirementsfakes.FakeFactory) requirementsFactory.NewLoginRequirementReturns(requirements.Passing{}) requirementsFactory.NewTargetedSpaceRequirementReturns(requirements.Passing{}) app1Routes := []models.RouteSummary{ { Host: "app1",
) var _ = Describe("unset-space-quota command", func() { var ( ui *testterm.FakeUI quotaRepo *spacequotasfakes.FakeSpaceQuotaRepository spaceRepo *spacesfakes.FakeSpaceRepository requirementsFactory *requirementsfakes.FakeFactory configRepo coreconfig.Repository deps commandregistry.Dependency ) updateCommandDependency := func(pluginCall bool) { deps.UI = ui deps.Config = configRepo deps.RepoLocator = deps.RepoLocator.SetSpaceQuotaRepository(quotaRepo) deps.RepoLocator = deps.RepoLocator.SetSpaceRepository(spaceRepo) commandregistry.Commands.SetCommand(commandregistry.Commands.FindCommand("unset-space-quota").SetDependency(deps, pluginCall)) } BeforeEach(func() { ui = &testterm.FakeUI{} configRepo = testconfig.NewRepositoryWithDefaults() quotaRepo = new(spacequotasfakes.FakeSpaceQuotaRepository) spaceRepo = new(spacesfakes.FakeSpaceRepository) requirementsFactory = new(requirementsfakes.FakeFactory) }) runCommand := func(args ...string) bool { return testcmd.RunCLICommand("unset-space-quota", args, requirementsFactory, updateCommandDependency, false, ui) }
spaceRepo *spacesfakes.FakeSpaceRepository configRepo coreconfig.Repository deps commandregistry.Dependency ) BeforeEach(func() { ui = &testterm.FakeUI{} configRepo = testconfig.NewRepositoryWithDefaults() requirementsFactory = new(requirementsfakes.FakeFactory) spaceRepo = new(spacesfakes.FakeSpaceRepository) }) updateCommandDependency := func(pluginCall bool) { deps.UI = ui deps.Config = configRepo deps.RepoLocator = deps.RepoLocator.SetSpaceRepository(spaceRepo) commandregistry.Commands.SetCommand(commandregistry.Commands.FindCommand("allow-space-ssh").SetDependency(deps, pluginCall)) } runCommand := func(args ...string) bool { return testcmd.RunCLICommand("allow-space-ssh", args, requirementsFactory, updateCommandDependency, false, ui) } Describe("requirements", func() { It("fails with usage when called without enough arguments", func() { requirementsFactory.NewLoginRequirementReturns(requirements.Passing{}) runCommand() Expect(ui.Outputs()).To(ContainSubstrings( []string{"Incorrect Usage", "Requires", "argument"}, ))
var _ = Describe("create-org command", func() { var ( config coreconfig.Repository ui *testterm.FakeUI requirementsFactory *requirementsfakes.FakeFactory orgRepo *organizationsfakes.FakeOrganizationRepository quotaRepo *quotasfakes.FakeQuotaRepository deps commandregistry.Dependency orgRoleSetter *userfakes.FakeOrgRoleSetter flagRepo *featureflagsfakes.FakeFeatureFlagRepository OriginalCommand commandregistry.Command ) updateCommandDependency := func(pluginCall bool) { deps.UI = ui deps.RepoLocator = deps.RepoLocator.SetOrganizationRepository(orgRepo) deps.RepoLocator = deps.RepoLocator.SetQuotaRepository(quotaRepo) deps.RepoLocator = deps.RepoLocator.SetFeatureFlagRepository(flagRepo) deps.Config = config //inject fake 'command dependency' into registry commandregistry.Register(orgRoleSetter) commandregistry.Commands.SetCommand(commandregistry.Commands.FindCommand("create-org").SetDependency(deps, pluginCall)) } BeforeEach(func() { ui = &testterm.FakeUI{} config = testconfig.NewRepositoryWithDefaults() requirementsFactory = new(requirementsfakes.FakeFactory) requirementsFactory.NewLoginRequirementReturns(requirements.Passing{})