Verbose: false,
			Target:  "http://fake.url",
		}

		tmpDir, err = ioutil.TempDir("", "bmp-target-execute")
		Expect(err).ToNot(HaveOccurred())

		tmpFile, err := ioutil.TempFile(tmpDir, ".bmp_config")
		Expect(err).ToNot(HaveOccurred())

		tmpFileName = tmpFile.Name()

		err = ioutil.WriteFile(tmpFileName, []byte("{}"), 0666)
		Expect(err).ToNot(HaveOccurred())

		fakeBmpClient = clientsfakes.NewFakeBmpClient(options.Username, options.Password, options.Target, tmpFileName)
		cmd = bmp.NewTargetCommand(options, fakeBmpClient)
	})

	AfterEach(func() {
		err := os.RemoveAll(tmpDir)
		Expect(err).ToNot(HaveOccurred())
	})

	Describe("NewTargetCommand", func() {
		It("create new TargetCommand", func() {
			Expect(cmd).ToNot(BeNil())

			cmd2 := bmp.NewTargetCommand(options, fakeBmpClient)
			Expect(cmd2).ToNot(BeNil())
			Expect(cmd2).To(Equal(cmd))
	var (
		args    []string
		options cmds.Options
		cmd     cmds.Command

		fakeBmpClient *fakes.FakeBmpClient
	)

	BeforeEach(func() {
		args = []string{"bmp", "bms"}
		options = cmds.Options{
			Verbose:    false,
			Deployment: "../../test_fixtures/bmp/deployment.yml",
		}

		fakeBmpClient = fakes.NewFakeBmpClient("fake-username", "fake-password", "http://fake.url.com", "fake-config-path")
		cmd = bmp.NewBmsCommand(options, fakeBmpClient)
	})

	Describe("NewBmsCommand", func() {
		It("create new BmsCommand", func() {
			Expect(cmd).ToNot(BeNil())

			cmd2 := bmp.NewBmsCommand(options, fakeBmpClient)
			Expect(cmd2).ToNot(BeNil())
			Expect(cmd2).To(Equal(cmd))
		})
	})

	Describe("#Name", func() {
		It("returns the name of a BmsCommand", func() {
		fakeBmpClient *clientsfakes.FakeBmpClient
	)

	BeforeEach(func() {
		tmpDir, err = ioutil.TempDir("", "bosh-softlayer-tools")
		Expect(err).ToNot(HaveOccurred())

		args = []string{"bmp", "login"}
		options = cmds.Options{
			Verbose:  false,
			Username: "******",
			Password: "******",
		}

		fakeBmpClient = clientsfakes.NewFakeBmpClient(options.Username, options.Password, "http://fake.target.url", "fake-config-path")
		cmd = bmp.NewLoginCommand(options, fakeBmpClient)
	})

	AfterEach(func() {
		os.RemoveAll(tmpDir)
	})

	Describe("#NewLoginCommand", func() {
		It("create new LoginCommand", func() {
			Expect(cmd).ToNot(BeNil())

			cmd2 := bmp.NewLoginCommand(options, fakeBmpClient)
			Expect(cmd2).ToNot(BeNil())
			Expect(cmd2).To(Equal(cmd))
		})