Commit a8853da0 authored by Mitchell Hashimoto's avatar Mitchell Hashimoto

Test the CLI that Run is called on custom commands

parent 9849a98b
...@@ -7,6 +7,19 @@ import ( ...@@ -7,6 +7,19 @@ import (
"testing" "testing"
) )
type TestCommand struct {
runCalled bool
}
func (tc *TestCommand) Run(env *Environment, args []string) int {
tc.runCalled = true
return 0
}
func (tc *TestCommand) Synopsis() string {
return ""
}
func testEnvironment() *Environment { func testEnvironment() *Environment {
config := &EnvironmentConfig{} config := &EnvironmentConfig{}
config.Ui = &ReaderWriterUi{ config.Ui = &ReaderWriterUi{
...@@ -18,10 +31,17 @@ func testEnvironment() *Environment { ...@@ -18,10 +31,17 @@ func testEnvironment() *Environment {
} }
func TestEnvironment_Cli_CallsRun(t *testing.T) { func TestEnvironment_Cli_CallsRun(t *testing.T) {
//_ := asserts.NewTestingAsserts(t, true) assert := asserts.NewTestingAsserts(t, true)
command := &TestCommand{}
// TODO: Test that the call to `Run` is done with config := &EnvironmentConfig{}
// proper arguments and such. config.Command = make(map[string]Command)
config.Command["foo"] = command
env := NewEnvironment(config)
assert.Equal(env.Cli([]string{"foo"}), 0, "runs foo command")
assert.True(command.runCalled, "run should've been called")
} }
func TestEnvironment_DefaultCli_Empty(t *testing.T) { func TestEnvironment_DefaultCli_Empty(t *testing.T) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment