Skip to content

Commit bcfc474

Browse files
author
Roberto Valentini
committed
Fix Test
initial refactoring of acceptance fix test failing on puppet 8 remove unused erlang module from fixture bump dependency version part of modulesync updated
1 parent c4785ff commit bcfc474

29 files changed

+141
-314
lines changed

.fixtures.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,5 @@ fixtures:
33
stdlib: 'https://github.com/puppetlabs/puppetlabs-stdlib'
44
apt: 'https://github.com/puppetlabs/puppetlabs-apt'
55
archive: 'https://github.com/voxpupuli/puppet-archive'
6-
erlang: 'https://github.com/garethr/garethr-erlang'
76
systemd: 'https://github.com/voxpupuli/puppet-systemd'
87
yumrepo_core: 'https://github.com/puppetlabs/puppetlabs-yumrepo_core'

.github/workflows/ci.yml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,12 @@
44

55
name: CI
66

7-
on: pull_request
7+
on:
8+
pull_request: {}
9+
push:
10+
branches:
11+
- main
12+
- master
813

914
concurrency:
1015
group: ${{ github.ref_name }}
@@ -13,6 +18,6 @@ concurrency:
1318
jobs:
1419
puppet:
1520
name: Puppet
16-
uses: voxpupuli/gha-puppet/.github/workflows/beaker.yml@v1
21+
uses: voxpupuli/gha-puppet/.github/workflows/beaker.yml@v2
1722
with:
1823
pidfile_workaround: 'false'

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ on:
1212
jobs:
1313
release:
1414
name: Release
15-
uses: voxpupuli/gha-puppet/.github/workflows/release.yml@v1
15+
uses: voxpupuli/gha-puppet/.github/workflows/release.yml@v2
1616
with:
1717
allowed_owner: 'voxpupuli'
1818
secrets:

Gemfile

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44
source ENV['GEM_SOURCE'] || 'https://rubygems.org'
55

66
group :test do
7-
gem 'voxpupuli-test', '~> 5.0', :require => false
7+
gem 'voxpupuli-test', '~> 7.0', :require => false
88
gem 'coveralls', :require => false
99
gem 'simplecov-console', :require => false
10-
gem 'puppet_metadata', '~> 1.0', :require => false
10+
gem 'puppet_metadata', '~> 3.5', :require => false
1111
end
1212

1313
group :development do
@@ -16,19 +16,17 @@ group :development do
1616
end
1717

1818
group :system_tests do
19-
gem 'voxpupuli-acceptance', '~> 1.0', :require => false
19+
gem 'voxpupuli-acceptance', '~> 3.0', :require => false
2020
end
2121

2222
group :release do
23-
gem 'github_changelog_generator', '>= 1.16.1', :require => false if RUBY_VERSION >= '2.5'
24-
gem 'voxpupuli-release', '>= 1.2.0', :require => false
25-
gem 'puppet-strings', '>= 2.2', :require => false
23+
gem 'voxpupuli-release', '>= 3.0', :require => false
2624
end
2725

2826
gem 'rake', :require => false
2927
gem 'facter', ENV['FACTER_GEM_VERSION'], :require => false, :groups => [:test]
3028

31-
puppetversion = ENV['PUPPET_GEM_VERSION'] || '>= 6.0'
29+
puppetversion = ENV['PUPPET_GEM_VERSION'] || '>= 7.24'
3230
gem 'puppet', puppetversion, :require => false, :groups => [:test]
3331

3432
# vim: syntax=ruby

Rakefile

Lines changed: 4 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@ end
2424
begin
2525
require 'voxpupuli/release/rake_tasks'
2626
rescue LoadError
27+
begin
28+
require 'puppetlabs_spec_helper/rake_tasks'
29+
rescue LoadError
30+
end
2731
end
2832

2933
desc "Run main 'test' task and report merged results to coveralls"
@@ -37,36 +41,4 @@ task test_with_coveralls: [:test] do
3741
end
3842
end
3943

40-
desc 'Generate REFERENCE.md'
41-
task :reference, [:debug, :backtrace] do |t, args|
42-
patterns = ''
43-
Rake::Task['strings:generate:reference'].invoke(patterns, args[:debug], args[:backtrace])
44-
end
45-
46-
begin
47-
require 'github_changelog_generator/task'
48-
require 'puppet_blacksmith'
49-
GitHubChangelogGenerator::RakeTask.new :changelog do |config|
50-
metadata = Blacksmith::Modulefile.new
51-
config.future_release = "v#{metadata.version}" if metadata.version =~ /^\d+\.\d+.\d+$/
52-
config.header = "# Changelog\n\nAll notable changes to this project will be documented in this file.\nEach new release typically also includes the latest modulesync defaults.\nThese should not affect the functionality of the module."
53-
config.exclude_labels = %w{duplicate question invalid wontfix wont-fix modulesync skip-changelog}
54-
config.user = 'voxpupuli'
55-
config.project = metadata.metadata['name']
56-
end
57-
58-
# Workaround for https://github.com/github-changelog-generator/github-changelog-generator/issues/715
59-
require 'rbconfig'
60-
if RbConfig::CONFIG['host_os'] =~ /linux/
61-
task :changelog do
62-
puts 'Fixing line endings...'
63-
changelog_file = File.join(__dir__, 'CHANGELOG.md')
64-
changelog_txt = File.read(changelog_file)
65-
new_contents = changelog_txt.gsub(%r{\r\n}, "\n")
66-
File.open(changelog_file, "w") {|file| file.puts new_contents }
67-
end
68-
end
69-
70-
rescue LoadError
71-
end
7244
# vim: syntax=ruby

lib/facter/rabbitmq_nodename.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
if Facter::Util::Resolution.which('rabbitmqctl')
66
rabbitmq_nodename = Facter::Core::Execution.execute('rabbitmqctl status 2>&1')
77
begin
8-
%r{^Status of node '?([\w.\-]+@[\w.\-]+)'?}.match(rabbitmq_nodename)[1]
8+
%r{^Status of node '?([\w.-]+@[\w.-]+)'?}.match(rabbitmq_nodename)[1]
99
rescue StandardError
1010
Facter.debug("Error: rabbitmq_nodename facter failed. Output was #{rabbitmq_nodename}")
1111
end

lib/puppet/type/rabbitmq_parameter.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,8 @@ def munge_value(value)
107107
return value if value(:autoconvert) == :false
108108

109109
value.each do |k, v|
110+
next if v.is_a?(Array)
111+
110112
value[k] = v.to_i if v =~ %r{\A[-+]?[0-9]+\z}
111113
end
112114
value

metadata.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,15 +58,15 @@
5858
"dependencies": [
5959
{
6060
"name": "puppetlabs/stdlib",
61-
"version_requirement": ">= 4.25.0 < 9.0.0"
61+
"version_requirement": ">= 4.25.0 < 10.0.0"
6262
},
6363
{
6464
"name": "puppet/archive",
65-
"version_requirement": ">= 2.0.0 < 7.0.0"
65+
"version_requirement": ">= 2.0.0 < 8.0.0"
6666
},
6767
{
6868
"name": "puppet/systemd",
69-
"version_requirement": ">= 2.10.0 < 5.0.0"
69+
"version_requirement": ">= 2.10.0 < 7.0.0"
7070
}
7171
],
7272
"tags": [

spec/acceptance/class_spec.rb

Lines changed: 63 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,14 @@
1313
end
1414

1515
context 'default class inclusion' do
16-
let(:pp) do
17-
<<-EOS
18-
class { 'rabbitmq': }
19-
if $facts['os']['family'] == 'RedHat' {
20-
class { 'erlang': epel_enable => true}
21-
Class['erlang'] -> Class['rabbitmq']
22-
}
23-
EOS
16+
it_behaves_like 'an idempotent resource' do
17+
let(:manifest) do
18+
<<-PUPPET
19+
class { 'rabbitmq': }
20+
PUPPET
21+
end
2422
end
2523

26-
it_behaves_like 'an idempotent resource'
27-
2824
describe package(package_name) do
2925
it { is_expected.to be_installed }
3026
end
@@ -49,20 +45,20 @@ class { 'erlang': epel_enable => true}
4945
end
5046

5147
context 'disable and stop service' do
52-
let(:pp) do
53-
<<-EOS
54-
class { 'rabbitmq':
55-
service_ensure => 'stopped',
56-
}
57-
if $facts['os']['family'] == 'RedHat' {
58-
class { 'erlang': epel_enable => true}
59-
Class['erlang'] -> Class['rabbitmq']
60-
}
61-
EOS
48+
it_behaves_like 'an idempotent resource' do
49+
let(:manifest) do
50+
<<-PUPPET
51+
class { 'rabbitmq':
52+
service_ensure => 'stopped',
53+
}
54+
if $facts['os']['family'] == 'RedHat' {
55+
class { 'erlang': epel_enable => true}
56+
Class['erlang'] -> Class['rabbitmq']
57+
}
58+
PUPPET
59+
end
6260
end
6361

64-
it_behaves_like 'an idempotent resource'
65-
6662
describe service(service_name) do
6763
it { is_expected.not_to be_enabled }
6864
it { is_expected.not_to be_running }
@@ -73,21 +69,13 @@ class { 'erlang': epel_enable => true}
7369
it 'runs successfully' do
7470
pp_pre = <<-EOS
7571
class { 'rabbitmq': }
76-
if $facts['os']['family'] == 'RedHat' {
77-
class { 'erlang': epel_enable => true}
78-
Class['erlang'] -> Class['rabbitmq']
79-
}
8072
EOS
8173

8274
pp = <<-EOS
8375
class { 'rabbitmq':
8476
service_manage => false,
8577
service_ensure => 'stopped',
8678
}
87-
if $facts['os']['family'] == 'RedHat' {
88-
class { 'erlang': epel_enable => true}
89-
Class['erlang'] -> Class['rabbitmq']
90-
}
9179
EOS
9280

9381
apply_manifest(pp_pre, catch_failures: true)
@@ -101,19 +89,19 @@ class { 'erlang': epel_enable => true}
10189
end
10290

10391
context 'binding on all interfaces' do
104-
let(:pp) do
105-
<<-EOS
106-
class { 'rabbitmq':
107-
service_manage => true,
108-
port => 5672,
109-
admin_enable => true,
110-
node_ip_address => '0.0.0.0'
111-
}
112-
EOS
92+
it_behaves_like 'an idempotent resource' do
93+
let(:manifest) do
94+
<<-PUPPET
95+
class { 'rabbitmq':
96+
service_manage => true,
97+
port => 5672,
98+
admin_enable => true,
99+
node_ip_address => '0.0.0.0'
100+
}
101+
PUPPET
102+
end
113103
end
114104

115-
it_behaves_like 'an idempotent resource'
116-
117105
describe service(service_name) do
118106
it { is_expected.to be_running }
119107
end
@@ -127,26 +115,26 @@ class { 'rabbitmq':
127115
end
128116

129117
describe port(25_672) do
130-
xit 'Is on 55672 instead on older rmq versions' do
118+
xit 'Is on 55672 instead on older rmq versions' do # rubocop:disable RSpec/PendingWithoutReason
131119
is_expected.to be_listening.on('0.0.0.0').with('tcp')
132120
end
133121
end
134122
end
135123

136124
context 'binding to localhost only' do
137-
let(:pp) do
138-
<<-EOS
139-
class { 'rabbitmq':
140-
service_manage => true,
141-
port => 5672,
142-
admin_enable => true,
143-
node_ip_address => '127.0.0.1'
144-
}
145-
EOS
125+
it_behaves_like 'an idempotent resource' do
126+
let(:manifest) do
127+
<<-PUPPET
128+
class { 'rabbitmq':
129+
service_manage => true,
130+
port => 5672,
131+
admin_enable => true,
132+
node_ip_address => '127.0.0.1'
133+
}
134+
PUPPET
135+
end
146136
end
147137

148-
it_behaves_like 'an idempotent resource'
149-
150138
describe service(service_name) do
151139
it { is_expected.to be_running }
152140
end
@@ -162,30 +150,30 @@ class { 'rabbitmq':
162150
# This listens on all interfaces regardless of these settings
163151

164152
describe port(25_672) do
165-
xit 'Is on 55672 instead on older rmq versions' do
153+
xit 'Is on 55672 instead on older rmq versions' do # rubocop:disable RSpec/PendingWithoutReason
166154
is_expected.to be_listening.on('0.0.0.0').with('tcp')
167155
end
168156
end
169157
end
170158

171159
context 'ssl enabled' do
172-
let(:pp) do
173-
<<-EOS
174-
class { 'rabbitmq':
175-
service_manage => true,
176-
admin_enable => true,
177-
node_ip_address => '0.0.0.0',
178-
ssl_interface => '0.0.0.0',
179-
ssl => true,
180-
ssl_cacert => '/tmp/cacert.crt',
181-
ssl_cert => '/tmp/rabbitmq.crt',
182-
ssl_key => '/tmp/rabbitmq.key',
183-
}
184-
EOS
160+
it_behaves_like 'an idempotent resource' do
161+
let(:manifest) do
162+
<<-PUPPET
163+
class { 'rabbitmq':
164+
service_manage => true,
165+
admin_enable => true,
166+
node_ip_address => '0.0.0.0',
167+
ssl_interface => '0.0.0.0',
168+
ssl => true,
169+
ssl_cacert => '/tmp/cacert.crt',
170+
ssl_cert => '/tmp/rabbitmq.crt',
171+
ssl_key => '/tmp/rabbitmq.key',
172+
}
173+
PUPPET
174+
end
185175
end
186176

187-
it_behaves_like 'an idempotent resource'
188-
189177
describe service(service_name) do
190178
it { is_expected.to be_running }
191179
end
@@ -200,20 +188,20 @@ class { 'rabbitmq':
200188
end
201189

202190
context 'different management_ip_address and node_ip_address' do
203-
let(:pp) do
204-
<<-EOS
191+
it_behaves_like 'an idempotent resource' do
192+
let(:manifest) do
193+
<<-PUPPET
205194
class { 'rabbitmq':
206195
service_manage => true,
207196
port => 5672,
208197
admin_enable => true,
209198
node_ip_address => '0.0.0.0',
210199
management_ip_address => '127.0.0.1'
211200
}
212-
EOS
201+
PUPPET
202+
end
213203
end
214204

215-
it_behaves_like 'an idempotent resource'
216-
217205
describe service(service_name) do
218206
it { is_expected.to be_running }
219207
end
@@ -227,7 +215,7 @@ class { 'rabbitmq':
227215
end
228216

229217
describe port(25_672) do
230-
xit 'Is on 55672 instead on older rmq versions' do
218+
xit 'Is on 55672 instead on older rmq versions' do # rubocop:disable RSpec/PendingWithoutReason
231219
is_expected.to be_listening.on('0.0.0.0').with('tcp')
232220
end
233221
end

0 commit comments

Comments
 (0)