Expect(actualWantGUID).To(BeTrue()) Expect(actualRequirements).To(ContainElement(userRequirement)) }) }) }) }) Describe("Execute", func() { var err error BeforeEach(func() { flagContext.Parse("the-user-name", "the-org-name", "OrgManager") cmd.Requirements(factory, flagContext) org := models.Organization{} org.GUID = "the-org-guid" org.Name = "the-org-name" organizationRequirement.GetOrganizationReturns(org) }) JustBeforeEach(func() { err = cmd.Execute(flagContext) }) Context("when the UserRequirement returns a user with a GUID", func() { BeforeEach(func() { userFields := models.UserFields{GUID: "the-user-guid", Username: "******"} userRequirement.GetUserReturns(userFields) })
"code.cloudfoundry.org/cli/cf/api/organizations/organizationsfakes" "code.cloudfoundry.org/cli/cf/models" . "code.cloudfoundry.org/cli/cf/requirements" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) var _ = Describe("OrganizationRequirement", func() { var orgRepo *organizationsfakes.FakeOrganizationRepository BeforeEach(func() { orgRepo = new(organizationsfakes.FakeOrganizationRepository) }) Context("when an org with the given name exists", func() { It("succeeds", func() { org := models.Organization{} org.Name = "my-org-name" org.GUID = "my-org-guid" orgReq := NewOrganizationRequirement("my-org-name", orgRepo) orgRepo.ListOrgsReturns([]models.Organization{org}, nil) orgRepo.FindByNameReturns(org, nil) err := orgReq.Execute() Expect(err).NotTo(HaveOccurred()) Expect(orgRepo.FindByNameArgsForCall(0)).To(Equal("my-org-name")) Expect(orgReq.GetOrganization()).To(Equal(org)) }) }) It("fails when the org with the given name does not exist", func() {
Expect(ui.Outputs()).To(ContainSubstrings([]string{"Getting users in org some-org / space whatever-space as my-user"})) }) }) It("fails with usage when not invoked with exactly two args", func() { runCommand("my-org") Expect(ui.Outputs()).To(ContainSubstrings( []string{"Incorrect Usage", "Requires arguments"}, )) }) Context("when logged in and given some users in the org and space", func() { BeforeEach(func() { requirementsFactory.NewLoginRequirementReturns(requirements.Passing{}) org := models.Organization{} org.Name = "Org1" org.GUID = "org1-guid" space := models.Space{} space.Name = "Space1" space.GUID = "space1-guid" organizationReq := new(requirementsfakes.FakeOrganizationRequirement) organizationReq.GetOrganizationReturns(org) requirementsFactory.NewOrganizationRequirementReturns(organizationReq) spaceRepo.FindByNameInOrgReturns(space, nil) user := models.UserFields{} user.Username = "******" user2 := models.UserFields{} user2.Username = "******"
Context("when the user is logged in", func() { BeforeEach(func() { requirementsFactory.NewLoginRequirementReturns(requirements.Passing{}) }) var expectOrgToBeCleared = func() { Expect(config.OrganizationFields()).To(Equal(models.OrganizationFields{})) } var expectSpaceToBeCleared = func() { Expect(config.SpaceFields()).To(Equal(models.SpaceFields{})) } Context("there are no errors", func() { BeforeEach(func() { org := models.Organization{} org.Name = "my-organization" org.GUID = "my-organization-guid" orgRepo.ListOrgsReturns([]models.Organization{org}, nil) orgRepo.FindByNameReturns(org, nil) config.SetOrganizationFields(models.OrganizationFields{Name: org.Name, GUID: org.GUID}) }) It("it updates the organization in the config", func() { callTarget([]string{"-o", "my-organization"}) Expect(orgRepo.FindByNameCallCount()).To(Equal(1)) Expect(orgRepo.FindByNameArgsForCall(0)).To(Equal("my-organization")) Expect(ui.ShowConfigurationCalled).To(BeTrue())
}) It("fails and tells the user", func() { runCommand("sec group", "org", "space") Expect(fakeOrgRepo.FindByNameArgsForCall(0)).To(Equal("org")) Expect(ui.Outputs()).To(ContainSubstrings( []string{"FAILED"}, []string{"Org", "org", "not found"}, )) }) }) Context("when the space does not exist", func() { BeforeEach(func() { org := models.Organization{} org.Name = "org-name" org.GUID = "org-guid" fakeOrgRepo.ListOrgsReturns([]models.Organization{org}, nil) fakeOrgRepo.FindByNameReturns(org, nil) fakeSpaceRepo.FindByNameInOrgReturns(models.Space{}, errors.NewModelNotFoundError("Space", "space-name")) }) It("fails and tells the user", func() { runCommand("sec group", "org-name", "space-name") name, orgGUID := fakeSpaceRepo.FindByNameInOrgArgsForCall(0) Expect(name).To(Equal("space-name")) Expect(orgGUID).To(Equal("org-guid")) Expect(ui.Outputs()).To(ContainSubstrings( []string{"FAILED"},
}, }) requirementsFactory.NewOrganizationRequirementReturns(fakeOrgRequirement) Expect(runCommand("my-org", "example.com")).To(BeTrue()) Expect(ui.Outputs()).To(ContainSubstrings([]string{"my-org"})) }) It("fails when not logged in", func() { requirementsFactory.NewLoginRequirementReturns(requirements.Failing{Message: "not logged in"}) Expect(runCommand("my-org", "example.com")).To(BeFalse()) }) }) It("creates a domain", func() { org := models.Organization{} org.Name = "myOrg" org.GUID = "myOrg-guid" fakeOrgRequirement := new(requirementsfakes.FakeOrganizationRequirement) fakeOrgRequirement.GetOrganizationReturns(org) requirementsFactory.NewOrganizationRequirementReturns(fakeOrgRequirement) requirementsFactory.NewLoginRequirementReturns(requirements.Passing{}) runCommand("myOrg", "example.com") domainName, domainOwningOrgGUID := domainRepo.CreateArgsForCall(0) Expect(domainName).To(Equal("example.com")) Expect(domainOwningOrgGUID).To(Equal("myOrg-guid")) Expect(ui.Outputs()).To(ContainSubstrings( []string{"Creating domain", "example.com", "myOrg", "my-user"}, []string{"OK"}, ))
"code.cloudfoundry.org/cli/cf/configuration/coreconfig" "code.cloudfoundry.org/cli/cf/models" testcmd "code.cloudfoundry.org/cli/testhelpers/commands" testconfig "code.cloudfoundry.org/cli/testhelpers/configuration" testterm "code.cloudfoundry.org/cli/testhelpers/terminal" . "code.cloudfoundry.org/cli/testhelpers/matchers" . "github.com/onsi/ginkgo" . "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"}, }
err = testcmd.RunRequirements(reqs) Expect(err).To(HaveOccurred()) Expect(err.Error()).To(ContainSubstring("Incorrect Usage")) Expect(err.Error()).To(ContainSubstring("No argument required")) }) }) }) Describe("when invoked by a plugin", func() { var ( pluginOrgsModel []plugin_models.GetOrgs_Model ) BeforeEach(func() { org1 := models.Organization{} org1.Name = "Organization-1" org1.GUID = "org-1-guid" org2 := models.Organization{} org2.Name = "Organization-2" org3 := models.Organization{} org3.Name = "Organization-3" orgRepo.ListOrgsReturns([]models.Organization{org1, org2, org3}, nil) pluginOrgsModel = []plugin_models.GetOrgs_Model{} deps.PluginModels.Organizations = &pluginOrgsModel })
BeforeEach(func() { orgRepo = new(organizationsfakes.FakeOrganizationRepository) brokerBuilder = new(brokerbuilderfakes.FakeBrokerBuilder) serviceBuilder = new(servicebuilderfakes.FakeServiceBuilder) actor = actors.NewServiceHandler(orgRepo, brokerBuilder, serviceBuilder) serviceBroker1 = models.ServiceBroker{GUID: "my-service-broker-guid1", Name: "my-service-broker1"} service1 = models.ServiceOffering{ServiceOfferingFields: models.ServiceOfferingFields{ Label: "my-service1", GUID: "service-guid1", BrokerGUID: "my-service-broker-guid1"}, } org1 := models.Organization{} org1.Name = "org1" org1.GUID = "org-guid" org2 := models.Organization{} org2.Name = "org2" org2.GUID = "org2-guid" }) Describe("FilterBrokers", func() { Context("when no flags are passed", func() { It("returns all brokers", func() { returnedBrokers := []models.ServiceBroker{serviceBroker1} brokerBuilder.GetAllServiceBrokersReturns(returnedBrokers, nil) brokers, err := actor.FilterBrokers("", "", "")
testterm "code.cloudfoundry.org/cli/testhelpers/terminal" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" . "code.cloudfoundry.org/cli/testhelpers/matchers" ) var _ = Describe("Login Command", func() { var ( Flags []string Config coreconfig.Repository ui *testterm.FakeUI authRepo *authenticationfakes.FakeRepository endpointRepo *coreconfigfakes.FakeEndpointRepository orgRepo *organizationsfakes.FakeOrganizationRepository spaceRepo *spacesfakes.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)
var _ = Describe("Service Plans", func() { var ( actor actors.ServicePlanActor servicePlanRepo *apifakes.OldFakeServicePlanRepo servicePlanVisibilityRepo *apifakes.FakeServicePlanVisibilityRepository orgRepo *organizationsfakes.FakeOrganizationRepository planBuilder *planbuilderfakes.FakePlanBuilder serviceBuilder *servicebuilderfakes.FakeServiceBuilder privateServicePlanVisibilityFields models.ServicePlanVisibilityFields publicServicePlanVisibilityFields models.ServicePlanVisibilityFields limitedServicePlanVisibilityFields models.ServicePlanVisibilityFields publicServicePlan models.ServicePlanFields privateServicePlan models.ServicePlanFields limitedServicePlan models.ServicePlanFields publicService models.ServiceOffering mixedService models.ServiceOffering privateService models.ServiceOffering publicAndLimitedService models.ServiceOffering org1 models.Organization org2 models.Organization visibility1 models.ServicePlanVisibilityFields ) BeforeEach(func() {