It("should fetch versions from receptor", func() { fakeReceptorClient.GetVersionReturns(receptor.VersionResponse{ CFRelease: "v219", CFRoutingRelease: "v220", DiegoRelease: "v221", GardenLinuxRelease: "v222", LatticeRelease: "v223", LatticeReleaseImage: "v224", LTC: "v225", Receptor: "v226", }, nil) serverVersions, _ := versionManager.ServerVersions("some-target") Expect(fakeReceptorClientCreator.CreateReceptorClientCallCount()).To(Equal(1)) Expect(fakeReceptorClientCreator.CreateReceptorClientArgsForCall(0)).To(Equal("some-target")) Expect(serverVersions).To(Equal(version.ServerVersions{ CFRelease: "v219", CFRoutingRelease: "v220", DiegoRelease: "v221", GardenLinuxRelease: "v222", LatticeRelease: "v223", LatticeReleaseImage: "v224", LTC: "v225", Receptor: "v226", })) }) Context("when call to receptor fails", func() { It("should return the error", func() {
) BeforeEach(func() { fakeReceptorClient = &fake_receptor.FakeClient{} fakeReceptorClientCreator = &fake_receptor_client_creator.FakeCreator{} fakeReceptorClientCreator.CreateReceptorClientReturns(fakeReceptorClient) targetVerifier = target_verifier.New(fakeReceptorClientCreator) }) It("returns up=true, auth=true if the receptor does not return an error", func() { up, auth, err := targetVerifier.VerifyTarget("http://receptor.mylattice.com") Expect(err).NotTo(HaveOccurred()) Expect(up).To(BeTrue()) Expect(auth).To(BeTrue()) Expect(fakeReceptorClientCreator.CreateReceptorClientCallCount()).To(Equal(1)) Expect(fakeReceptorClientCreator.CreateReceptorClientArgsForCall(0)).To(Equal("http://receptor.mylattice.com")) }) It("returns up=true, auth=false if the receptor returns an authorization error", func() { fakeReceptorClient.DesiredLRPsReturns([]receptor.DesiredLRPResponse{}, receptor.Error{ Type: receptor.Unauthorized, Message: "Go home. You're not welcome here.", }) up, auth, err := targetVerifier.VerifyTarget("http://receptor.mylattice.com") Expect(err).NotTo(HaveOccurred()) Expect(up).To(BeTrue()) Expect(auth).To(BeFalse()) }) It("returns up=true, auth=false, err=(the bubbled up error) if there is a receptor error other than unauthorized", func() {