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  }