From ce43ade9738d9af05f276327a809b0b234db1a50 Mon Sep 17 00:00:00 2001 From: Sean Malloy Date: Mon, 26 Dec 2016 23:11:27 -0600 Subject: [PATCH] Add additional unit tests for puppet provisioners * Add puppet-masterless test for packer_build_name default fact * Add puppet-masterless test for packer_builder_type default fact * Add puppet-server test for puppet bin directory --- .../puppet-masterless/provisioner_test.go | 8 ++++++ provisioner/puppet-server/provisioner_test.go | 25 +++++++++++++++++++ 2 files changed, 33 insertions(+) diff --git a/provisioner/puppet-masterless/provisioner_test.go b/provisioner/puppet-masterless/provisioner_test.go index f7759fb98..46fcbc11f 100644 --- a/provisioner/puppet-masterless/provisioner_test.go +++ b/provisioner/puppet-masterless/provisioner_test.go @@ -203,6 +203,14 @@ func TestProvisionerPrepare_facterFacts(t *testing.T) { if p.config.Facter == nil { t.Fatalf("err: Default facts are not set in the Puppet provisioner!") } + + if _, ok := p.config.Facter["packer_build_name"]; !ok { + t.Fatalf("err: packer_build_name fact not set in the Puppet provisioner!") + } + + if _, ok := p.config.Facter["packer_builder_type"]; !ok { + t.Fatalf("err: packer_builder_type fact not set in the Puppet provisioner!") + } } func TestProvisionerPrepare_extraArguments(t *testing.T) { diff --git a/provisioner/puppet-server/provisioner_test.go b/provisioner/puppet-server/provisioner_test.go index d83f0df7a..2a4190d7e 100644 --- a/provisioner/puppet-server/provisioner_test.go +++ b/provisioner/puppet-server/provisioner_test.go @@ -26,6 +26,31 @@ func TestProvisioner_Impl(t *testing.T) { } } +func TestProvisionerPrepare_puppetBinDir(t *testing.T) { + config := testConfig() + + delete(config, "puppet_bin_dir") + p := new(Provisioner) + err := p.Prepare(config) + if err != nil { + t.Fatalf("err: %s", err) + } + + // Test with a good one + tf, err := ioutil.TempFile("", "packer") + if err != nil { + t.Fatalf("error tempfile: %s", err) + } + defer os.Remove(tf.Name()) + + config["puppet_bin_dir"] = tf.Name() + p = new(Provisioner) + err = p.Prepare(config) + if err != nil { + t.Fatalf("err: %s", err) + } +} + func TestProvisionerPrepare_clientPrivateKeyPath(t *testing.T) { config := testConfig()