41 lines
695 B
Go
41 lines
695 B
Go
|
package vagrant
|
||
|
|
||
|
import (
|
||
|
"strings"
|
||
|
"testing"
|
||
|
)
|
||
|
|
||
|
func TestPrepUpArgs(t *testing.T) {
|
||
|
type testArgs struct {
|
||
|
Step StepUp
|
||
|
Expected []string
|
||
|
}
|
||
|
tests := []testArgs{
|
||
|
{
|
||
|
Step: StepUp{
|
||
|
GlobalID: "foo",
|
||
|
Provider: "bar",
|
||
|
},
|
||
|
Expected: []string{"foo", "--provider=bar"},
|
||
|
},
|
||
|
{
|
||
|
Step: StepUp{},
|
||
|
Expected: []string{"source"},
|
||
|
},
|
||
|
{
|
||
|
Step: StepUp{
|
||
|
Provider: "pro",
|
||
|
},
|
||
|
Expected: []string{"source", "--provider=pro"},
|
||
|
},
|
||
|
}
|
||
|
for _, test := range tests {
|
||
|
args := test.Step.generateArgs()
|
||
|
for i, val := range test.Expected {
|
||
|
if strings.Compare(args[i], val) != 0 {
|
||
|
t.Fatalf("expected %#v but received %#v", test.Expected, args)
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|