BeforeEach(func() { fakeCloudControllerClient = new(v2actionsfakes.FakeCloudControllerClient) actor = NewActor(fakeCloudControllerClient) }) Describe("GetDomain", func() { Context("when the domain exists and is a shared domain", func() { var expectedDomain ccv2.Domain BeforeEach(func() { expectedDomain = ccv2.Domain{ GUID: "shared-domain-guid", Name: "shared-domain", } fakeCloudControllerClient.GetSharedDomainReturns(expectedDomain, nil, nil) }) It("returns the shared domain", func() { domain, _, err := actor.GetDomain("shared-domain-guid") Expect(err).NotTo(HaveOccurred()) Expect(domain).To(Equal(Domain(expectedDomain))) Expect(fakeCloudControllerClient.GetSharedDomainCallCount()).To(Equal(1)) Expect(fakeCloudControllerClient.GetSharedDomainArgsForCall(0)).To(Equal("shared-domain-guid")) }) }) Context("when the domain exists and is a private domain", func() { var expectedDomain ccv2.Domain
Expect(fakeCloudControllerClient.GetRouteApplicationsCallCount()).To(Equal(1)) routeGUID, queries := fakeCloudControllerClient.GetRouteApplicationsArgsForCall(0) Expect(routeGUID).To(Equal("not-orphaned-route-guid-3")) Expect(queries).To(BeNil()) }) }) Context("when there are warnings", func() { BeforeEach(func() { fakeCloudControllerClient.GetSpaceRoutesReturns([]ccv2.Route{ ccv2.Route{GUID: "route-guid-1"}, ccv2.Route{GUID: "route-guid-2"}, }, ccv2.Warnings{"get-routes-warning"}, nil) fakeCloudControllerClient.GetRouteApplicationsReturns(nil, ccv2.Warnings{"get-applications-warning"}, nil) fakeCloudControllerClient.GetSharedDomainReturns(ccv2.Domain{GUID: "some-guid"}, ccv2.Warnings{"get-shared-domain-warning"}, nil) }) It("returns all the warnings", func() { _, warnings, err := actor.GetOrphanedRoutesBySpace("space-guid") Expect(err).NotTo(HaveOccurred()) Expect(warnings).To(ConsistOf("get-routes-warning", "get-applications-warning", "get-shared-domain-warning", "get-applications-warning", "get-shared-domain-warning")) }) }) Context("when the spaces routes API request returns an error", func() { var expectedErr error BeforeEach(func() { expectedErr = errors.New("spaces routes error") fakeCloudControllerClient.GetSpaceRoutesReturns(nil, nil, expectedErr)