github.com/phobos182/packer@v0.2.3-0.20130819023704-c84d2aeffc68/post-processor/vagrant/post-processor_test.go (about) 1 package vagrant 2 3 import ( 4 "github.com/mitchellh/packer/packer" 5 "testing" 6 ) 7 8 func testConfig() map[string]interface{} { 9 return map[string]interface{}{} 10 } 11 12 func TestPostProcessor_ImplementsPostProcessor(t *testing.T) { 13 var raw interface{} 14 raw = &PostProcessor{} 15 if _, ok := raw.(packer.PostProcessor); !ok { 16 t.Fatalf("AWS PostProcessor should be a PostProcessor") 17 } 18 } 19 20 func TestBuilderPrepare_OutputPath(t *testing.T) { 21 var p PostProcessor 22 23 // Default 24 c := testConfig() 25 delete(c, "output") 26 err := p.Configure(c) 27 if err != nil { 28 t.Fatalf("err: %s", err) 29 } 30 31 // Bad template 32 c["output"] = "bad {{{{.Template}}}}" 33 err = p.Configure(c) 34 if err == nil { 35 t.Fatal("should have error") 36 } 37 } 38 39 func TestBuilderPrepare_PPConfig(t *testing.T) { 40 var p PostProcessor 41 42 // Default 43 c := testConfig() 44 c["aws"] = map[string]interface{}{} 45 err := p.Configure(c) 46 if err != nil { 47 t.Fatalf("err: %s", err) 48 } 49 }