github.com/amanya/packer@v0.12.1-0.20161117214323-902ac5ab2eb6/provisioner/puppet-server/provisioner_test.go (about) 1 package puppetserver 2 3 import ( 4 "github.com/mitchellh/packer/packer" 5 "io/ioutil" 6 "os" 7 "testing" 8 ) 9 10 func testConfig() map[string]interface{} { 11 tf, err := ioutil.TempFile("", "packer") 12 if err != nil { 13 panic(err) 14 } 15 16 return map[string]interface{}{ 17 "puppet_server": tf.Name(), 18 } 19 } 20 21 func TestProvisioner_Impl(t *testing.T) { 22 var raw interface{} 23 raw = &Provisioner{} 24 if _, ok := raw.(packer.Provisioner); !ok { 25 t.Fatalf("must be a Provisioner") 26 } 27 } 28 29 func TestProvisionerPrepare_clientPrivateKeyPath(t *testing.T) { 30 config := testConfig() 31 32 delete(config, "client_private_key_path") 33 p := new(Provisioner) 34 err := p.Prepare(config) 35 if err != nil { 36 t.Fatalf("err: %s", err) 37 } 38 39 // Test with bad paths 40 config["client_private_key_path"] = "i-should-not-exist" 41 p = new(Provisioner) 42 err = p.Prepare(config) 43 if err == nil { 44 t.Fatal("should be an error") 45 } 46 47 // Test with a good one 48 td, err := ioutil.TempDir("", "packer") 49 if err != nil { 50 t.Fatalf("error: %s", err) 51 } 52 defer os.RemoveAll(td) 53 54 config["client_private_key_path"] = td 55 p = new(Provisioner) 56 err = p.Prepare(config) 57 if err != nil { 58 t.Fatalf("err: %s", err) 59 } 60 } 61 62 func TestProvisionerPrepare_clientCertPath(t *testing.T) { 63 config := testConfig() 64 65 delete(config, "client_cert_path") 66 p := new(Provisioner) 67 err := p.Prepare(config) 68 if err != nil { 69 t.Fatalf("err: %s", err) 70 } 71 72 // Test with bad paths 73 config["client_cert_path"] = "i-should-not-exist" 74 p = new(Provisioner) 75 err = p.Prepare(config) 76 if err == nil { 77 t.Fatal("should be an error") 78 } 79 80 // Test with a good one 81 td, err := ioutil.TempDir("", "packer") 82 if err != nil { 83 t.Fatalf("error: %s", err) 84 } 85 defer os.RemoveAll(td) 86 87 config["client_cert_path"] = td 88 p = new(Provisioner) 89 err = p.Prepare(config) 90 if err != nil { 91 t.Fatalf("err: %s", err) 92 } 93 }