github.com/cloudfoundry-community/cloudfoundry-cli@v6.44.1-0.20240130060226-cda5ed8e89a5+incompatible/actor/v7action/organization_test.go (about) 1 package v7action_test 2 3 import ( 4 "code.cloudfoundry.org/cli/resources" 5 "errors" 6 7 "code.cloudfoundry.org/cli/actor/actionerror" 8 . "code.cloudfoundry.org/cli/actor/v7action" 9 "code.cloudfoundry.org/cli/actor/v7action/v7actionfakes" 10 "code.cloudfoundry.org/cli/api/cloudcontroller/ccv3" 11 12 . "github.com/onsi/ginkgo" 13 . "github.com/onsi/gomega" 14 ) 15 16 var _ = Describe("Organization Actions", func() { 17 var ( 18 actor *Actor 19 fakeCloudControllerClient *v7actionfakes.FakeCloudControllerClient 20 ) 21 22 BeforeEach(func() { 23 fakeCloudControllerClient = new(v7actionfakes.FakeCloudControllerClient) 24 actor = NewActor(fakeCloudControllerClient, nil, nil, nil) 25 }) 26 27 Describe("GetOrganizationByName", func() { 28 When("the org exists", func() { 29 BeforeEach(func() { 30 fakeCloudControllerClient.GetOrganizationsReturns( 31 []resources.Organization{ 32 { 33 Name: "some-org-name", 34 GUID: "some-org-guid", 35 }, 36 }, 37 ccv3.Warnings{"some-warning"}, 38 nil, 39 ) 40 }) 41 42 It("returns the organization and warnings", func() { 43 org, warnings, err := actor.GetOrganizationByName("some-org-name") 44 Expect(err).ToNot(HaveOccurred()) 45 Expect(org).To(Equal(Organization{ 46 Name: "some-org-name", 47 GUID: "some-org-guid", 48 })) 49 Expect(warnings).To(ConsistOf("some-warning")) 50 51 Expect(fakeCloudControllerClient.GetOrganizationsCallCount()).To(Equal(1)) 52 Expect(fakeCloudControllerClient.GetOrganizationsArgsForCall(0)).To(ConsistOf( 53 ccv3.Query{Key: ccv3.NameFilter, Values: []string{"some-org-name"}}, 54 )) 55 }) 56 }) 57 58 When("the cloud controller client returns an error", func() { 59 var expectedError error 60 61 BeforeEach(func() { 62 expectedError = errors.New("I am a CloudControllerClient Error") 63 fakeCloudControllerClient.GetOrganizationsReturns( 64 []resources.Organization{}, 65 ccv3.Warnings{"some-warning"}, 66 expectedError) 67 }) 68 69 It("returns the warnings and the error", func() { 70 _, warnings, err := actor.GetOrganizationByName("some-org-name") 71 Expect(warnings).To(ConsistOf("some-warning")) 72 Expect(err).To(MatchError(expectedError)) 73 }) 74 }) 75 }) 76 77 When("the org does not exist", func() { 78 BeforeEach(func() { 79 fakeCloudControllerClient.GetOrganizationsReturns( 80 []resources.Organization{}, 81 ccv3.Warnings{"some-warning"}, 82 nil, 83 ) 84 }) 85 86 It("returns an OrganizationNotFoundError and the warnings", func() { 87 _, warnings, err := actor.GetOrganizationByName("some-org-name") 88 Expect(warnings).To(ConsistOf("some-warning")) 89 Expect(err).To(MatchError(actionerror.OrganizationNotFoundError{Name: "some-org-name"})) 90 }) 91 }) 92 })