github.com/phobos182/packer@v0.2.3-0.20130819023704-c84d2aeffc68/provisioner/salt-masterless/provisioner_test.go (about) 1 package saltmasterless 2 3 import ( 4 "github.com/mitchellh/packer/packer" 5 "os" 6 "testing" 7 ) 8 9 func testConfig() map[string]interface{} { 10 return map[string]interface{}{ 11 "local_state_tree": os.TempDir(), 12 } 13 } 14 15 func TestProvisioner_Impl(t *testing.T) { 16 var raw interface{} 17 raw = &Provisioner{} 18 if _, ok := raw.(packer.Provisioner); !ok { 19 t.Fatalf("must be a Provisioner") 20 } 21 } 22 23 func TestProvisionerPrepare_Defaults(t *testing.T) { 24 var p Provisioner 25 config := testConfig() 26 27 err := p.Prepare(config) 28 if err != nil { 29 t.Fatalf("err: %s", err) 30 } 31 32 if p.config.TempConfigDir != DefaultTempConfigDir { 33 t.Errorf("unexpected temp config dir: %s", p.config.TempConfigDir) 34 } 35 } 36 37 func TestProvisionerPrepare_InvalidKey(t *testing.T) { 38 var p Provisioner 39 config := testConfig() 40 41 // Add a random key 42 config["i_should_not_be_valid"] = true 43 err := p.Prepare(config) 44 if err == nil { 45 t.Fatal("should have error") 46 } 47 } 48 49 func TestProvisionerPrepare_LocalStateTree(t *testing.T) { 50 var p Provisioner 51 config := testConfig() 52 53 config["local_state_tree"] = "/i/dont/exist/i/think" 54 err := p.Prepare(config) 55 if err == nil { 56 t.Fatal("should have error") 57 } 58 59 config["local_state_tree"] = os.TempDir() 60 err = p.Prepare(config) 61 if err != nil { 62 t.Fatalf("err: %s", err) 63 } 64 }