From d52da97160cfaa7be5a1df8d054d47fe5878ef94 Mon Sep 17 00:00:00 2001 From: Ewoud Kohl van Wijngaarden Date: Fri, 28 Apr 2023 15:20:45 +0200 Subject: [PATCH] Use instance doubles This verifies in the stubbed methods match the function signatures. --- spec/beaker_puppet_helpers/dsl_spec.rb | 12 ++++++------ spec/beaker_puppet_helpers/install_utils_spec.rb | 2 +- spec/beaker_puppet_helpers/module_utils_spec.rb | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/spec/beaker_puppet_helpers/dsl_spec.rb b/spec/beaker_puppet_helpers/dsl_spec.rb index 243f0dc..e5b2d44 100644 --- a/spec/beaker_puppet_helpers/dsl_spec.rb +++ b/spec/beaker_puppet_helpers/dsl_spec.rb @@ -14,8 +14,8 @@ def logger describe BeakerPuppetHelpers::DSL do subject(:dsl) { ClassMixedWithDSLHelpers.new } - let(:master) { double('Beaker::Host') } - let(:agent) { double('Beaker::Host') } + let(:master) { instance_double(Beaker::Host) } + let(:agent) { instance_double(Beaker::Host) } let(:hosts) { [master, agent] } describe '#apply_manifest_on' do @@ -179,7 +179,7 @@ def logger describe '#fact_on' do it 'retrieves a fact on a single host' do - result = double('Beaker::Result', stdout: '{"osfamily": "family"}') + result = instance_double(Beaker::Result, stdout: '{"osfamily": "family"}') expect(dsl).to receive(:on).and_return(result) expect(dsl.fact_on('host', 'osfamily')).to eq('family') @@ -188,21 +188,21 @@ def logger it 'converts each element to a structured fact when it receives an array of results from #on' do times = hosts.length - result = double('Beaker::Result', stdout: '{"os": {"name":"name", "family": "family"}}') + result = instance_double(Beaker::Result, stdout: '{"os": {"name":"name", "family": "family"}}') allow(dsl).to receive(:on).and_return([result] * times) expect(dsl.fact_on(hosts, 'os')).to eq([{ 'name' => 'name', 'family' => 'family' }] * times) end it 'returns a single result for single host' do - result = double('Beaker::Result', stdout: '{"osfamily": "family"}') + result = instance_double(Beaker::Result, stdout: '{"osfamily": "family"}') allow(dsl).to receive(:on).and_return(result) expect(dsl.fact_on('host', 'osfamily')).to eq('family') end it 'preserves data types' do - result = double('Beaker::Result', stdout: '{"identity": { "uid": 0, "user": "root", "privileged": true }}') + result = instance_double(Beaker::Result, stdout: '{"identity": { "uid": 0, "user": "root", "privileged": true }}') allow(dsl).to receive(:on).and_return(result) structured_fact = dsl.fact_on('host', 'identity') diff --git a/spec/beaker_puppet_helpers/install_utils_spec.rb b/spec/beaker_puppet_helpers/install_utils_spec.rb index 6275144..8ca36bf 100644 --- a/spec/beaker_puppet_helpers/install_utils_spec.rb +++ b/spec/beaker_puppet_helpers/install_utils_spec.rb @@ -4,7 +4,7 @@ describe BeakerPuppetHelpers::InstallUtils do describe '.install_puppet_release_repo_on' do - let(:host) { double('Beaker::Host') } + let(:host) { instance_double(Beaker::Host) } let(:packaging_platform) { Beaker::Platform.new(platform) } before { allow(host).to receive(:[]).with('packaging_platform').and_return(packaging_platform) } diff --git a/spec/beaker_puppet_helpers/module_utils_spec.rb b/spec/beaker_puppet_helpers/module_utils_spec.rb index 20f3b80..2b1a684 100644 --- a/spec/beaker_puppet_helpers/module_utils_spec.rb +++ b/spec/beaker_puppet_helpers/module_utils_spec.rb @@ -14,7 +14,7 @@ def logger describe BeakerPuppetHelpers::ModuleUtils do subject(:dsl) { ClassMixedWithDSLInstallUtils.new } - let(:host) { double('Beaker::Host') } + let(:host) { instance_double(Beaker::Host) } describe '#install_puppet_module_via_pmt_on' do let(:default_module_install_opts) { nil } @@ -82,7 +82,7 @@ def logger end describe '#install_local_module_on' do - let(:builder) { double('Puppet::Modulebuilder::Builder') } + let(:builder) { instance_double(Puppet::Modulebuilder::Builder) } it 'builds and copies the module' do expect(File).to receive(:realpath).with('.').and_return('/path/to/module')