Skip to content

Commit 9d9f4d6

Browse files
test: run config and versionlock on every supported OS
1 parent 1b5cb9e commit 9d9f4d6

File tree

2 files changed

+243
-235
lines changed

2 files changed

+243
-235
lines changed

spec/defines/config_spec.rb

Lines changed: 91 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -3,98 +3,106 @@
33
require 'spec_helper'
44

55
describe 'yum::config' do
6-
context 'with no parameters' do
7-
let(:title) { 'assumeyes' }
6+
on_supported_os.each do |os, os_facts|
7+
context "on #{os}" do
8+
let(:facts) { os_facts }
89

9-
it { is_expected.to compile.and_raise_error(%r{expects a value for parameter 'ensure'}) }
10-
end
10+
context 'with no parameters' do
11+
let(:title) { 'assumeyes' }
1112

12-
%w[dnf yum].each do |pkgmgr|
13-
context "when package_provider fact is #{pkgmgr}" do
14-
let(:facts) { { package_provider: pkgmgr } }
13+
it { is_expected.to compile.and_raise_error(%r{expects a value for parameter 'ensure'}) }
14+
end
1515

16-
context 'when ensure is a Boolean' do
17-
let(:title) { 'assumeyes' }
18-
let(:params) { { ensure: true } }
19-
20-
it { is_expected.to compile.with_all_deps }
21-
22-
it 'contains an Augeas resource with the correct changes' do
23-
case pkgmgr
24-
when 'yum'
25-
is_expected.to contain_augeas("yum.conf_#{title}").with(
26-
incl: '/etc/yum.conf',
27-
context: '/files/etc/yum.conf/main/',
28-
changes: "set assumeyes '1'"
29-
)
30-
else
31-
is_expected.to contain_augeas("dnf.conf_#{title}").with(
32-
incl: '/etc/dnf/dnf.conf',
33-
context: '/files/etc/dnf/dnf.conf/main/',
34-
changes: "set assumeyes '1'"
35-
)
16+
%w[dnf yum].each do |pkgmgr|
17+
context "when package_provider fact is #{pkgmgr}" do
18+
let(:facts) do
19+
super().merge({ package_provider: pkgmgr })
3620
end
37-
end
38-
end
3921

40-
context 'ensure is an Integer' do
41-
let(:title) { 'assumeyes' }
42-
let(:params) { { ensure: 0 } }
43-
44-
it { is_expected.to compile.with_all_deps }
45-
46-
it 'contains an Augeas resource with the correct changes' do
47-
case pkgmgr
48-
when 'yum'
49-
is_expected.to contain_augeas("yum.conf_#{title}").with(
50-
changes: "set assumeyes '0'"
51-
)
52-
else
53-
is_expected.to contain_augeas("dnf.conf_#{title}").with(
54-
changes: "set assumeyes '0'"
55-
)
22+
context 'when ensure is a Boolean' do
23+
let(:title) { 'assumeyes' }
24+
let(:params) { { ensure: true } }
25+
26+
it { is_expected.to compile.with_all_deps }
27+
28+
it 'contains an Augeas resource with the correct changes' do
29+
case pkgmgr
30+
when 'yum'
31+
is_expected.to contain_augeas("yum.conf_#{title}").with(
32+
incl: '/etc/yum.conf',
33+
context: '/files/etc/yum.conf/main/',
34+
changes: "set assumeyes '1'"
35+
)
36+
else
37+
is_expected.to contain_augeas("dnf.conf_#{title}").with(
38+
incl: '/etc/dnf/dnf.conf',
39+
context: '/files/etc/dnf/dnf.conf/main/',
40+
changes: "set assumeyes '1'"
41+
)
42+
end
43+
end
5644
end
57-
end
58-
end
5945

60-
context 'ensure is a comma separated String' do
61-
let(:title) { 'assumeyes' }
62-
let(:params) { { ensure: '1, 2' } }
63-
64-
it { is_expected.to compile.with_all_deps }
65-
66-
it 'contains an Augeas resource with the correct changes' do
67-
case pkgmgr
68-
when 'yum'
69-
is_expected.to contain_augeas("yum.conf_#{title}").with(
70-
changes: "set assumeyes '1, 2'"
71-
)
72-
else
73-
is_expected.to contain_augeas("dnf.conf_#{title}").with(
74-
changes: "set assumeyes '1, 2'"
75-
)
46+
context 'ensure is an Integer' do
47+
let(:title) { 'assumeyes' }
48+
let(:params) { { ensure: 0 } }
49+
50+
it { is_expected.to compile.with_all_deps }
51+
52+
it 'contains an Augeas resource with the correct changes' do
53+
case pkgmgr
54+
when 'yum'
55+
is_expected.to contain_augeas("yum.conf_#{title}").with(
56+
changes: "set assumeyes '0'"
57+
)
58+
else
59+
is_expected.to contain_augeas("dnf.conf_#{title}").with(
60+
changes: "set assumeyes '0'"
61+
)
62+
end
63+
end
7664
end
77-
end
78-
end
7965

80-
context 'when ensure is a Sensitive[String]' do
81-
let(:title) { 'assumeyes' }
82-
let(:params) { { ensure: sensitive('secret') } }
83-
84-
it { is_expected.to compile.with_all_deps }
85-
86-
it 'contains an Augeas resource with the correct changes' do
87-
case pkgmgr
88-
when 'yum'
89-
is_expected.to contain_augeas("yum.conf_#{title}").with(
90-
changes: "set assumeyes 'secret'",
91-
show_diff: false
92-
)
93-
else
94-
is_expected.to contain_augeas("dnf.conf_#{title}").with(
95-
changes: "set assumeyes 'secret'",
96-
show_diff: false
97-
)
66+
context 'ensure is a comma separated String' do
67+
let(:title) { 'assumeyes' }
68+
let(:params) { { ensure: '1, 2' } }
69+
70+
it { is_expected.to compile.with_all_deps }
71+
72+
it 'contains an Augeas resource with the correct changes' do
73+
case pkgmgr
74+
when 'yum'
75+
is_expected.to contain_augeas("yum.conf_#{title}").with(
76+
changes: "set assumeyes '1, 2'"
77+
)
78+
else
79+
is_expected.to contain_augeas("dnf.conf_#{title}").with(
80+
changes: "set assumeyes '1, 2'"
81+
)
82+
end
83+
end
84+
end
85+
86+
context 'when ensure is a Sensitive[String]' do
87+
let(:title) { 'assumeyes' }
88+
let(:params) { { ensure: sensitive('secret') } }
89+
90+
it { is_expected.to compile.with_all_deps }
91+
92+
it 'contains an Augeas resource with the correct changes' do
93+
case pkgmgr
94+
when 'yum'
95+
is_expected.to contain_augeas("yum.conf_#{title}").with(
96+
changes: "set assumeyes 'secret'",
97+
show_diff: false
98+
)
99+
else
100+
is_expected.to contain_augeas("dnf.conf_#{title}").with(
101+
changes: "set assumeyes 'secret'",
102+
show_diff: false
103+
)
104+
end
105+
end
98106
end
99107
end
100108
end

0 commit comments

Comments
 (0)