diff options
author | Kapil Chouhan <kapil.chouhan@msystechnologies.com> | 2020-04-02 11:42:04 +0000 |
---|---|---|
committer | Kapil Chouhan <kapil.chouhan@msystechnologies.com> | 2020-04-23 09:57:59 +0000 |
commit | beb3610ed88189708c1318ce5d0904ca18026562 (patch) | |
tree | 3adbc61124ba2b69453a916558396b238ad88e6b /spec/functional | |
parent | 16b6db24f54f4fa015b4939880a04abb9a8c256b (diff) | |
download | chef-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.rb | 29 |
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) |