Skip to content

Commit 26dc6ff

Browse files
authored
Merge pull request #1040 from willmeek/task_test_cleanup
[FM-6584] Task test cleanup
2 parents 07d120c + 7eda619 commit 26dc6ff

File tree

4 files changed

+8
-52
lines changed

4 files changed

+8
-52
lines changed

Gemfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ group :system_tests do
6060
gem "beaker-hostgenerator", *location_for(ENV['BEAKER_HOSTGENERATOR_VERSION'])
6161
gem "beaker-abs", *location_for(ENV['BEAKER_ABS_VERSION'] || '~> 0.1')
6262
gem "puppet-blacksmith", '~> 3.4', :require => false
63+
gem "beaker-task_helper"
6364
end
6465

6566
gem 'puppet', *location_for(ENV['PUPPET_GEM_VERSION'])

spec/acceptance/mysql_backup_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ class { 'mysql::server::backup':
4848
end
4949

5050
it 'dumps all databases to single file #stdout' do
51-
if version_is_greater_than('5.7.0')
51+
unless version_is_greater_than('5.7.0')
5252
shell('ls -l /tmp/backups/mysql_backup_*-*.sql.bz2 | wc -l') do |r|
5353
expect(r.stdout).to match(%r{1})
5454
end

spec/acceptance/sql_task_spec.rb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# run a test task
22
require 'spec_helper_acceptance'
33

4-
describe 'mysql tasks' do
5-
describe 'execute some sql', if: pe_install? && puppet_version =~ %r{(5\.\d\.\d)} do
4+
describe 'mysql tasks', if: puppet_version =~ %r{(5\.\d\.\d)} && fact('operatingsystem') != 'SLES' do
5+
describe 'execute some sql' do
66
pp = <<-MANIFEST
77
class { 'mysql::server': root_password => 'password' }
88
mysql::db { 'spec1':
@@ -12,12 +12,12 @@ class { 'mysql::server': root_password => 'password' }
1212
MANIFEST
1313

1414
it 'sets up a mysql instance' do
15-
apply_manifest(pp, catch_failures: true)
15+
apply_manifest_on(hosts, pp, catch_failures: true)
1616
end
1717

1818
it 'execute arbitary sql' do
1919
result = run_task(task_name: 'mysql::sql', params: 'sql="show databases;" password=password')
20-
expect_multiple_regexes(result: result, regexes: [%r{information_schema}, %r{performance_schema}, %r{Job completed. 1/1 nodes succeeded}])
20+
expect_multiple_regexes(result: result, regexes: [%r{information_schema}, %r{#{task_summary_line}}])
2121
end
2222
end
2323
end

spec/spec_helper_acceptance.rb

Lines changed: 2 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -3,59 +3,14 @@
33
require 'beaker/puppet_install_helper'
44
require 'beaker/module_install_helper'
55
require 'beaker/i18n_helper'
6-
7-
def install_bolt_on(hosts)
8-
on(hosts, "/opt/puppetlabs/puppet/bin/gem install --source http://rubygems.delivery.puppetlabs.net bolt -v '> 0.0.1'", acceptable_exit_codes: [0, 1]).stdout
9-
end
10-
11-
def pe_install?
12-
ENV['PUPPET_INSTALL_TYPE'] =~ %r{pe}i
13-
end
6+
require 'beaker/task_helper'
147

158
run_puppet_install_helper
16-
install_ca_certs unless ENV['PUPPET_INSTALL_TYPE'] =~ %r{pe}i
9+
install_ca_certs unless pe_install?
1710
install_bolt_on(hosts) unless pe_install?
1811
install_module_on(hosts)
1912
install_module_dependencies_on(hosts)
2013

21-
UNSUPPORTED_PLATFORMS = %w[Windows Solaris AIX].freeze
22-
23-
def puppet_version
24-
(on default, puppet('--version')).output.chomp
25-
end
26-
27-
DEFAULT_PASSWORD = if default[:hypervisor] == 'vagrant'
28-
'vagrant'
29-
elsif default[:hypervisor] == 'vcloud'
30-
'Qu@lity!'
31-
end
32-
33-
def run_puppet_access_login(user:, password: '~!@#$%^*-/ aZ', lifetime: '5y')
34-
on(master, puppet('access', 'login', '--username', user, '--lifetime', lifetime), stdin: password)
35-
end
36-
37-
def run_task(task_name:, params: nil, password: DEFAULT_PASSWORD)
38-
if pe_install?
39-
run_puppet_task(task_name: task_name, params: params)
40-
else
41-
run_bolt_task(task_name: task_name, params: params, password: password)
42-
end
43-
end
44-
45-
def run_bolt_task(task_name:, params: nil, password: DEFAULT_PASSWORD)
46-
on(master, "/opt/puppetlabs/puppet/bin/bolt task run #{task_name} --modulepath /etc/puppetlabs/code/modules/service --nodes localhost --password #{password} #{params}", acceptable_exit_codes: [0, 1]).stdout # rubocop:disable Metrics/LineLength
47-
end
48-
49-
def run_puppet_task(task_name:, params: nil)
50-
on(master, puppet('task', 'run', task_name, '--nodes', fact_on(master, 'fqdn'), params.to_s), acceptable_exit_codes: [0, 1]).stdout
51-
end
52-
53-
def expect_multiple_regexes(result:, regexes:)
54-
regexes.each do |regex|
55-
expect(result).to match(regex)
56-
end
57-
end
58-
5914
RSpec.configure do |c|
6015
# Readable test descriptions
6116
c.formatter = :documentation

0 commit comments

Comments
 (0)