Files
Packer-Cn/builder/vmware/vmx/config_test.go
T

61 lines
1.1 KiB
Go
Raw Normal View History

2013-12-25 16:01:57 -07:00
package vmx
import (
2013-12-26 08:34:27 -07:00
"io/ioutil"
"os"
2013-12-25 16:01:57 -07:00
"testing"
)
func testConfig(t *testing.T) map[string]interface{} {
2013-12-26 08:34:27 -07:00
return map[string]interface{}{
2013-12-26 15:31:23 -07:00
"ssh_username": "foo",
"shutdown_command": "foo",
2016-07-26 20:42:04 +01:00
"source_path": "config_test.go",
2013-12-26 08:34:27 -07:00
}
2013-12-25 16:01:57 -07:00
}
func testConfigErr(t *testing.T, warns []string, err error) {
if len(warns) > 0 {
t.Fatalf("bad: %#v", warns)
}
if err == nil {
t.Fatal("should error")
}
}
func testConfigOk(t *testing.T, warns []string, err error) {
if len(warns) > 0 {
t.Fatalf("bad: %#v", warns)
}
if err != nil {
t.Fatalf("bad: %s", err)
}
}
2013-12-26 08:34:27 -07:00
func TestNewConfig_sourcePath(t *testing.T) {
// Bad
2019-12-17 11:25:56 +01:00
cfg := testConfig(t)
delete(cfg, "source_path")
warns, errs := (&Config{}).Prepare(cfg)
2013-12-26 08:34:27 -07:00
testConfigErr(t, warns, errs)
// Bad
2019-12-17 11:25:56 +01:00
cfg = testConfig(t)
cfg["source_path"] = "/i/dont/exist"
warns, errs = (&Config{}).Prepare(cfg)
2013-12-26 08:34:27 -07:00
testConfigErr(t, warns, errs)
// Good
tf, err := ioutil.TempFile("", "packer")
if err != nil {
t.Fatalf("err: %s", err)
}
tf.Close()
defer os.Remove(tf.Name())
2019-12-17 11:25:56 +01:00
cfg = testConfig(t)
cfg["source_path"] = tf.Name()
warns, errs = (&Config{}).Prepare(cfg)
2013-12-26 08:34:27 -07:00
testConfigOk(t, warns, errs)
}