_, err := vgbdtgService.CopyToExternalSource(configuration) Expect(err).To(HaveOccurred()) } }) }) }) Context("#GetTransaction", func() { BeforeEach(func() { vgbdtGroup.Id = 1234567 fakeClient.FakeHttpClient.DoRawHttpRequestResponse, err = testhelpers.ReadJsonTestFixtures("services", "SoftLayer_Virtual_Guest_Block_Device_Template_Group_Service_deleteObject.json") Expect(err).ToNot(HaveOccurred()) }) It("sucessfully retrieves SoftLayer_Provisioning_Version1_Transaction for the Virtual_Guest_Block_Device_Template_Group instance", func() { transaction, err := vgbdtgService.GetTransaction(vgbdtGroup.Id) Expect(err).ToNot(HaveOccurred()) Expect(transaction.TransactionStatus).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 := vgbdtgService.GetTransaction(vgbdtGroup.Id) Expect(err).To(HaveOccurred()) } })