func readJsonTestFixtures(fakeClient *slclientfakes.FakeSoftLayerClient) { blockDeviceTemplateGroups, err := common.ReadJsonTestFixtures("../..", "softlayer", "SoftLayer_Account_Service_getBlockDeviceTemplateGroups.json") Expect(err).ToNot(HaveOccurred()) getObject, err := common.ReadJsonTestFixtures("../..", "softlayer", "SoftLayer_Virtual_Guest_Block_Device_Template_Group_Service_getObject.json") Expect(err).ToNot(HaveOccurred()) getDatacenters, err := common.ReadJsonTestFixtures("../..", "softlayer", "SoftLayer_Virtual_Guest_Block_Device_Template_Group_Service_getDatacenters.json") Expect(err).ToNot(HaveOccurred()) fakeClient.FakeHttpClient.DoRawHttpRequestResponses = [][]byte{blockDeviceTemplateGroups, getObject, getDatacenters} }
Context("when all required options are missing", func() { BeforeEach(func() { options.VersionFlag = "" }) It("fails with warning that version is missing", func() { err = cmd.CheckOptions() Expect(err.Error()).To(ContainSubstring("must pass a version")) }) }) }) Context("running command", func() { BeforeEach(func() { fakeClient.FakeHttpClient.DoRawHttpRequestResponse, err = common.ReadJsonTestFixtures("../..", "softlayer", "SoftLayer_Virtual_Disk_Image_getObject.json") Expect(err).ToNot(HaveOccurred()) }) Describe("#Run", func() { It("runs the command", func() { err = cmd.Run() Expect(err).ToNot(HaveOccurred()) }) }) }) }) Context("Light Stemcell Command interface", func() { BeforeEach(func() { fakeClient.FakeHttpClient.DoRawHttpRequestResponse, err = common.ReadJsonTestFixtures("../..", "softlayer", "SoftLayer_Virtual_Disk_Image_getObject.json")
} }) It("creates a tarball", func() { err = common.CreateTarball(tarballFileName, tarballFileNames) Expect(err).NotTo(HaveOccurred()) }) }) Context("ReadJsonTestFixtures", func() { type Test struct { Test string `json:"test"` } It("reads the test_fixtures/test/test.json", func() { contents, err := common.ReadJsonTestFixtures("..", "test", "test.json") Expect(err).NotTo(HaveOccurred()) test := Test{} err = json.Unmarshal(contents, &test) Expect(err).NotTo(HaveOccurred()) Expect(test.Test).To(Equal("test")) }) }) Context("CreateBmpClient", func() { var ( currentUser *user.User configFileName string )
Expect(fakeHttpClient).ToNot(BeNil()) bmpClient = clients.NewBmpClient("fake-username", "fake-password", "http://fake.url.com", fakeHttpClient, "fake-config-path") Expect(bmpClient).ToNot(BeNil()) }) Describe("#ConfigPath", func() { It("returns the ConfigPath", func() { configPath := bmpClient.ConfigPath() Expect(configPath).To(Equal("fake-config-path")) }) }) Describe("#Info", func() { BeforeEach(func() { fakeHttpClient.DoRawHttpRequestResponse, err = common.ReadJsonTestFixtures("..", "bmp", "Info.json") Expect(err).ToNot(HaveOccurred()) }) It("returns BMP server info", func() { info, err := bmpClient.Info() Expect(err).ToNot(HaveOccurred()) Expect(info.Status).To(Equal(200)) Expect(info.Data).To(Equal(clients.DataInfo{ Name: "fake-name", Version: "fake-version"})) }) It("fails when BMP server fails", func() { fakeHttpClient.DoRawHttpRequestError = errors.New("fake-error")