From 4ea7e3473ddcb95930097d9335a3f391ed645167 Mon Sep 17 00:00:00 2001 From: Trevor Suarez Date: Tue, 3 Nov 2015 14:59:55 -0500 Subject: [PATCH] Testing the new options argument during the actual call to `Provision()` --- .../puppet-masterless/provisioner_test.go | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/provisioner/puppet-masterless/provisioner_test.go b/provisioner/puppet-masterless/provisioner_test.go index 5416447a2..10048551c 100644 --- a/provisioner/puppet-masterless/provisioner_test.go +++ b/provisioner/puppet-masterless/provisioner_test.go @@ -3,6 +3,7 @@ package puppetmasterless import ( "io/ioutil" "os" + "strings" "testing" "github.com/mitchellh/packer/packer" @@ -207,3 +208,34 @@ func TestProvisionerPrepare_options(t *testing.T) { t.Fatalf("err: %s", err) } } + +func TestProvisionerProvision_options(t *testing.T) { + config := testConfig() + ui := &packer.MachineReadableUi{ + Writer: ioutil.Discard, + } + comm := new(packer.MockCommunicator) + + options := []string{ + "--some-arg=yup", + "--some-other-arg", + } + config["options"] = options + + p := new(Provisioner) + err := p.Prepare(config) + if err != nil { + t.Fatalf("err: %s", err) + } + + err = p.Provision(ui, comm) + if err != nil { + t.Fatalf("err: %s", err) + } + + expectedArgs := strings.Join(options, " ") + + if !strings.Contains(comm.StartCmd.Command, expectedArgs) { + t.Fatalf("Command %q doesn't contain the expected arguments %q", comm.StartCmd.Command, expectedArgs) + } +}