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")