Skip to content

Commit

Permalink
Switch to voxpupuli-acceptance-1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
ekohl committed May 23, 2021
1 parent d741efe commit 33cbbcd
Show file tree
Hide file tree
Showing 8 changed files with 65 additions and 124 deletions.
2 changes: 1 addition & 1 deletion Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ gem 'voxpupuli-test', '~> 1.4'
gem 'github_changelog_generator', '>= 1.15.0', {"groups"=>["development"]}
gem 'puppet_metadata', '~> 0.3'
gem 'puppet-blacksmith', '>= 6.0.0', {"groups"=>["development"]}
gem 'voxpupuli-acceptance', '~> 0.3', {"groups"=>["system_tests"]}
gem 'voxpupuli-acceptance', '~> 1.0', {"groups"=>["system_tests"]}
gem 'hocon'

# vim:ft=ruby
8 changes: 8 additions & 0 deletions spec/acceptance/hieradata/common.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
puppet::server_foreman: false
puppet::server_reports: 'store'
puppet::server_external_nodes: ''
# only for install test - don't think to use this in production!
# https://docs.puppet.com/puppetserver/latest/tuning_guide.html
puppet::server_jvm_max_heap_size: '256m'
puppet::server_jvm_min_heap_size: '256m'
6 changes: 3 additions & 3 deletions spec/acceptance/puppet_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
on default, puppet('resource', 'service', 'puppet', 'ensure=stopped', 'enable=false')
end

let(:pp) { 'include puppet' }

it_behaves_like 'a idempotent resource'
it_behaves_like 'an idempotent resource' do
let(:manifest) { 'include puppet' }
end

describe service('puppet') do
it { is_expected.to be_running }
Expand Down
25 changes: 9 additions & 16 deletions spec/acceptance/puppetserver_config_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -14,24 +14,17 @@
end

describe 'server_max_open_files' do
let(:pp) do
<<-MANIFEST
class { '::puppet':
server => true,
server_foreman => false,
server_reports => 'store',
server_external_nodes => '',
# only for install test - don't think to use this in production!
# https://docs.puppet.com/puppetserver/latest/tuning_guide.html
server_jvm_max_heap_size => '256m',
server_jvm_min_heap_size => '256m',
server_max_open_files => 32143,
}
MANIFEST
it_behaves_like 'an idempotent resource' do
let(:manifest) do
<<-MANIFEST
class { 'puppet':
server => true,
server_max_open_files => 32143,
}
MANIFEST
end
end

it_behaves_like 'a idempotent resource'

# pgrep -f java.*puppetserver would be better. But i cannot get it to work. Shellwords.escape() seems to break something
describe command("grep '^Max open files' /proc/`cat /var/run/puppetlabs/puppetserver/puppetserver.pid`/limits"), :sudo => true do
its(:exit_status) { is_expected.to eq 0 }
Expand Down
23 changes: 8 additions & 15 deletions spec/acceptance/puppetserver_latest_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -13,20 +13,13 @@
raise 'At least 2048MB free memory required' if memoryfree_mb < 256
end

let(:pp) do
<<-EOS
class { '::puppet':
server => true,
server_foreman => false,
server_reports => 'store',
server_external_nodes => '',
# only for install test - don't think to use this in production!
# https://docs.puppet.com/puppetserver/latest/tuning_guide.html
server_jvm_max_heap_size => '256m',
server_jvm_min_heap_size => '256m',
}
EOS
it_behaves_like 'an idempotent resource' do
let(:manifest) do
<<-EOS
class { 'puppet':
server => true,
}
EOS
end
end

it_behaves_like 'a idempotent resource'
end
50 changes: 18 additions & 32 deletions spec/acceptance/puppetserver_upgrade_5_3_6_to_5_3_7_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -23,24 +23,17 @@
end

context 'install 5.3.6' do
let(:pp) do
<<-EOS
class { '::puppet':
server => true,
server_foreman => false,
server_reports => 'store',
server_external_nodes => '',
server_version => '#{from_version}',
# only for install test - don't think to use this in production!
# https://docs.puppet.com/puppetserver/latest/tuning_guide.html
server_jvm_max_heap_size => '256m',
server_jvm_min_heap_size => '256m',
}
EOS
it_behaves_like 'an idempotent resource' do
let(:manifest) do
<<-EOS
class { 'puppet':
server => true,
server_version => '#{from_version}',
}
EOS
end
end

it_behaves_like 'a idempotent resource'

describe command('puppetserver --version') do
its(:stdout) { is_expected.to match("puppetserver version: 5.3.6\n") }
end
Expand All @@ -56,24 +49,17 @@ class { '::puppet':
end

context 'upgrade to 5.3.7' do
let(:pp) do
<<-EOS
class { '::puppet':
server => true,
server_foreman => false,
server_reports => 'store',
server_external_nodes => '',
server_version => '#{to_version}',
# only for install test - don't think to use this in production!
# https://docs.puppet.com/puppetserver/latest/tuning_guide.html
server_jvm_max_heap_size => '256m',
server_jvm_min_heap_size => '256m',
}
EOS
it_behaves_like 'an idempotent resource' do
let(:manifest) do
<<-EOS
class { 'puppet':
server => true,
server_version => '#{to_version}',
}
EOS
end
end

it_behaves_like 'a idempotent resource'

describe command('puppetserver --version') do
its(:stdout) { is_expected.to match("puppetserver version: 5.3.7\n") }
end
Expand Down
50 changes: 18 additions & 32 deletions spec/acceptance/puppetserver_upgrade_6_7_0_to_6_7_2_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -23,24 +23,17 @@
end

context 'install 6.7.0' do
let(:pp) do
<<-EOS
class { '::puppet':
server => true,
server_foreman => false,
server_reports => 'store',
server_external_nodes => '',
server_version => '#{from_version}',
# only for install test - don't think to use this in production!
# https://docs.puppet.com/puppetserver/latest/tuning_guide.html
server_jvm_max_heap_size => '256m',
server_jvm_min_heap_size => '256m',
}
EOS
it_behaves_like 'an idempotent resource' do
let(:manifest) do
<<-EOS
class { 'puppet':
server => true,
server_version => '#{from_version}',
}
EOS
end
end

it_behaves_like 'a idempotent resource'

describe command('puppetserver --version') do
its(:stdout) { is_expected.to match("puppetserver version: 6.7.0\n") }
end
Expand All @@ -56,24 +49,17 @@ class { '::puppet':
end

context 'upgrade to 6.7.2' do
let(:pp) do
<<-EOS
class { '::puppet':
server => true,
server_foreman => false,
server_reports => 'store',
server_external_nodes => '',
server_version => '#{to_version}',
# only for install test - don't think to use this in production!
# https://docs.puppet.com/puppetserver/latest/tuning_guide.html
server_jvm_max_heap_size => '256m',
server_jvm_min_heap_size => '256m',
}
EOS
it_behaves_like 'an idempotent resource' do
let(:manifest) do
<<-EOS
class { 'puppet':
server => true,
server_version => '#{to_version}',
}
EOS
end
end

it_behaves_like 'a idempotent resource'

describe command('puppetserver --version') do
its(:stdout) { is_expected.to match("puppetserver version: 6.7.2\n") }
end
Expand Down
25 changes: 0 additions & 25 deletions spec/spec_helper_acceptance.rb
Original file line number Diff line number Diff line change
Expand Up @@ -12,31 +12,6 @@
# refresh check if cache needs refresh on next yum command
on host, 'yum clean expire-cache'
end

local_setup = File.join(__dir__, 'setup_acceptance_node.pp')
if File.exist?(local_setup)
puts "Configuring #{host} by applying #{local_setup}"
apply_manifest_on(host, File.read(local_setup), catch_failures: true)
end
end

shared_examples 'a idempotent resource' do
it 'applies with no errors' do
apply_manifest(pp, catch_failures: true)
end

it 'applies a second time without changes' do
apply_manifest(pp, catch_changes: true)
end
end

shared_examples 'the example' do |name|
let(:pp) do
path = File.join(File.dirname(__dir__), 'examples', name)
File.read(path)
end

include_examples 'a idempotent resource'
end

Dir["./spec/support/acceptance/**/*.rb"].sort.each { |f| require f }

0 comments on commit 33cbbcd

Please sign in to comment.