func SetTestFixturesForFakeSoftLayerClient(fakeSoftLayerClient *fakesslclient.FakeSoftLayerClient, fileNames []string) { workingDir, err := os.Getwd() Expect(err).ToNot(HaveOccurred()) for _, fileName := range fileNames { fileContents, err := ReadJsonTestFixtures(filepath.Join(workingDir, "..", ".."), "softlayer", fileName) Expect(err).ToNot(HaveOccurred()) fakeSoftLayerClient.DoRawHttpRequestResponses = append(fakeSoftLayerClient.DoRawHttpRequestResponses, fileContents) } }
func readJsonTestFixtures(fakeClient *slclientfakes.FakeSoftLayerClient) { blockDeviceTemplateGroups, err := common.ReadJsonTestFixtures("services", "SoftLayer_Account_Service_getBlockDeviceTemplateGroups.json") Expect(err).ToNot(HaveOccurred()) getObject, err := common.ReadJsonTestFixtures("services", "SoftLayer_Virtual_Guest_Block_Device_Template_Group_Service_getObject.json") Expect(err).ToNot(HaveOccurred()) getDatacenters, err := common.ReadJsonTestFixtures("services", "SoftLayer_Virtual_Guest_Block_Device_Template_Group_Service_getDatacenters.json") Expect(err).ToNot(HaveOccurred()) fakeClient.DoRawHttpRequestResponses = [][]byte{blockDeviceTemplateGroups, getObject, getDatacenters} }
}) It("returns an array of datatypes.SoftLayer_Product_Item", func() { productItems, err := productPackageService.GetItems(222) Expect(err).ToNot(HaveOccurred()) Expect(len(productItems)).To(Equal(2)) Expect(productItems[0].Id).To(Equal(123)) Expect(productItems[0].Prices[0].Id).To(Equal(456)) }) }) Context("#GetItemsByType", func() { BeforeEach(func() { response, err := testhelpers.ReadJsonTestFixtures("services", "SoftLayer_Product_Package_getAllObjects_virtual_server.json") fakeClient.DoRawHttpRequestResponses = append(fakeClient.DoRawHttpRequestResponses, response) Expect(err).ToNot(HaveOccurred()) }) It("returns an array of datatypes.SoftLayer_Product_Item", func() { response, err := testhelpers.ReadJsonTestFixtures("services", "SoftLayer_Product_Package_getItems.json") fakeClient.DoRawHttpRequestResponses = append(fakeClient.DoRawHttpRequestResponses, response) productItems, err := productPackageService.GetItemsByType("VIRTUAL_SERVER_INSTANCE") Expect(err).ToNot(HaveOccurred()) Expect(len(productItems)).To(Equal(2)) Expect(productItems[0].Id).To(Equal(123)) Expect(productItems[0].Prices[0].Id).To(Equal(456)) }) })