From 96a00ad692ed25733bf430885a2b56bb300c9fdf Mon Sep 17 00:00:00 2001 From: Brian Cain Date: Mon, 17 Sep 2018 14:32:17 -0700 Subject: [PATCH] Include test for get_pillar salt function --- .../provisioners/salt/provisioner_test.rb | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/test/unit/plugins/provisioners/salt/provisioner_test.rb b/test/unit/plugins/provisioners/salt/provisioner_test.rb index e6bfece89..c47e2b854 100644 --- a/test/unit/plugins/provisioners/salt/provisioner_test.rb +++ b/test/unit/plugins/provisioners/salt/provisioner_test.rb @@ -50,6 +50,32 @@ describe VagrantPlugins::Salt::Provisioner do end end + describe "#get_pillar" do + context "windows" do + it "escapes pillar data for powershell and returns as json" do + allow(machine.config.vm).to receive(:communicator).and_return(:winrm) + allow(config).to receive(:pillar_data).and_return({"cat"=>"qubit"}) + + expect(subject.get_pillar).to eq(" --% pillar={\"\"\"cat\"\"\":\"\"\"qubit\"\"\"}") + end + end + + context "linux" do + it "returns pillar data as json" do + allow(machine.config.vm).to receive(:communicator).and_return(:false) + allow(config).to receive(:pillar_data).and_return({"cat"=>"shimi"}) + expect(subject.get_pillar).to eq(" pillar='{\"cat\":\"shimi\"}'") + end + end + + context "empty data" do + it "returns nothing if pillar data is empty" do + allow(config).to receive(:pillar_data).and_return({}) + expect(subject.get_pillar).to eq(nil) + end + end + end + describe "#call_highstate" do context "master" do it "passes along extra cli flags" do