func (f SoftLayerFinder) findByIdInVirtualDiskImages(id int, accountService sl.SoftLayer_Account_Service) (Stemcell, bool, error) { virtualDiskImages, err := accountService.GetVirtualDiskImages() if err != nil { return nil, false, bosherr.WrapError(err, "Getting virtual disk images") } for _, vdImage := range virtualDiskImages { if vdImage.Id == id { return NewSoftLayerStemcell(vdImage.Id, vdImage.Uuid, VirtualDiskImageKind, f.client, f.logger), true, nil } } return nil, false, nil }
_, err := accountService.GetIscsiNetworkStorageWithFilter("fake-filter") Expect(err).To(HaveOccurred()) } }) }) }) Context("#GetVirtualDiskImages", func() { BeforeEach(func() { fakeClient.FakeHttpClient.DoRawHttpRequestResponse, err = testhelpers.ReadJsonTestFixtures("services", "SoftLayer_Account_Service_getVirtualDiskImages.json") Expect(err).ToNot(HaveOccurred()) }) It("returns an array of datatypes.SoftLayer_Virtual_Disk_Image", func() { virtualDiskImages, err := accountService.GetVirtualDiskImages() Expect(err).ToNot(HaveOccurred()) Expect(virtualDiskImages).ToNot(BeNil()) }) Context("when HTTP client returns error codes 40x or 50x", func() { It("fails for error code 40x", func() { errorCodes := []int{400, 401, 499} for _, errorCode := range errorCodes { fakeClient.FakeHttpClient.DoRawHttpRequestInt = errorCode _, err := accountService.GetVirtualDiskImages() Expect(err).To(HaveOccurred()) } })