func createCommands(options cmds.Options, bmpClient clients.BmpClient) map[string]cmds.Command {
	return map[string]cmds.Command{
		"bms":                    bmp.NewBmsCommand(options, bmpClient),
		"create-baremetals":      bmp.NewCreateBaremetalsCommand(options, bmpClient),
		"login":                  bmp.NewLoginCommand(options, bmpClient),
		"sl":                     bmp.NewSlCommand(options, bmpClient),
		"status":                 bmp.NewStatusCommand(options, bmpClient),
		"stemcells":              bmp.NewStemcellsCommand(options, bmpClient),
		"target":                 bmp.NewTargetCommand(options, bmpClient),
		"task":                   bmp.NewTaskCommand(options, bmpClient),
		"tasks":                  bmp.NewTasksCommand(options, bmpClient),
		"update-state":           bmp.NewUpdateStateCommand(options, bmpClient),
		"provisioning-baremetal": bmp.NewProvisioningBaremetalCommand(options, bmpClient),
	}
}
		args    []string
		options cmds.Options
		cmd     cmds.Command

		fakeBmpClient *fakes.FakeBmpClient
	)

	BeforeEach(func() {
		args = []string{"bmp", "task"}
		options = cmds.Options{
			Verbose: false,
			TaskID:  1,
		}

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

	Describe("NewTaskCommand", func() {
		It("create new TaskCommand", func() {
			Expect(cmd).ToNot(BeNil())

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

	Describe("#Name", func() {
		It("returns the name of a TaskCommand", func() {
			Expect(cmd.Name()).To(Equal("task"))