simp-beaker-helpers 1.18.9 → 1.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,7 +5,7 @@ module Simp::BeakerHelpers
5
5
  #
6
6
  # This is done so that we know if some new thing that we're using breaks the
7
7
  # oldest system that we support
8
- DEFAULT_PUPPET_AGENT_VERSION = '~> 5.0'
8
+ DEFAULT_PUPPET_AGENT_VERSION = '~> 6.0'
9
9
 
10
10
  SSG_REPO_URL = ENV['BEAKER_ssg_repo'] || 'https://github.com/ComplianceAsCode/content.git'
11
11
 
@@ -17,7 +17,11 @@ module Simp::BeakerHelpers
17
17
  require 'open-uri'
18
18
 
19
19
  begin
20
- ONLINE = true if open('http://google.com')
20
+ if URI.respond_to?(:open)
21
+ ONLINE = true if URI.open('http://google.com')
22
+ else
23
+ ONLINE = true if open('http://google.com')
24
+ end
21
25
  rescue
22
26
  ONLINE = false
23
27
  end
@@ -1,5 +1,5 @@
1
1
  module Simp; end
2
2
 
3
3
  module Simp::BeakerHelpers
4
- VERSION = '1.18.9'
4
+ VERSION = '1.20.0'
5
5
  end
@@ -6,28 +6,27 @@
6
6
  end
7
7
  -%>
8
8
  HOSTS:
9
- server-el7:
9
+ el7:
10
10
  roles:
11
- - server
12
- - master
13
- - default
14
11
  - el7
12
+ - master
15
13
  platform: el-7-x86_64
16
14
  box: centos/7
17
15
  hypervisor: <%= hypervisor %>
18
16
 
19
- server-el6:
17
+ el8:
20
18
  roles:
21
- - el6
22
- platform: el-6-x86_64
23
- box: centos/6
19
+ - el8
20
+ platform: el-8-x86_64
21
+ box: centos/8
24
22
  hypervisor: <%= hypervisor %>
25
23
 
26
- server-el8:
24
+ el8-0:
27
25
  roles:
28
26
  - el8
29
27
  platform: el-8-x86_64
30
28
  box: centos/8
29
+ box_version: "1905.1"
31
30
  hypervisor: <%= hypervisor %>
32
31
 
33
32
  CONFIG:
@@ -37,3 +36,14 @@ CONFIG:
37
36
  <% if ENV['BEAKER_PUPPET_COLLECTION'] -%>
38
37
  puppet_collection: <%= ENV['BEAKER_PUPPET_COLLECTION'] %>
39
38
  <% end -%>
39
+ ssh:
40
+ keepalive: true
41
+ keepalive_interval: 10
42
+ host_key:
43
+ - <%= Net::SSH::Transport::Algorithms::ALGORITHMS[:host_key].join("\n#{' '*6}- ") %>
44
+ kex:
45
+ - <%= Net::SSH::Transport::Algorithms::ALGORITHMS[:kex].join("\n#{' '*6}- ") %>
46
+ encryption:
47
+ - <%= Net::SSH::Transport::Algorithms::ALGORITHMS[:encryption].join("\n#{' '*6}- ") %>
48
+ hmac:
49
+ - <%= Net::SSH::Transport::Algorithms::ALGORITHMS[:hmac].join("\n#{' '*6}- ") %>
@@ -0,0 +1,20 @@
1
+ <%
2
+ if ENV['BEAKER_HYPERVISOR']
3
+ hypervisor = ENV['BEAKER_HYPERVISOR']
4
+ else
5
+ hypervisor = 'vagrant'
6
+ end
7
+ -%>
8
+ HOSTS:
9
+ focal:
10
+ platform: ubuntu-20.04-x86_64
11
+ box: ubuntu/focal64
12
+ hypervisor: <%= hypervisor %>
13
+
14
+ CONFIG:
15
+ log_level: verbose
16
+ type: aio
17
+ vagrant_memsize: 256
18
+ <% if ENV['BEAKER_PUPPET_COLLECTION'] -%>
19
+ puppet_collection: <%= ENV['BEAKER_PUPPET_COLLECTION'] %>
20
+ <% end -%>
@@ -14,8 +14,8 @@ hosts.each do |host|
14
14
  expect(client_puppet_version.split('.').first).to eq(puppet_collection_version)
15
15
  end
16
16
  else
17
- it 'should not be running puppet 5' do
18
- expect(client_puppet_version.split('.').first).to eq '5'
17
+ it 'should be running puppet 6' do
18
+ expect(client_puppet_version.split('.').first).to eq '6'
19
19
  end
20
20
  end
21
21
  end
@@ -8,15 +8,33 @@ context 'after copy_fixture_modules_to( hosts )' do
8
8
 
9
9
  describe "fact_on(master,'root_home')" do
10
10
  it 'should not return value of `root_home`' do
11
- puts fact = fact_on(master, 'root_home')
12
- expect( fact ).to eq ''
11
+ expect(fact_on(master, 'root_home')).to eq ''
13
12
  end
14
13
  end
15
14
 
16
15
  describe "pfact_on(master,'root_home')" do
17
16
  it 'should return value of `root_home`' do
18
- puts fact = pfact_on(master, 'root_home')
19
- expect( fact ).to eq '/root'
17
+ expect(pfact_on(master, 'root_home')).to eq '/root'
18
+ end
19
+ end
20
+
21
+ describe "pfact_on(master,'os.release.major')" do
22
+ it 'should return the value of `os.release.major`' do
23
+ expect(pfact_on(master, 'os.release.major')).to match(/.+/)
24
+ end
25
+ end
26
+
27
+ describe "pfact_on(master,'os.release.foo')" do
28
+ it 'should not return the value of `os.release.foo`' do
29
+ expect(pfact_on(master, 'os.release.foo')).to eq ''
30
+ end
31
+ end
32
+
33
+ describe "pfact_on(master,'fips_enabled')" do
34
+ expected = (ENV['BEAKER_fips'] == 'yes')
35
+
36
+ it 'should return false' do
37
+ expect(pfact_on(master, 'fips_enabled')).to eq expected
20
38
  end
21
39
  end
22
40
  end
@@ -2,42 +2,36 @@ require 'spec_helper_acceptance'
2
2
 
3
3
  hosts.each do |host|
4
4
  describe '#write_hieradata_to' do
5
+ expect_failures = false
6
+ if hosts_with_role(hosts, 'el8').include?(host)
7
+ expect_failures = true
8
+ end
5
9
 
6
10
  it 'should install yum utils' do
7
11
  host.install_package('yum-utils')
8
12
  end
9
13
 
10
- context 'defailt settings' do
14
+ context 'default settings' do
11
15
  before(:all) { install_simp_repos(host) }
12
16
 
13
- it 'creates the repo' do
14
- on host, 'test -f /etc/yum.repos.d/simp.repo'
15
- on host, 'test -f /etc/yum.repos.d/simp_deps.repo'
16
- end
17
-
18
17
  it 'enables the correct repos' do
19
- simp6info = on(host, '/usr/bin/yum repolist -v simp | grep ^Repo-status').stdout.strip
20
- expect(simp6info).to match(/.*Repo-status.*enabled.*/)
21
- simp6depsinfo = on(host, 'yum repolist -v simp_deps| grep ^Repo-status').stdout.strip
22
- expect(simp6depsinfo).to match(/.*Repo-status.*enabled.*/)
18
+ skip "#{host} is not supported yet" if expect_failures
19
+ on(host, 'yum -y list simp')
20
+ on(host, 'yum -y list postgresql96')
23
21
  end
24
22
  end
25
23
 
26
24
  context 'when passed a disabled list ' do
27
- before(:all) { install_simp_repos(host, ['simp'] ) }
25
+ before(:all) { install_simp_repos(host, ['simp-community-simp'] ) }
28
26
 
29
- it 'creates the repo' do
30
- on host, 'test -f /etc/yum.repos.d/simp.repo'
31
- on host, 'test -f /etc/yum.repos.d/simp_deps.repo'
27
+ it 'enables the correct repos' do
28
+ skip "#{host} is not supported yet" if expect_failures
29
+ on(host, 'yum -y list postgresql96')
32
30
  end
33
31
 
34
- it 'enables the correct repos' do
35
- simp6info = on(host, 'yum repolist -v simp | grep ^Repo-status').stdout.strip
36
- expect(simp6info).to match(/.*Repo-status.*disabled.*/)
37
- simp6depsinfo = on(host, 'yum repolist -v simp_deps| grep ^Repo-status').stdout.strip
38
- expect(simp6depsinfo).to match(/.*Repo-status.*enabled.*/)
32
+ it 'disables the correct repos' do
33
+ on(host, 'yum -y list simp', :acceptable_exit_codes => [1])
39
34
  end
40
35
  end
41
-
42
36
  end
43
37
  end
@@ -103,19 +103,22 @@ describe 'Simp::BeakerHelpers' do
103
103
  end
104
104
 
105
105
  it 'uses defaults when no environment variables are set' do
106
- expect( @helper.get_puppet_install_info[:puppet_install_version] ).to match(/^5\./)
107
- expect( @helper.get_puppet_install_info[:puppet_collection] ).to eq('puppet5')
108
- expect( @helper.get_puppet_install_info[:puppet_install_type] ).to eq('agent')
109
- end
110
106
 
111
- it 'extracts info from PUPPET_INSTALL_VERSION for Puppet 4' do
112
- ENV['PUPPET_INSTALL_VERSION']= '4.10.5'
113
- expected = {
114
- :puppet_install_version => '1.10.5',
115
- :puppet_collection => nil,
116
- :puppet_install_type => 'agent'
117
- }
118
- expect( @helper.get_puppet_install_info ).to eq expected
107
+ # Prevent namespace pollution
108
+ pipe_out,pipe_in = IO.pipe
109
+ fork do
110
+ pipe_out.close
111
+ require 'puppet'
112
+ pipe_in.write(Puppet.version)
113
+ end
114
+ pipe_in.close
115
+
116
+ expected_version = pipe_out.gets
117
+ expected_major_version = expected_version.split('.').first
118
+
119
+ expect( @helper.get_puppet_install_info[:puppet_install_version] ).to match(expected_version)
120
+ expect( @helper.get_puppet_install_info[:puppet_collection] ).to eq("puppet#{expected_major_version}")
121
+ expect( @helper.get_puppet_install_info[:puppet_install_type] ).to eq('agent')
119
122
  end
120
123
 
121
124
  it 'extracts info from PUPPET_INSTALL_VERSION for Puppet 5' do
@@ -153,26 +156,6 @@ describe 'Simp::BeakerHelpers' do
153
156
  expect( @helper.get_puppet_install_info ).to eq expected
154
157
  end
155
158
 
156
- it 'extracts info from BEAKER_PUPPET_AGENT_VERSION' do
157
- ENV['BEAKER_PUPPET_AGENT_VERSION']= '4.10.5'
158
- expected = {
159
- :puppet_install_version => '1.10.5',
160
- :puppet_collection => nil,
161
- :puppet_install_type => 'agent'
162
- }
163
- expect( @helper.get_puppet_install_info ).to eq expected
164
- end
165
-
166
- it 'extracts info from PUPPET_VERSION' do
167
- ENV['PUPPET_VERSION']= '4.10.5'
168
- expected = {
169
- :puppet_install_version => '1.10.5',
170
- :puppet_collection => nil,
171
- :puppet_install_type => 'agent'
172
- }
173
- expect( @helper.get_puppet_install_info ).to eq expected
174
- end
175
-
176
159
  it 'extracts info from BEAKER_PUPPET_COLLECTION' do
177
160
  allow(@helper).to receive(:`).with('gem search -ra -e puppet').and_return(gem_search_results)
178
161
  ENV['BEAKER_PUPPET_COLLECTION']= 'puppet5'
@@ -198,9 +181,9 @@ describe 'Simp::BeakerHelpers' do
198
181
  it 'extracts info from PUPPET_INSTALL_TYPE' do
199
182
  ENV['PUPPET_INSTALL_TYPE'] = 'pe'
200
183
 
201
- expect( @helper.get_puppet_install_info[:puppet_collection] ).to eq('puppet5')
184
+ expect( @helper.get_puppet_install_info[:puppet_collection] ).to eq('puppet6')
202
185
  expect( @helper.get_puppet_install_info[:puppet_install_type] ).to eq('pe')
203
- expect( @helper.get_puppet_install_info[:puppet_install_version] ).to match(/^5\./)
186
+ expect( @helper.get_puppet_install_info[:puppet_install_version] ).to match(/^6\./)
204
187
  end
205
188
 
206
189
  it 'fails when BEAKER_PUPPET_COLLECTION is invalid' do
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simp-beaker-helpers
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.18.9
4
+ version: 1.20.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Tessmer
8
8
  - Trevor Vaughan
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2020-08-25 00:00:00.000000000 Z
12
+ date: 2021-01-08 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: beaker
@@ -161,6 +161,7 @@ executables: []
161
161
  extensions: []
162
162
  extra_rdoc_files: []
163
163
  files:
164
+ - ".fips_fixtures"
164
165
  - ".fixtures.yml"
165
166
  - ".gitignore"
166
167
  - ".gitlab-ci.yml"
@@ -187,6 +188,7 @@ files:
187
188
  - lib/simp/rake/beaker.rb
188
189
  - simp-beaker-helpers.gemspec
189
190
  - spec/acceptance/nodesets/default.yml
191
+ - spec/acceptance/nodesets/ubuntu.yml
190
192
  - spec/acceptance/suites/default/check_puppet_version_spec.rb
191
193
  - spec/acceptance/suites/default/enable_fips_spec.rb
192
194
  - spec/acceptance/suites/default/fixture_modules_spec.rb
@@ -219,7 +221,7 @@ licenses:
219
221
  - Apache-2.0
220
222
  metadata:
221
223
  issue_tracker: https://simp-project.atlassian.net
222
- post_install_message:
224
+ post_install_message:
223
225
  rdoc_options: []
224
226
  require_paths:
225
227
  - lib
@@ -234,8 +236,37 @@ required_rubygems_version: !ruby/object:Gem::Requirement
234
236
  - !ruby/object:Gem::Version
235
237
  version: '0'
236
238
  requirements: []
237
- rubygems_version: 3.0.8
238
- signing_key:
239
+ rubygems_version: 3.0.9
240
+ signing_key:
239
241
  specification_version: 4
240
242
  summary: beaker helper methods for SIMP
241
- test_files: []
243
+ test_files:
244
+ - spec/acceptance/nodesets/default.yml
245
+ - spec/acceptance/nodesets/ubuntu.yml
246
+ - spec/acceptance/suites/default/check_puppet_version_spec.rb
247
+ - spec/acceptance/suites/default/enable_fips_spec.rb
248
+ - spec/acceptance/suites/default/fixture_modules_spec.rb
249
+ - spec/acceptance/suites/default/install_simp_deps_repo_spec.rb
250
+ - spec/acceptance/suites/default/nodesets
251
+ - spec/acceptance/suites/default/pki_tests_spec.rb
252
+ - spec/acceptance/suites/default/set_hieradata_on_spec.rb
253
+ - spec/acceptance/suites/default/write_hieradata_to_spec.rb
254
+ - spec/acceptance/suites/fips_from_fixtures/00_default_spec.rb
255
+ - spec/acceptance/suites/fips_from_fixtures/metadata.yml
256
+ - spec/acceptance/suites/fips_from_fixtures/nodesets
257
+ - spec/acceptance/suites/offline/00_default_spec.rb
258
+ - spec/acceptance/suites/offline/README
259
+ - spec/acceptance/suites/offline/nodesets/default.yml
260
+ - spec/acceptance/suites/puppet_collections/00_default_spec.rb
261
+ - spec/acceptance/suites/puppet_collections/metadata.yml
262
+ - spec/acceptance/suites/snapshot/00_snapshot_test_spec.rb
263
+ - spec/acceptance/suites/snapshot/10_general_usage_spec.rb
264
+ - spec/acceptance/suites/snapshot/nodesets
265
+ - spec/acceptance/suites/windows/00_default_spec.rb
266
+ - spec/acceptance/suites/windows/metadata.yml
267
+ - spec/acceptance/suites/windows/nodesets/default.yml
268
+ - spec/acceptance/suites/windows/nodesets/win2016.yml
269
+ - spec/acceptance/suites/windows/nodesets/win2019.yml
270
+ - spec/lib/simp/beaker_helpers_spec.rb
271
+ - spec/spec_helper.rb
272
+ - spec/spec_helper_acceptance.rb