github.com/kaixiang/packer@v0.5.2-0.20140114230416-1f5786b0d7f1/command/build/command_test.go (about) 1 package build 2 3 import ( 4 "bytes" 5 "github.com/mitchellh/packer/packer" 6 "testing" 7 ) 8 9 func testEnvironment() packer.Environment { 10 config := packer.DefaultEnvironmentConfig() 11 config.Ui = &packer.BasicUi{ 12 Reader: new(bytes.Buffer), 13 Writer: new(bytes.Buffer), 14 } 15 16 env, err := packer.NewEnvironment(config) 17 if err != nil { 18 panic(err) 19 } 20 21 return env 22 } 23 24 func TestCommand_Implements(t *testing.T) { 25 var _ packer.Command = new(Command) 26 } 27 28 func TestCommand_Run_NoArgs(t *testing.T) { 29 command := new(Command) 30 result := command.Run(testEnvironment(), make([]string, 0)) 31 if result != 1 { 32 t.Fatalf("bad: %d", result) 33 } 34 } 35 36 func TestCommand_Run_MoreThanOneArg(t *testing.T) { 37 command := new(Command) 38 39 args := []string{"one", "two"} 40 result := command.Run(testEnvironment(), args) 41 if result != 1 { 42 t.Fatalf("bad: %d", result) 43 } 44 } 45 46 func TestCommand_Run_MissingFile(t *testing.T) { 47 command := new(Command) 48 49 args := []string{"i-better-not-exist"} 50 result := command.Run(testEnvironment(), args) 51 if result != 1 { 52 t.Fatalf("bad: %d", result) 53 } 54 }