puppet_litmus 0.11.0 → 0.11.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 28a5409c12ffc5d0ab3b083cabebff39be58c3ed41095cc9711a16f07f49852b
4
- data.tar.gz: 9517425db215a6cbafdb1945260f09070dca8a550b2c511be0317c1c5097bac3
3
+ metadata.gz: 9fcb472feb01cf0ebd62532e0cb58b87fee60285a7c981c416befd43374393c7
4
+ data.tar.gz: 285b1a3907733f5fc8aa7d29599e257df69ffab3318387ad23952a4947e6b2c7
5
5
  SHA512:
6
- metadata.gz: 560edd1797551152c839db07af920345603d1a67d400301898b3e4b4841145892c50a0ffc18943c653712370cc1686612cb89503c6a8fc459524b803fcdc0bbf
7
- data.tar.gz: 23c9cbf00d3f2af2343c1975b09eb5d43235d87b6cb32347a76db039d4f903aaa732b8ab7677eeeabea10ef08588e910032c2d9d9cf315a96b4aeef1cb8bd57c
6
+ metadata.gz: fbf13c7c25f17337e7a06c208533c003f5d779e09c31f7363ce228774752e1244a48898174d11728e91744890bd7374a5427b6c66f3c2e9ed97b72cf84ae8e95
7
+ data.tar.gz: 421817337c42b08ab8bee201e6faf601a6cf65385470db90491c35528815b5578291235b78aa462d860fe9275b3079b3831cad39ae8f7eb5b4115bad771e402e
@@ -130,14 +130,21 @@ module PuppetLitmus::InventoryManipulation
130
130
  # Adds a node to a group specified, if group_name exists in inventory hash.
131
131
  #
132
132
  # @param inventory_hash [Hash] hash of the inventory.yaml file
133
- # @param node_name [String] node to locate in the group
133
+ # @param node [Hash] node to add to the group
134
134
  # group_name [String] group of nodes to limit the search for the node_name in
135
135
  # @return [Hash] inventory_hash with node added to group if group_name exists in inventory hash.
136
- def add_node_to_group(inventory_hash, node_name, group_name)
137
- inventory_hash['groups'].each do |group|
138
- if group['name'] == group_name
139
- group['nodes'].push node_name
136
+ def add_node_to_group(inventory_hash, node, group_name)
137
+ # check if group exists
138
+ if inventory_hash['groups'].any? { |g| g['name'] == group_name }
139
+ inventory_hash['groups'].each do |group|
140
+ if group['name'] == group_name
141
+ group['nodes'].push node
142
+ end
140
143
  end
144
+ else
145
+ # add new group
146
+ group = { 'name' => group_name, 'nodes' => [node] }
147
+ inventory_hash['groups'].push group
141
148
  end
142
149
  inventory_hash
143
150
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  # helper functions for running puppet commands. They execute a target system specified by ENV['TARGET_HOST']
4
4
  # heavily uses functions from here https://github.com/puppetlabs/bolt/blob/master/developer-docs/bolt_spec-run.md
5
- module PuppetLitmus::Serverspec
5
+ module PuppetLitmus::PuppetHelpers
6
6
  # Applies a manifest twice. First checking for errors. Secondly to make sure no changes occur.
7
7
  #
8
8
  # @param manifest [String] puppet manifest code to be applied.
@@ -7,6 +7,7 @@ require 'open3'
7
7
  require 'pdk'
8
8
  require 'json'
9
9
  require 'parallel'
10
+ require 'tty-spinner'
10
11
 
11
12
  # helper methods for the litmus rake tasks
12
13
  module LitmusRakeHelper
@@ -277,6 +278,7 @@ namespace :litmus do
277
278
  # stdout, stderr, _status = Open3.capture3(pdk_build_command)
278
279
  # raise "Failed to run 'pdk_build_command',#{stdout} and #{stderr}" if (stderr =~ %r{completed successfully}).nil?
279
280
  require 'pdk/module/build'
281
+
280
282
  opts = {}
281
283
  opts[:force] = true
282
284
  builder = PDK::Module::Build.new(opts)
@@ -2,5 +2,5 @@
2
2
 
3
3
  # version of this gem
4
4
  module PuppetLitmus
5
- VERSION ||= '0.11.0'
5
+ VERSION ||= '0.11.1'
6
6
  end
data/lib/puppet_litmus.rb CHANGED
@@ -5,11 +5,11 @@ module PuppetLitmus; end
5
5
 
6
6
  require 'bolt_spec/run'
7
7
  require 'puppet_litmus/inventory_manipulation'
8
- require 'puppet_litmus/serverspec'
8
+ require 'puppet_litmus/puppet_helpers'
9
9
 
10
10
  # Helper methods for testing puppet content
11
11
  module PuppetLitmus
12
12
  include BoltSpec::Run
13
13
  include PuppetLitmus::InventoryManipulation
14
- include PuppetLitmus::Serverspec
14
+ include PuppetLitmus::PuppetHelpers
15
15
  end
@@ -1,14 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'spec_helper'
4
+ load File.expand_path('../../../lib/puppet_litmus/inventory_manipulation.rb', __dir__)
5
+ include PuppetLitmus::InventoryManipulation # rubocop:disable Style/MixinUsage
4
6
 
5
7
  RSpec.describe PuppetLitmus::InventoryManipulation do
6
- let(:dummy_class) do
7
- dummy = Class.new
8
- dummy.extend(described_class)
9
- dummy
10
- end
11
-
12
8
  context 'with config_from_node' do
13
9
  let(:no_config_hash) do
14
10
  { 'groups' =>
@@ -19,6 +15,12 @@ RSpec.describe PuppetLitmus::InventoryManipulation do
19
15
  { 'name' => 'winrm_nodes', 'nodes' => [] }] }
20
16
  end
21
17
 
18
+ let(:no_docker_hash) do
19
+ { 'groups' =>
20
+ [{ 'name' => 'ssh_nodes', 'nodes' => [] },
21
+ { 'name' => 'winrm_nodes', 'nodes' => [] }] }
22
+ end
23
+
22
24
  let(:config_hash) do
23
25
  { 'groups' =>
24
26
  [{ 'name' => 'ssh_nodes',
@@ -86,62 +88,77 @@ RSpec.describe PuppetLitmus::InventoryManipulation do
86
88
  { 'name' => 'winrm_nodes', 'nodes' => [] }] }
87
89
  end
88
90
 
91
+ let(:foo_node) do
92
+ { 'name' => 'foo',
93
+ 'facts' => { 'provisioner' => 'bar', 'platform' => 'ubuntu' } }
94
+ end
95
+
89
96
  it 'no matching node, raises' do
90
- expect { dummy_class.config_from_node(config_hash, 'not.here') }.to raise_error('No config was found for not.here')
97
+ expect { described_class.config_from_node(config_hash, 'not.here') }.to raise_error('No config was found for not.here')
91
98
  end
92
99
 
93
100
  it 'no config section, returns nil' do
94
- expect(dummy_class.config_from_node(no_config_hash, 'test.delivery.puppetlabs.net')).to eq(nil)
101
+ expect(described_class.config_from_node(no_config_hash, 'test.delivery.puppetlabs.net')).to eq(nil)
95
102
  end
96
103
 
97
104
  it 'config exists, and returns' do
98
- expect(dummy_class.config_from_node(config_hash, 'test.delivery.puppetlabs.net')).to eq('transport' => 'ssh', 'ssh' =>
105
+ expect(described_class.config_from_node(config_hash, 'test.delivery.puppetlabs.net')).to eq('transport' => 'ssh', 'ssh' =>
99
106
  { 'user' => 'root', 'password' => 'Qu@lity!', 'host-key-check' => false })
100
107
  end
101
108
 
102
109
  it 'facts exists, and returns' do
103
- expect(dummy_class.facts_from_node(config_hash, 'test.delivery.puppetlabs.net')).to eq('provisioner' => 'vmpooler', 'platform' => 'centos-5-x86_64')
110
+ expect(described_class.facts_from_node(config_hash, 'test.delivery.puppetlabs.net')).to eq('provisioner' => 'vmpooler', 'platform' => 'centos-5-x86_64')
104
111
  end
105
112
 
106
113
  it 'vars exists, and returns' do
107
- expect(dummy_class.vars_from_node(config_hash, 'test.delivery.puppetlabs.net')).to eq('role' => 'agent')
114
+ expect(described_class.vars_from_node(config_hash, 'test.delivery.puppetlabs.net')).to eq('role' => 'agent')
108
115
  end
109
116
 
110
117
  it 'no feature exists for the group, and returns hash with feature added' do
111
- expect(dummy_class.add_feature_to_group(no_feature_hash, 'puppet-agent', 'ssh_nodes')).to eq('groups' => [{ 'features' => ['puppet-agent'], 'name' => 'ssh_nodes', 'nodes' => [{ 'config' => { 'ssh' => { 'host-key-check' => false, 'password' => 'Qu@lity!', 'user' => 'root' }, 'transport' => 'ssh' }, 'facts' => { 'platform' => 'centos-5-x86_64', 'provisioner' => 'vmpooler' }, 'name' => 'test.delivery.puppetlabs.net' }] }, { 'name' => 'winrm_nodes', 'nodes' => [] }]) # rubocop:disable Metrics/LineLength: Line is too long
118
+ expect(described_class.add_feature_to_group(no_feature_hash, 'puppet-agent', 'ssh_nodes')).to eq('groups' => [{ 'features' => ['puppet-agent'], 'name' => 'ssh_nodes', 'nodes' => [{ 'config' => { 'ssh' => { 'host-key-check' => false, 'password' => 'Qu@lity!', 'user' => 'root' }, 'transport' => 'ssh' }, 'facts' => { 'platform' => 'centos-5-x86_64', 'provisioner' => 'vmpooler' }, 'name' => 'test.delivery.puppetlabs.net' }] }, { 'name' => 'winrm_nodes', 'nodes' => [] }]) # rubocop:disable Metrics/LineLength: Line is too long
112
119
  end
113
120
 
114
121
  it 'feature exists for the group, and returns hash with feature removed' do
115
- expect(dummy_class.remove_feature_from_group(feature_hash_group, 'puppet-agent', 'ssh_nodes')).to eq('groups' => [{ 'features' => [], 'name' => 'ssh_nodes', 'nodes' => [{ 'config' => { 'ssh' => { 'host-key-check' => false, 'password' => 'Qu@lity!', 'user' => 'root' }, 'transport' => 'ssh' }, 'facts' => { 'platform' => 'centos-5-x86_64', 'provisioner' => 'vmpooler' }, 'name' => 'test.delivery.puppetlabs.net' }] }, { 'name' => 'winrm_nodes', 'nodes' => [] }]) # rubocop:disable Metrics/LineLength: Line is too long
122
+ expect(described_class.remove_feature_from_group(feature_hash_group, 'puppet-agent', 'ssh_nodes')).to eq('groups' => [{ 'features' => [], 'name' => 'ssh_nodes', 'nodes' => [{ 'config' => { 'ssh' => { 'host-key-check' => false, 'password' => 'Qu@lity!', 'user' => 'root' }, 'transport' => 'ssh' }, 'facts' => { 'platform' => 'centos-5-x86_64', 'provisioner' => 'vmpooler' }, 'name' => 'test.delivery.puppetlabs.net' }] }, { 'name' => 'winrm_nodes', 'nodes' => [] }]) # rubocop:disable Metrics/LineLength: Line is too long
116
123
  end
117
124
 
118
125
  it 'write from inventory_hash to inventory_yaml file feature_hash_group' do
119
- expect { dummy_class.write_to_inventory_file(feature_hash_group, inventory_full_path) }.not_to raise_error
126
+ expect { described_class.write_to_inventory_file(feature_hash_group, inventory_full_path) }.not_to raise_error
120
127
  end
121
128
 
122
129
  it 'empty feature exists for the group, and returns hash with feature added' do
123
- expect(dummy_class.add_feature_to_group(empty_feature_hash_group, 'puppet-agent', 'ssh_nodes')).to eq('groups' => [{ 'features' => ['puppet-agent'], 'name' => 'ssh_nodes', 'nodes' => [{ 'config' => { 'ssh' => { 'host-key-check' => false, 'password' => 'Qu@lity!', 'user' => 'root' }, 'transport' => 'ssh' }, 'facts' => { 'platform' => 'centos-5-x86_64', 'provisioner' => 'vmpooler' }, 'name' => 'test.delivery.puppetlabs.net' }] }, { 'name' => 'winrm_nodes', 'nodes' => [] }]) # rubocop:disable Metrics/LineLength: Line is too long
130
+ expect(described_class.add_feature_to_group(empty_feature_hash_group, 'puppet-agent', 'ssh_nodes')).to eq('groups' => [{ 'features' => ['puppet-agent'], 'name' => 'ssh_nodes', 'nodes' => [{ 'config' => { 'ssh' => { 'host-key-check' => false, 'password' => 'Qu@lity!', 'user' => 'root' }, 'transport' => 'ssh' }, 'facts' => { 'platform' => 'centos-5-x86_64', 'provisioner' => 'vmpooler' }, 'name' => 'test.delivery.puppetlabs.net' }] }, { 'name' => 'winrm_nodes', 'nodes' => [] }]) # rubocop:disable Metrics/LineLength: Line is too long
124
131
  end
125
132
 
126
133
  it 'no feature exists for the node, and returns hash with feature added' do
127
- expect(dummy_class.add_feature_to_node(no_feature_hash, 'puppet-agent', 'test.delivery.puppetlabs.net')).to eq('groups' => [{ 'name' => 'ssh_nodes', 'nodes' => [{ 'config' => { 'ssh' => { 'host-key-check' => false, 'password' => 'Qu@lity!', 'user' => 'root' }, 'transport' => 'ssh' }, 'facts' => { 'platform' => 'centos-5-x86_64', 'provisioner' => 'vmpooler' }, 'name' => 'test.delivery.puppetlabs.net', 'features' => ['puppet-agent'] }] }, { 'name' => 'winrm_nodes', 'nodes' => [] }]) # rubocop:disable Metrics/LineLength: Line is too long
134
+ expect(described_class.add_feature_to_node(no_feature_hash, 'puppet-agent', 'test.delivery.puppetlabs.net')).to eq('groups' => [{ 'name' => 'ssh_nodes', 'nodes' => [{ 'config' => { 'ssh' => { 'host-key-check' => false, 'password' => 'Qu@lity!', 'user' => 'root' }, 'transport' => 'ssh' }, 'facts' => { 'platform' => 'centos-5-x86_64', 'provisioner' => 'vmpooler' }, 'name' => 'test.delivery.puppetlabs.net', 'features' => ['puppet-agent'] }] }, { 'name' => 'winrm_nodes', 'nodes' => [] }]) # rubocop:disable Metrics/LineLength: Line is too long
128
135
  end
129
136
 
130
137
  it 'feature exists for the node, and returns hash with feature removed' do
131
- expect(dummy_class.remove_feature_from_node(feature_hash_node, 'puppet-agent', 'test.delivery.puppetlabs.net')).to eq('groups' => [{ 'name' => 'ssh_nodes', 'nodes' => [{ 'config' => { 'ssh' => { 'host-key-check' => false, 'password' => 'Qu@lity!', 'user' => 'root' }, 'transport' => 'ssh' }, 'facts' => { 'platform' => 'centos-5-x86_64', 'provisioner' => 'vmpooler' }, 'name' => 'test.delivery.puppetlabs.net', 'features' => [] }] }, { 'name' => 'winrm_nodes', 'nodes' => [] }]) # rubocop:disable Metrics/LineLength: Line is too long
138
+ expect(described_class.remove_feature_from_node(feature_hash_node, 'puppet-agent', 'test.delivery.puppetlabs.net')).to eq('groups' => [{ 'name' => 'ssh_nodes', 'nodes' => [{ 'config' => { 'ssh' => { 'host-key-check' => false, 'password' => 'Qu@lity!', 'user' => 'root' }, 'transport' => 'ssh' }, 'facts' => { 'platform' => 'centos-5-x86_64', 'provisioner' => 'vmpooler' }, 'name' => 'test.delivery.puppetlabs.net', 'features' => [] }] }, { 'name' => 'winrm_nodes', 'nodes' => [] }]) # rubocop:disable Metrics/LineLength: Line is too long
132
139
  end
133
140
 
134
141
  it 'write from inventory_hash to inventory_yaml file feature_hash_node' do
135
- expect { dummy_class.write_to_inventory_file(feature_hash_node, inventory_full_path) }.not_to raise_error
142
+ expect { described_class.write_to_inventory_file(feature_hash_node, inventory_full_path) }.not_to raise_error
136
143
  end
137
144
 
138
145
  it 'empty feature exists for the node, and returns hash with feature added' do
139
- expect(dummy_class.add_feature_to_node(empty_feature_hash_node, 'puppet-agent', 'test.delivery.puppetlabs.net')).to eq('groups' => [{ 'name' => 'ssh_nodes', 'nodes' => [{ 'config' => { 'ssh' => { 'host-key-check' => false, 'password' => 'Qu@lity!', 'user' => 'root' }, 'transport' => 'ssh' }, 'facts' => { 'platform' => 'centos-5-x86_64', 'provisioner' => 'vmpooler' }, 'name' => 'test.delivery.puppetlabs.net', 'features' => ['puppet-agent'] }] }, { 'name' => 'winrm_nodes', 'nodes' => [] }]) # rubocop:disable Metrics/LineLength: Line is too long
146
+ expect(described_class.add_feature_to_node(empty_feature_hash_node, 'puppet-agent', 'test.delivery.puppetlabs.net')).to eq('groups' => [{ 'name' => 'ssh_nodes', 'nodes' => [{ 'config' => { 'ssh' => { 'host-key-check' => false, 'password' => 'Qu@lity!', 'user' => 'root' }, 'transport' => 'ssh' }, 'facts' => { 'platform' => 'centos-5-x86_64', 'provisioner' => 'vmpooler' }, 'name' => 'test.delivery.puppetlabs.net', 'features' => ['puppet-agent'] }] }, { 'name' => 'winrm_nodes', 'nodes' => [] }]) # rubocop:disable Metrics/LineLength: Line is too long
140
147
  end
141
148
 
142
149
  it 'write from inventory_hash to inventory_yaml file no feature_hash' do
143
150
  expect(File).to exist(inventory_full_path)
144
- expect { dummy_class.write_to_inventory_file(no_feature_hash, inventory_full_path) }.not_to raise_error
151
+ expect { described_class.write_to_inventory_file(no_feature_hash, inventory_full_path) }.not_to raise_error
152
+ end
153
+
154
+ it 'group does not exist in inventory, and returns hash with group added' do
155
+ expect(described_class.add_node_to_group(no_docker_hash, foo_node, 'docker_nodes')).to eq('groups' =>
156
+ [{ 'name' => 'ssh_nodes', 'nodes' => [] }, { 'name' => 'winrm_nodes', 'nodes' => [] }, { 'name' => 'docker_nodes', 'nodes' => [foo_node] }])
157
+ end
158
+
159
+ it 'group exists in inventory, and returns hash with node added' do
160
+ expect(described_class.add_node_to_group(no_docker_hash, foo_node, 'ssh_nodes')).to eq('groups' =>
161
+ [{ 'name' => 'ssh_nodes', 'nodes' => [foo_node] }, { 'name' => 'winrm_nodes', 'nodes' => [] }])
145
162
  end
146
163
  end
147
164
  end
@@ -1,24 +1,21 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'spec_helper'
4
+ load File.expand_path('../../../lib/puppet_litmus/puppet_helpers.rb', __dir__)
4
5
 
5
- RSpec.describe PuppetLitmus::Serverspec do
6
- let(:dummy_class) do
7
- dummy = Class.new
8
- dummy.extend(described_class)
9
- dummy
10
- end
6
+ include PuppetLitmus::PuppetHelpers # rubocop:disable Style/MixinUsage
11
7
 
8
+ RSpec.describe PuppetLitmus::PuppetHelpers do
12
9
  context 'with idempotent_apply' do
13
10
  let(:manifest) do
14
11
  "include '::doot'"
15
12
  end
16
13
 
17
14
  it 'calls all functions' do
18
- expect(dummy_class).to receive(:create_manifest_file).with(manifest).and_return('/bla.pp')
19
- expect(dummy_class).to receive(:apply_manifest).with(nil, expect_failures: false, manifest_file_location: '/bla.pp')
20
- expect(dummy_class).to receive(:apply_manifest).with(nil, catch_changes: true, manifest_file_location: '/bla.pp')
21
- dummy_class.idempotent_apply(manifest)
15
+ expect(described_class).to receive(:create_manifest_file).with(manifest).and_return('/bla.pp')
16
+ expect(described_class).to receive(:apply_manifest).with(nil, expect_failures: false, manifest_file_location: '/bla.pp')
17
+ expect(described_class).to receive(:apply_manifest).with(nil, catch_changes: true, manifest_file_location: '/bla.pp')
18
+ described_class.idempotent_apply(manifest)
22
19
  end
23
20
  end
24
21
 
@@ -31,11 +28,11 @@ RSpec.describe PuppetLitmus::Serverspec do
31
28
 
32
29
  it 'passes the --hiera_config flag if the :hiera_config opt is specified' do
33
30
  expect(File).to receive(:exist?).with('inventory.yaml').and_return(false)
34
- expect(dummy_class).to receive(:localhost_inventory_hash).and_return(localhost_inventory_hash)
35
- expect(dummy_class).to receive(:target_in_inventory?).and_return(true)
36
- expect(dummy_class).to receive(:create_manifest_file).with(manifest).and_return('/bla.pp')
37
- expect(dummy_class).to receive(:run_command).with(command, 'litmus_localhost', config: nil, inventory: localhost_inventory_hash).and_return(result)
38
- dummy_class.apply_manifest(manifest, hiera_config: '/hiera.yaml')
31
+ expect(described_class).to receive(:localhost_inventory_hash).and_return(localhost_inventory_hash)
32
+ expect(described_class).to receive(:target_in_inventory?).and_return(true)
33
+ expect(described_class).to receive(:create_manifest_file).with(manifest).and_return('/bla.pp')
34
+ expect(described_class).to receive(:run_command).with(command, 'litmus_localhost', config: nil, inventory: localhost_inventory_hash).and_return(result)
35
+ described_class.apply_manifest(manifest, hiera_config: '/hiera.yaml')
39
36
  end
40
37
  end
41
38
 
@@ -47,42 +44,42 @@ RSpec.describe PuppetLitmus::Serverspec do
47
44
 
48
45
  it 'uses detailed-exitcodes with expect_failures' do
49
46
  expect(File).to receive(:exist?).with('inventory.yaml').and_return(false)
50
- expect(dummy_class).to receive(:localhost_inventory_hash).and_return(localhost_inventory_hash)
51
- expect(dummy_class).to receive(:target_in_inventory?).and_return(true)
52
- expect(dummy_class).to receive(:create_manifest_file).with(manifest).and_return('/bla.pp')
53
- expect(dummy_class).to receive(:run_command).with(command, 'litmus_localhost', config: nil, inventory: localhost_inventory_hash).and_return(result)
54
- expect { dummy_class.apply_manifest(manifest, expect_failures: true) }.to raise_error(RuntimeError)
47
+ expect(described_class).to receive(:localhost_inventory_hash).and_return(localhost_inventory_hash)
48
+ expect(described_class).to receive(:target_in_inventory?).and_return(true)
49
+ expect(described_class).to receive(:create_manifest_file).with(manifest).and_return('/bla.pp')
50
+ expect(described_class).to receive(:run_command).with(command, 'litmus_localhost', config: nil, inventory: localhost_inventory_hash).and_return(result)
51
+ expect { described_class.apply_manifest(manifest, expect_failures: true) }.to raise_error(RuntimeError)
55
52
  end
56
53
 
57
54
  it 'uses detailed-exitcodes with catch_failures' do
58
55
  expect(File).to receive(:exist?).with('inventory.yaml').and_return(false)
59
- expect(dummy_class).to receive(:localhost_inventory_hash).and_return(localhost_inventory_hash)
60
- expect(dummy_class).to receive(:target_in_inventory?).and_return(true)
61
- expect(dummy_class).to receive(:create_manifest_file).with(manifest).and_return('/bla.pp')
62
- expect(dummy_class).to receive(:run_command).with(command, 'litmus_localhost', config: nil, inventory: localhost_inventory_hash).and_return(result)
63
- dummy_class.apply_manifest(manifest, catch_failures: true)
56
+ expect(described_class).to receive(:localhost_inventory_hash).and_return(localhost_inventory_hash)
57
+ expect(described_class).to receive(:target_in_inventory?).and_return(true)
58
+ expect(described_class).to receive(:create_manifest_file).with(manifest).and_return('/bla.pp')
59
+ expect(described_class).to receive(:run_command).with(command, 'litmus_localhost', config: nil, inventory: localhost_inventory_hash).and_return(result)
60
+ described_class.apply_manifest(manifest, catch_failures: true)
64
61
  end
65
62
 
66
63
  it 'uses detailed-exitcodes with expect_changes' do
67
64
  expect(File).to receive(:exist?).with('inventory.yaml').and_return(false)
68
- expect(dummy_class).to receive(:localhost_inventory_hash).and_return(localhost_inventory_hash)
69
- expect(dummy_class).to receive(:target_in_inventory?).and_return(true)
70
- expect(dummy_class).to receive(:create_manifest_file).with(manifest).and_return('/bla.pp')
71
- expect(dummy_class).to receive(:run_command).with(command, 'litmus_localhost', config: nil, inventory: localhost_inventory_hash).and_return(result)
72
- expect { dummy_class.apply_manifest(manifest, expect_changes: true) }.to raise_error(RuntimeError)
65
+ expect(described_class).to receive(:localhost_inventory_hash).and_return(localhost_inventory_hash)
66
+ expect(described_class).to receive(:target_in_inventory?).and_return(true)
67
+ expect(described_class).to receive(:create_manifest_file).with(manifest).and_return('/bla.pp')
68
+ expect(described_class).to receive(:run_command).with(command, 'litmus_localhost', config: nil, inventory: localhost_inventory_hash).and_return(result)
69
+ expect { described_class.apply_manifest(manifest, expect_changes: true) }.to raise_error(RuntimeError)
73
70
  end
74
71
 
75
72
  it 'uses detailed-exitcodes with catch_changes' do
76
73
  expect(File).to receive(:exist?).with('inventory.yaml').and_return(false)
77
- expect(dummy_class).to receive(:localhost_inventory_hash).and_return(localhost_inventory_hash)
78
- expect(dummy_class).to receive(:target_in_inventory?).and_return(true)
79
- expect(dummy_class).to receive(:create_manifest_file).with(manifest).and_return('/bla.pp')
80
- expect(dummy_class).to receive(:run_command).with(command, 'litmus_localhost', config: nil, inventory: localhost_inventory_hash).and_return(result)
81
- dummy_class.apply_manifest(manifest, catch_changes: true)
74
+ expect(described_class).to receive(:localhost_inventory_hash).and_return(localhost_inventory_hash)
75
+ expect(described_class).to receive(:target_in_inventory?).and_return(true)
76
+ expect(described_class).to receive(:create_manifest_file).with(manifest).and_return('/bla.pp')
77
+ expect(described_class).to receive(:run_command).with(command, 'litmus_localhost', config: nil, inventory: localhost_inventory_hash).and_return(result)
78
+ described_class.apply_manifest(manifest, catch_changes: true)
82
79
  end
83
80
 
84
81
  it 'uses raises exception for multiple options' do
85
- expect { dummy_class.apply_manifest(manifest, catch_changes: true, expect_failures: true) }
82
+ expect { described_class.apply_manifest(manifest, catch_changes: true, expect_failures: true) }
86
83
  .to raise_error(RuntimeError, 'please specify only one of `catch_changes`, `expect_changes`, `catch_failures` or `expect_failures`')
87
84
  end
88
85
  end
@@ -95,17 +92,17 @@ RSpec.describe PuppetLitmus::Serverspec do
95
92
  let(:localhost_inventory_hash) { { 'groups' => [{ 'name' => 'local', 'nodes' => [{ 'name' => 'litmus_localhost', 'config' => { 'transport' => 'local' } }] }] } }
96
93
 
97
94
  it 'responds to run_shell' do
98
- expect(dummy_class).to respond_to(:run_shell).with(1..2).arguments
95
+ expect(described_class).to respond_to(:run_shell).with(1..2).arguments
99
96
  end
100
97
 
101
98
  context 'when running against localhost and no inventory.yaml file' do
102
99
  it 'does run_shell against localhost without error' do
103
100
  stub_const('ENV', ENV.to_hash.merge('TARGET_HOST' => 'localhost'))
104
101
  expect(File).to receive(:exist?).with('inventory.yaml').and_return(false)
105
- expect(dummy_class).to receive(:localhost_inventory_hash).and_return(localhost_inventory_hash)
106
- expect(dummy_class).to receive(:target_in_inventory?).and_return(true)
107
- expect(dummy_class).to receive(:run_command).with(command_to_run, 'litmus_localhost', config: nil, inventory: localhost_inventory_hash).and_return(result)
108
- expect { dummy_class.run_shell(command_to_run) }.not_to raise_error
102
+ expect(described_class).to receive(:localhost_inventory_hash).and_return(localhost_inventory_hash)
103
+ expect(described_class).to receive(:target_in_inventory?).and_return(true)
104
+ expect(described_class).to receive(:run_command).with(command_to_run, 'litmus_localhost', config: nil, inventory: localhost_inventory_hash).and_return(result)
105
+ expect { described_class.run_shell(command_to_run) }.not_to raise_error
109
106
  end
110
107
  end
111
108
 
@@ -113,10 +110,10 @@ RSpec.describe PuppetLitmus::Serverspec do
113
110
  it 'does run_shell against remote host without error' do
114
111
  stub_const('ENV', ENV.to_hash.merge('TARGET_HOST' => 'some.host'))
115
112
  expect(File).to receive(:exist?).with('inventory.yaml').and_return(true)
116
- expect(dummy_class).to receive(:inventory_hash_from_inventory_file).and_return(inventory_hash)
117
- expect(dummy_class).to receive(:target_in_inventory?).and_return(true)
118
- expect(dummy_class).to receive(:run_command).with(command_to_run, 'some.host', config: nil, inventory: inventory_hash).and_return(result)
119
- expect { dummy_class.run_shell(command_to_run) }.not_to raise_error
113
+ expect(described_class).to receive(:inventory_hash_from_inventory_file).and_return(inventory_hash)
114
+ expect(described_class).to receive(:target_in_inventory?).and_return(true)
115
+ expect(described_class).to receive(:run_command).with(command_to_run, 'some.host', config: nil, inventory: inventory_hash).and_return(result)
116
+ expect { described_class.run_shell(command_to_run) }.not_to raise_error
120
117
  end
121
118
  end
122
119
  end
@@ -133,27 +130,27 @@ RSpec.describe PuppetLitmus::Serverspec do
133
130
  let(:localhost_inventory_hash) { { 'groups' => [{ 'name' => 'local', 'nodes' => [{ 'name' => 'litmus_localhost', 'config' => { 'transport' => 'local' } }] }] } }
134
131
 
135
132
  it 'responds to run_shell' do
136
- expect(dummy_class).to respond_to(:bolt_upload_file).with(2..3).arguments
133
+ expect(described_class).to respond_to(:bolt_upload_file).with(2..3).arguments
137
134
  end
138
135
 
139
136
  context 'when upload returns success' do
140
137
  it 'does upload_file against remote host without error' do
141
138
  stub_const('ENV', ENV.to_hash.merge('TARGET_HOST' => 'some.host'))
142
139
  expect(File).to receive(:exist?).with('inventory.yaml').and_return(true)
143
- expect(dummy_class).to receive(:inventory_hash_from_inventory_file).and_return(inventory_hash)
144
- expect(dummy_class).to receive(:target_in_inventory?).and_return(true)
145
- expect(dummy_class).to receive(:upload_file).with(local, remote, 'some.host', options: {}, config: nil, inventory: inventory_hash).and_return(result_success)
146
- expect { dummy_class.bolt_upload_file(local, remote) }.not_to raise_error
140
+ expect(described_class).to receive(:inventory_hash_from_inventory_file).and_return(inventory_hash)
141
+ expect(described_class).to receive(:target_in_inventory?).and_return(true)
142
+ expect(described_class).to receive(:upload_file).with(local, remote, 'some.host', options: {}, config: nil, inventory: inventory_hash).and_return(result_success)
143
+ expect { described_class.bolt_upload_file(local, remote) }.not_to raise_error
147
144
  end
148
145
 
149
146
  it 'does upload_file against localhost without error' do
150
147
  stub_const('ENV', ENV.to_hash.merge('TARGET_HOST' => 'localhost'))
151
148
  expect(File).to receive(:exist?).with('inventory.yaml').and_return(false)
152
- expect(dummy_class).to receive(:localhost_inventory_hash).and_return(localhost_inventory_hash)
153
- expect(dummy_class).not_to receive(:inventory_hash_from_inventory_file)
154
- expect(dummy_class).to receive(:target_in_inventory?).and_return(true)
155
- expect(dummy_class).to receive(:upload_file).with(local, remote, 'litmus_localhost', options: {}, config: nil, inventory: localhost_inventory_hash).and_return(result_success)
156
- expect { dummy_class.bolt_upload_file(local, remote) }.not_to raise_error
149
+ expect(described_class).to receive(:localhost_inventory_hash).and_return(localhost_inventory_hash)
150
+ expect(described_class).not_to receive(:inventory_hash_from_inventory_file)
151
+ expect(described_class).to receive(:target_in_inventory?).and_return(true)
152
+ expect(described_class).to receive(:upload_file).with(local, remote, 'litmus_localhost', options: {}, config: nil, inventory: localhost_inventory_hash).and_return(result_success)
153
+ expect { described_class.bolt_upload_file(local, remote) }.not_to raise_error
157
154
  end
158
155
  end
159
156
 
@@ -161,19 +158,19 @@ RSpec.describe PuppetLitmus::Serverspec do
161
158
  it 'does upload_file gives runtime error for failure' do
162
159
  stub_const('ENV', ENV.to_hash.merge('TARGET_HOST' => 'some.host'))
163
160
  expect(File).to receive(:exist?).with('inventory.yaml').and_return(true)
164
- expect(dummy_class).to receive(:inventory_hash_from_inventory_file).and_return(inventory_hash)
165
- expect(dummy_class).to receive(:target_in_inventory?).and_return(true)
166
- expect(dummy_class).to receive(:upload_file).with(local, remote, 'some.host', options: {}, config: nil, inventory: inventory_hash).and_return(result_failure)
167
- expect { dummy_class.bolt_upload_file(local, remote) }.to raise_error(RuntimeError, %r{upload file failed})
161
+ expect(described_class).to receive(:inventory_hash_from_inventory_file).and_return(inventory_hash)
162
+ expect(described_class).to receive(:target_in_inventory?).and_return(true)
163
+ expect(described_class).to receive(:upload_file).with(local, remote, 'some.host', options: {}, config: nil, inventory: inventory_hash).and_return(result_failure)
164
+ expect { described_class.bolt_upload_file(local, remote) }.to raise_error(RuntimeError, %r{upload file failed})
168
165
  end
169
166
 
170
167
  it 'returns the exit code and error message when expecting failure' do
171
168
  stub_const('ENV', ENV.to_hash.merge('TARGET_HOST' => 'some.host'))
172
169
  expect(File).to receive(:exist?).with('inventory.yaml').and_return(true)
173
- expect(dummy_class).to receive(:inventory_hash_from_inventory_file).and_return(inventory_hash)
174
- expect(dummy_class).to receive(:target_in_inventory?).and_return(true)
175
- expect(dummy_class).to receive(:upload_file).with(local, remote, 'some.host', options: {}, config: nil, inventory: inventory_hash).and_return(result_failure)
176
- method_result = dummy_class.bolt_upload_file(local, remote, expect_failures: true)
170
+ expect(described_class).to receive(:inventory_hash_from_inventory_file).and_return(inventory_hash)
171
+ expect(described_class).to receive(:target_in_inventory?).and_return(true)
172
+ expect(described_class).to receive(:upload_file).with(local, remote, 'some.host', options: {}, config: nil, inventory: inventory_hash).and_return(result_failure)
173
+ method_result = described_class.bolt_upload_file(local, remote, expect_failures: true)
177
174
  expect(method_result.exit_code).to be(255)
178
175
  expect(method_result.stderr).to be('No such file or directory @ rb_sysopen - /nonexistant/file/path')
179
176
  end
@@ -187,18 +184,18 @@ RSpec.describe PuppetLitmus::Serverspec do
187
184
  let(:localhost_inventory_hash) { { 'groups' => [{ 'name' => 'local', 'nodes' => [{ 'name' => 'litmus_localhost', 'config' => { 'transport' => 'local' } }] }] } }
188
185
 
189
186
  it 'responds to bolt_run_script' do
190
- expect(dummy_class).to respond_to(:bolt_run_script).with(1..2).arguments
187
+ expect(described_class).to respond_to(:bolt_run_script).with(1..2).arguments
191
188
  end
192
189
 
193
190
  context 'when running against localhost and no inventory.yaml file' do
194
191
  it 'does bolt_run_script against localhost without error' do
195
192
  stub_const('ENV', ENV.to_hash.merge('TARGET_HOST' => 'localhost'))
196
193
  expect(File).to receive(:exist?).with('inventory.yaml').and_return(false)
197
- expect(dummy_class).to receive(:localhost_inventory_hash).and_return(localhost_inventory_hash)
198
- expect(dummy_class).not_to receive(:inventory_hash_from_inventory_file)
199
- expect(dummy_class).to receive(:target_in_inventory?).and_return(true)
200
- expect(dummy_class).to receive(:run_script).with(script, 'litmus_localhost', [], options: {}, config: nil, inventory: localhost_inventory_hash).and_return(result)
201
- expect { dummy_class.bolt_run_script(script) }.not_to raise_error
194
+ expect(described_class).to receive(:localhost_inventory_hash).and_return(localhost_inventory_hash)
195
+ expect(described_class).not_to receive(:inventory_hash_from_inventory_file)
196
+ expect(described_class).to receive(:target_in_inventory?).and_return(true)
197
+ expect(described_class).to receive(:run_script).with(script, 'litmus_localhost', [], options: {}, config: nil, inventory: localhost_inventory_hash).and_return(result)
198
+ expect { described_class.bolt_run_script(script) }.not_to raise_error
202
199
  end
203
200
  end
204
201
 
@@ -206,10 +203,10 @@ RSpec.describe PuppetLitmus::Serverspec do
206
203
  it 'does bolt_run_script against remote host without error' do
207
204
  stub_const('ENV', ENV.to_hash.merge('TARGET_HOST' => 'some.host'))
208
205
  expect(File).to receive(:exist?).with('inventory.yaml').and_return(true)
209
- expect(dummy_class).to receive(:inventory_hash_from_inventory_file)
210
- expect(dummy_class).to receive(:target_in_inventory?).and_return(true)
211
- expect(dummy_class).to receive(:run_script).with(script, 'some.host', [], options: {}, config: nil, inventory: nil).and_return(result)
212
- expect { dummy_class.bolt_run_script(script) }.not_to raise_error
206
+ expect(described_class).to receive(:inventory_hash_from_inventory_file)
207
+ expect(described_class).to receive(:target_in_inventory?).and_return(true)
208
+ expect(described_class).to receive(:run_script).with(script, 'some.host', [], options: {}, config: nil, inventory: nil).and_return(result)
209
+ expect { described_class.bolt_run_script(script) }.not_to raise_error
213
210
  end
214
211
  end
215
212
 
@@ -217,11 +214,11 @@ RSpec.describe PuppetLitmus::Serverspec do
217
214
  it 'does bolt_run_script with arguments without error' do
218
215
  stub_const('ENV', ENV.to_hash.merge('TARGET_HOST' => 'localhost'))
219
216
  expect(File).to receive(:exist?).with('inventory.yaml').and_return(false)
220
- expect(dummy_class).to receive(:localhost_inventory_hash).and_return(localhost_inventory_hash)
221
- expect(dummy_class).not_to receive(:inventory_hash_from_inventory_file)
222
- expect(dummy_class).to receive(:target_in_inventory?).and_return(true)
223
- expect(dummy_class).to receive(:run_script).with(script, 'litmus_localhost', ['doot'], options: {}, config: nil, inventory: localhost_inventory_hash).and_return(result)
224
- expect { dummy_class.bolt_run_script(script, arguments: ['doot']) }.not_to raise_error
217
+ expect(described_class).to receive(:localhost_inventory_hash).and_return(localhost_inventory_hash)
218
+ expect(described_class).not_to receive(:inventory_hash_from_inventory_file)
219
+ expect(described_class).to receive(:target_in_inventory?).and_return(true)
220
+ expect(described_class).to receive(:run_script).with(script, 'litmus_localhost', ['doot'], options: {}, config: nil, inventory: localhost_inventory_hash).and_return(result)
221
+ expect { described_class.bolt_run_script(script, arguments: ['doot']) }.not_to raise_error
225
222
  end
226
223
  end
227
224
  end
@@ -239,36 +236,36 @@ RSpec.describe PuppetLitmus::Serverspec do
239
236
  let(:inventory_hash) { { 'groups' => [{ 'name' => 'local', 'nodes' => [{ 'name' => 'some.host', 'config' => { 'transport' => 'local' } }] }] } }
240
237
 
241
238
  it 'responds to bolt_run_task' do
242
- expect(dummy_class).to respond_to(:run_bolt_task).with(2..3).arguments
239
+ expect(described_class).to respond_to(:run_bolt_task).with(2..3).arguments
243
240
  end
244
241
 
245
242
  context 'when bolt returns success' do
246
243
  it 'does bolt_task_run gives no runtime error for success' do
247
244
  stub_const('ENV', ENV.to_hash.merge('TARGET_HOST' => 'some.host'))
248
245
  expect(File).to receive(:exist?).with('inventory.yaml').and_return(true)
249
- expect(dummy_class).to receive(:inventory_hash_from_inventory_file).and_return(inventory_hash)
250
- expect(dummy_class).to receive(:target_in_inventory?).and_return(true)
251
- expect(dummy_class).to receive(:run_task).with(task_name, 'some.host', params, config: config_data, inventory: inventory_hash).and_return(result_unstructured_task_success)
252
- expect { dummy_class.run_bolt_task(task_name, params, opts: {}) }.not_to raise_error
246
+ expect(described_class).to receive(:inventory_hash_from_inventory_file).and_return(inventory_hash)
247
+ expect(described_class).to receive(:target_in_inventory?).and_return(true)
248
+ expect(described_class).to receive(:run_task).with(task_name, 'some.host', params, config: config_data, inventory: inventory_hash).and_return(result_unstructured_task_success)
249
+ expect { described_class.run_bolt_task(task_name, params, opts: {}) }.not_to raise_error
253
250
  end
254
251
 
255
252
  it 'returns stdout for unstructured-data tasks' do
256
253
  stub_const('ENV', ENV.to_hash.merge('TARGET_HOST' => 'some.host'))
257
254
  expect(File).to receive(:exist?).with('inventory.yaml').and_return(true)
258
- expect(dummy_class).to receive(:inventory_hash_from_inventory_file).and_return(inventory_hash)
259
- expect(dummy_class).to receive(:target_in_inventory?).and_return(true)
260
- expect(dummy_class).to receive(:run_task).with(task_name, 'some.host', params, config: config_data, inventory: inventory_hash).and_return(result_unstructured_task_success)
261
- method_result = dummy_class.run_bolt_task(task_name, params, opts: {})
255
+ expect(described_class).to receive(:inventory_hash_from_inventory_file).and_return(inventory_hash)
256
+ expect(described_class).to receive(:target_in_inventory?).and_return(true)
257
+ expect(described_class).to receive(:run_task).with(task_name, 'some.host', params, config: config_data, inventory: inventory_hash).and_return(result_unstructured_task_success)
258
+ method_result = described_class.run_bolt_task(task_name, params, opts: {})
262
259
  expect(method_result.stdout).to eq('SUCCESS!')
263
260
  end
264
261
 
265
262
  it 'returns structured output for structured-data tasks' do
266
263
  stub_const('ENV', ENV.to_hash.merge('TARGET_HOST' => 'some.host'))
267
264
  expect(File).to receive(:exist?).with('inventory.yaml').and_return(true)
268
- expect(dummy_class).to receive(:inventory_hash_from_inventory_file).and_return(inventory_hash)
269
- expect(dummy_class).to receive(:target_in_inventory?).and_return(true)
270
- expect(dummy_class).to receive(:run_task).with(task_name, 'some.host', params, config: config_data, inventory: inventory_hash).and_return(result_structured_task_success)
271
- method_result = dummy_class.run_bolt_task(task_name, params, opts: {})
265
+ expect(described_class).to receive(:inventory_hash_from_inventory_file).and_return(inventory_hash)
266
+ expect(described_class).to receive(:target_in_inventory?).and_return(true)
267
+ expect(described_class).to receive(:run_task).with(task_name, 'some.host', params, config: config_data, inventory: inventory_hash).and_return(result_structured_task_success)
268
+ method_result = described_class.run_bolt_task(task_name, params, opts: {})
272
269
  expect(method_result.stdout).to eq('{"key1"=>"foo", "key2"=>"bar"}')
273
270
  expect(method_result.result['key1']).to eq('foo')
274
271
  expect(method_result.result['key2']).to eq('bar')
@@ -279,19 +276,19 @@ RSpec.describe PuppetLitmus::Serverspec do
279
276
  it 'does bolt_task_run gives runtime error for failure' do
280
277
  stub_const('ENV', ENV.to_hash.merge('TARGET_HOST' => 'some.host'))
281
278
  expect(File).to receive(:exist?).with('inventory.yaml').and_return(true)
282
- expect(dummy_class).to receive(:inventory_hash_from_inventory_file).and_return(inventory_hash)
283
- expect(dummy_class).to receive(:target_in_inventory?).and_return(true)
284
- expect(dummy_class).to receive(:run_task).with(task_name, 'some.host', params, config: config_data, inventory: inventory_hash).and_return(result_failure)
285
- expect { dummy_class.run_bolt_task(task_name, params, opts: {}) }.to raise_error(RuntimeError, %r{task failed})
279
+ expect(described_class).to receive(:inventory_hash_from_inventory_file).and_return(inventory_hash)
280
+ expect(described_class).to receive(:target_in_inventory?).and_return(true)
281
+ expect(described_class).to receive(:run_task).with(task_name, 'some.host', params, config: config_data, inventory: inventory_hash).and_return(result_failure)
282
+ expect { described_class.run_bolt_task(task_name, params, opts: {}) }.to raise_error(RuntimeError, %r{task failed})
286
283
  end
287
284
 
288
285
  it 'returns the exit code and error message when expecting failure' do
289
286
  stub_const('ENV', ENV.to_hash.merge('TARGET_HOST' => 'some.host'))
290
287
  expect(File).to receive(:exist?).with('inventory.yaml').and_return(true)
291
- expect(dummy_class).to receive(:inventory_hash_from_inventory_file).and_return(inventory_hash)
292
- expect(dummy_class).to receive(:target_in_inventory?).and_return(true)
293
- expect(dummy_class).to receive(:run_task).with(task_name, 'some.host', params, config: config_data, inventory: inventory_hash).and_return(result_failure)
294
- method_result = dummy_class.run_bolt_task(task_name, params, expect_failures: true)
288
+ expect(described_class).to receive(:inventory_hash_from_inventory_file).and_return(inventory_hash)
289
+ expect(described_class).to receive(:target_in_inventory?).and_return(true)
290
+ expect(described_class).to receive(:run_task).with(task_name, 'some.host', params, config: config_data, inventory: inventory_hash).and_return(result_failure)
291
+ method_result = described_class.run_bolt_task(task_name, params, expect_failures: true)
295
292
  expect(method_result.exit_code).to be(123)
296
293
  expect(method_result.stderr).to be('FAILURE!')
297
294
  end
@@ -2,7 +2,6 @@
2
2
 
3
3
  require 'spec_helper'
4
4
  require 'rake'
5
- # rubocop:disable RSpec/AnyInstance
6
5
  describe 'litmus rake tasks' do
7
6
  before(:all) do # rubocop:disable RSpec/BeforeAfterAll
8
7
  load File.expand_path('../../../lib/puppet_litmus/rake_tasks.rb', __dir__)
@@ -83,4 +82,3 @@ describe 'litmus rake tasks' do
83
82
  end
84
83
  end
85
84
  end
86
- # rubocop:enable RSpec/AnyInstance
@@ -1,6 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'spec_helper'
4
+ load File.expand_path('../../../lib/puppet_litmus/version.rb', __dir__)
5
+
6
+ include PuppetLitmus # rubocop:disable Style/MixinUsage
4
7
 
5
8
  RSpec.describe PuppetLitmus do
6
9
  it 'has a version number' do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: puppet_litmus
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.0
4
+ version: 0.11.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Puppet, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-10-03 00:00:00.000000000 Z
11
+ date: 2019-10-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bolt
@@ -39,7 +39,7 @@ dependencies:
39
39
  version: 1.10.0
40
40
  - - "<"
41
41
  - !ruby/object:Gem::Version
42
- version: 2.0.0
42
+ version: 1.13.0
43
43
  type: :runtime
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
@@ -49,7 +49,7 @@ dependencies:
49
49
  version: 1.10.0
50
50
  - - "<"
51
51
  - !ruby/object:Gem::Version
52
- version: 2.0.0
52
+ version: 1.13.0
53
53
  - !ruby/object:Gem::Dependency
54
54
  name: tty-spinner
55
55
  requirement: !ruby/object:Gem::Requirement
@@ -102,14 +102,14 @@ files:
102
102
  - README.md
103
103
  - lib/puppet_litmus.rb
104
104
  - lib/puppet_litmus/inventory_manipulation.rb
105
+ - lib/puppet_litmus/puppet_helpers.rb
105
106
  - lib/puppet_litmus/rake_tasks.rb
106
- - lib/puppet_litmus/serverspec.rb
107
107
  - lib/puppet_litmus/version.rb
108
108
  - spec/data/doot.tar.gz
109
109
  - spec/data/inventory.yaml
110
110
  - spec/lib/puppet_litmus/inventory_manipulation_spec.rb
111
+ - spec/lib/puppet_litmus/puppet_helpers_spec.rb
111
112
  - spec/lib/puppet_litmus/rake_tasks_spec.rb
112
- - spec/lib/puppet_litmus/serverspec_spec.rb
113
113
  - spec/lib/puppet_litmus/version_spec.rb
114
114
  - spec/spec_helper.rb
115
115
  homepage: https://github.com/puppetlabs/puppet_litmus
@@ -142,6 +142,6 @@ test_files:
142
142
  - spec/lib/puppet_litmus/rake_tasks_spec.rb
143
143
  - spec/lib/puppet_litmus/version_spec.rb
144
144
  - spec/lib/puppet_litmus/inventory_manipulation_spec.rb
145
- - spec/lib/puppet_litmus/serverspec_spec.rb
145
+ - spec/lib/puppet_litmus/puppet_helpers_spec.rb
146
146
  - spec/data/doot.tar.gz
147
147
  - spec/data/inventory.yaml