summaryrefslogtreecommitdiff
path: root/spec/functional
diff options
context:
space:
mode:
authorKapil Chouhan <kapil.chouhan@msystechnologies.com>2020-04-02 11:42:04 +0000
committerKapil Chouhan <kapil.chouhan@msystechnologies.com>2020-04-23 09:57:59 +0000
commitbeb3610ed88189708c1318ce5d0904ca18026562 (patch)
tree3adbc61124ba2b69453a916558396b238ad88e6b /spec/functional
parent16b6db24f54f4fa015b4939880a04abb9a8c256b (diff)
downloadchef-beb3610ed88189708c1318ce5d0904ca18026562.tar.gz
Fix for Chocolate_resource options causing extra quotesKapil/Github-9413_Chocolate_resource_options_causing_extra_quotes
Signed-off-by: Kapil Chouhan <kapil.chouhan@msystechnologies.com>
Diffstat (limited to 'spec/functional')
-rw-r--r--spec/functional/resource/chocolatey_package_spec.rb29
1 files changed, 29 insertions, 0 deletions
diff --git a/spec/functional/resource/chocolatey_package_spec.rb b/spec/functional/resource/chocolatey_package_spec.rb
index 7567718363..e8b175f487 100644
--- a/spec/functional/resource/chocolatey_package_spec.rb
+++ b/spec/functional/resource/chocolatey_package_spec.rb
@@ -32,6 +32,11 @@ describe Chef::Resource::ChocolateyPackage, :windows_only, :choco_installed do
new_resource
end
+ let(:provider) do
+ provider = subject.provider_for_action(subject.action)
+ provider
+ end
+
context "installing a package" do
after { remove_package }
@@ -88,6 +93,30 @@ describe Chef::Resource::ChocolateyPackage, :windows_only, :choco_installed do
expect(package_list.call).to eq("#{package_name}|2.0")
end
+ context "when multiple options passed as string" do
+ before do
+ subject.options "--force --confirm"
+ subject.source nil
+ end
+
+ it "splits a string into an array of options" do
+ expect(provider.send(:cmd_args)).to eq(["--force", "--confirm"])
+ end
+
+ it "calls command_line_to_argv_w_helper method" do
+ expect(provider).to receive(:command_line_to_argv_w_helper).with(subject.options).and_return(["--force", "--confirm"])
+ provider.send(:cmd_args)
+ end
+ end
+
+ context "when multiple options passed as array" do
+ it "Does not call command_line_to_argv_w_helper method" do
+ subject.options [ "--force", "--confirm" ]
+ expect(provider).not_to receive(:command_line_to_argv_w_helper)
+ provider.send(:cmd_args)
+ end
+ end
+
it "installs with multiple options as an array" do
subject.options [ "--force", "--confirm" ]
subject.run_action(:install)