Merge pull request #710 from DevelopStuff/bug/ansible-local-config

provisioner/ansible-local: fix configuration check for 'playbook_paths'
This commit is contained in:
Mitchell Hashimoto 2013-12-12 13:19:52 -08:00
commit d2f895ef85
2 changed files with 53 additions and 1 deletions

View File

@ -72,7 +72,7 @@ func (p *Provisioner) Prepare(raws ...interface{}) error {
errs = packer.MultiErrorAppend(errs, err)
}
for _, path := range p.config.PlaybookPaths {
err := validateFileConfig(path, "playbook_paths", false)
err := validateDirConfig(path, "playbook_paths")
if err != nil {
errs = packer.MultiErrorAppend(errs, err)
}

View File

@ -69,3 +69,55 @@ func TestProvisionerPrepare_PlaybookFile(t *testing.T) {
t.Fatalf("err: %s", err)
}
}
func TestProvisionerPrepare_Dirs(t *testing.T) {
var p Provisioner
config := testConfig()
err := p.Prepare(config)
if err == nil {
t.Fatal("should have error")
}
config["playbook_file"] = ""
err = p.Prepare(config)
if err == nil {
t.Fatal("should have error")
}
playbook_file, err := ioutil.TempFile("", "playbook")
if err != nil {
t.Fatalf("err: %s", err)
}
defer os.Remove(playbook_file.Name())
config["playbook_file"] = playbook_file.Name()
err = p.Prepare(config)
if err != nil {
t.Fatalf("err: %s", err)
}
config["playbook_paths"] = []string{playbook_file.Name()}
err = p.Prepare(config)
if err == nil {
t.Fatal("should error if playbook paths is not a dir")
}
config["playbook_paths"] = []string{os.TempDir()}
err = p.Prepare(config)
if err != nil {
t.Fatalf("err: %s", err)
}
config["role_paths"] = []string{playbook_file.Name()}
err = p.Prepare(config)
if err == nil {
t.Fatal("should error if role paths is not a dir")
}
config["role_paths"] = []string{os.TempDir()}
err = p.Prepare(config)
if err != nil {
t.Fatalf("err: %s", err)
}
}