diff --git a/lib/puppet_litmus/rake_helper.rb b/lib/puppet_litmus/rake_helper.rb index 09c08dc..02df69d 100644 --- a/lib/puppet_litmus/rake_helper.rb +++ b/lib/puppet_litmus/rake_helper.rb @@ -68,7 +68,7 @@ def provision(provisioner, platform, inventory_vars) raise "the provision module was not found in #{DEFAULT_CONFIG_DATA['modulepath']}, please amend the .fixtures.yml file" unless File.directory?(File.join(DEFAULT_CONFIG_DATA['modulepath'], 'provision')) - params = { 'action' => 'provision', 'platform' => platform, 'inventory' => Dir.pwd } + params = { 'action' => 'provision', 'platform' => platform, 'inventory' => File.join(Dir.pwd, 'spec', 'fixtures', 'litmus_inventory.yaml') } params['vars'] = inventory_vars unless inventory_vars.nil? task_name = provisioner_task(provisioner) @@ -123,7 +123,7 @@ def tear_down(node_name, inventory_hash) # how do we know what provisioner to use add_platform_field(inventory_hash, node_name) - params = { 'action' => 'tear_down', 'node_name' => node_name, 'inventory' => Dir.pwd } + params = { 'action' => 'tear_down', 'node_name' => node_name, 'inventory' => File.join(Dir.pwd, 'spec', 'fixtures', 'litmus_inventory.yaml') } node_facts = facts_from_node(inventory_hash, node_name) bolt_result = run_task(provisioner_task(node_facts['provisioner']), 'localhost', params, config: DEFAULT_CONFIG_DATA, inventory: nil) raise_bolt_errors(bolt_result, "tear_down of #{node_name} failed.") diff --git a/spec/lib/puppet_litmus/rake_helper_spec.rb b/spec/lib/puppet_litmus/rake_helper_spec.rb index cbe6893..efc426b 100644 --- a/spec/lib/puppet_litmus/rake_helper_spec.rb +++ b/spec/lib/puppet_litmus/rake_helper_spec.rb @@ -24,6 +24,9 @@ end RSpec.describe PuppetLitmus::RakeHelper do + inventory_file = File.join(Dir.pwd, 'spec', 'fixtures', 'litmus_inventory.yaml') + let(:inventory_file) { inventory_file } + context 'with provision_list' do let(:provision_hash) { { 'default' => { 'provisioner' => 'docker', 'images' => ['waffleimage/centos7'] } } } let(:results) { [] } @@ -42,7 +45,7 @@ inventory_vars: nil, provision_hash: { 'default' => { 'provisioner' => 'docker', 'images' => ['waffleimage/centos7'] } }, results: [], - params: { 'action' => 'provision', 'platform' => 'waffleimage/centos7', 'inventory' => Dir.pwd } + params: { 'action' => 'provision', 'platform' => 'waffleimage/centos7', 'inventory' => inventory_file } }, { provisioner: 'vagrant', @@ -50,7 +53,7 @@ inventory_vars: nil, provision_hash: { 'default' => { 'provisioner' => 'vagrant', 'images' => ['centos7'] } }, results: [], - params: { 'action' => 'provision', 'platform' => 'centos7', 'inventory' => Dir.pwd } + params: { 'action' => 'provision', 'platform' => 'centos7', 'inventory' => inventory_file } } ].freeze @@ -68,7 +71,7 @@ [{ 'uri' => 'some.host', 'facts' => { 'provisioner' => 'docker', 'container_name' => 'foo', 'platform' => 'some.host' } }] }] } end let(:targets) { ['some.host'] } - let(:params) { { 'action' => 'tear_down', 'node_name' => 'some.host', 'inventory' => Dir.pwd } } + let(:params) { { 'action' => 'tear_down', 'node_name' => 'some.host', 'inventory' => inventory_file } } it 'calls function' do allow(File).to receive(:directory?).with(File.join(described_class::DEFAULT_CONFIG_DATA['modulepath'], 'provision')).and_return(true) @@ -89,7 +92,7 @@ ] }] } end let(:targets) { ['one.host'] } - let(:params) { { 'action' => 'tear_down', 'node_name' => 'one.host', 'inventory' => Dir.pwd } } + let(:params) { { 'action' => 'tear_down', 'node_name' => 'one.host', 'inventory' => inventory_file } } it 'calls function' do allow(File).to receive(:directory?).with(File.join(described_class::DEFAULT_CONFIG_DATA['modulepath'], 'provision')).and_return(true)