From 4db604a2b0f22270886e73e579bb4bd9763b65cf Mon Sep 17 00:00:00 2001 From: Mitchell Chambers Date: Mon, 15 Apr 2024 10:55:00 +1000 Subject: [PATCH] feat: add .ps_manager mocks for non-Windows (pwsh_path and pwsh_args) --- .../dsc_base_provider_spec.rb | 48 ++++++++++++++----- 1 file changed, 36 insertions(+), 12 deletions(-) diff --git a/spec/unit/puppet/provider/dsc_base_provider/dsc_base_provider_spec.rb b/spec/unit/puppet/provider/dsc_base_provider/dsc_base_provider_spec.rb index 23089cc6..379dcab8 100644 --- a/spec/unit/puppet/provider/dsc_base_provider/dsc_base_provider_spec.rb +++ b/spec/unit/puppet/provider/dsc_base_provider/dsc_base_provider_spec.rb @@ -2110,21 +2110,45 @@ end describe '.ps_manager' do - before do - allow(Pwsh::Manager).to receive(:powershell_path).and_return('pwsh') - allow(Pwsh::Manager).to receive(:powershell_args).and_return('args') - end + describe '.ps_manager on non-Windows' do + before do + + allow(Pwsh::Util).to receive(:on_windows?).and_return(false) + allow(Pwsh::Manager).to receive(:pwsh_path).and_return('pwsh') + allow(Pwsh::Manager).to receive(:pwsh_args).and_return('args') + end + + it 'Initializes an instance of the Pwsh::Manager' do + expect(Puppet::Util::Log).to receive(:level).and_return(:normal) + expect(Pwsh::Manager).to receive(:instance).with('pwsh', 'args', debug: false) + expect { provider.ps_manager }.not_to raise_error + end - it 'Initializes an instance of the Pwsh::Manager' do - expect(Puppet::Util::Log).to receive(:level).and_return(:normal) - expect(Pwsh::Manager).to receive(:instance).with('pwsh', 'args', debug: false) - expect { provider.ps_manager }.not_to raise_error + it 'passes debug as true if Puppet::Util::Log.level is debug' do + expect(Puppet::Util::Log).to receive(:level).and_return(:debug) + expect(Pwsh::Manager).to receive(:instance).with('pwsh', 'args', debug: true) + expect { provider.ps_manager }.not_to raise_error + end end - it 'passes debug as true if Puppet::Util::Log.level is debug' do - expect(Puppet::Util::Log).to receive(:level).and_return(:debug) - expect(Pwsh::Manager).to receive(:instance).with('pwsh', 'args', debug: true) - expect { provider.ps_manager }.not_to raise_error + describe '.ps_manager on Windows' do + before do + + allow(Pwsh::Util).to receive(:on_windows?).and_return(true) + allow(Pwsh::Manager).to receive(:powershell_path).and_return('pwsh') + allow(Pwsh::Manager).to receive(:powershell_args).and_return('args') + end + it 'Initializes an instance of the Pwsh::Manager' do + expect(Puppet::Util::Log).to receive(:level).and_return(:normal) + expect(Pwsh::Manager).to receive(:instance).with('pwsh', 'args', debug: false) + expect { provider.ps_manager }.not_to raise_error + end + + it 'passes debug as true if Puppet::Util::Log.level is debug' do + expect(Puppet::Util::Log).to receive(:level).and_return(:debug) + expect(Pwsh::Manager).to receive(:instance).with('pwsh', 'args', debug: true) + expect { provider.ps_manager }.not_to raise_error + end end end end