Skip to content

Commit 4817d83

Browse files
committed
Remove OS fact differences in proxy_connect_spec
Using `it_behaves_like` creates a new scope and runs those tests in them. `a mod class, including apache` is a shared context and doesn't contain any tests. When using `include_examples`, you can actually inherit the context. It then goes a step further and reuses that context in every test. This works because the Apache version is a parameter so it doesn't matter. After that, nothing refers to the Debian 7 facts anymore and can be cleaned up.
1 parent 0b4c46a commit 4817d83

File tree

2 files changed

+22
-39
lines changed

2 files changed

+22
-39
lines changed

spec/classes/mod/proxy_connect_spec.rb

Lines changed: 22 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -9,37 +9,33 @@
99
]
1010
end
1111

12-
it_behaves_like 'a mod class, without including apache'
13-
context 'on a Debian OS' do
14-
context 'with Apache version < 2.2' do
15-
include_examples 'Debian 7'
16-
let :params do
17-
{
18-
apache_version: '2.1',
19-
}
20-
end
12+
include_examples 'a mod class, without including apache'
2113

22-
it { is_expected.not_to contain_apache__mod('proxy_connect') }
14+
context 'with Apache version < 2.2' do
15+
let :params do
16+
{
17+
apache_version: '2.1',
18+
}
2319
end
24-
context 'with Apache version = 2.2' do
25-
include_examples 'Debian 7'
26-
let :params do
27-
{
28-
apache_version: '2.2',
29-
}
30-
end
3120

32-
it { is_expected.to contain_apache__mod('proxy_connect') }
21+
it { is_expected.not_to contain_apache__mod('proxy_connect') }
22+
end
23+
context 'with Apache version = 2.2' do
24+
let :params do
25+
{
26+
apache_version: '2.2',
27+
}
3328
end
34-
context 'with Apache version >= 2.4' do
35-
include_examples 'Debian 8'
36-
let :params do
37-
{
38-
apache_version: '2.4',
39-
}
40-
end
4129

42-
it { is_expected.to contain_apache__mod('proxy_connect') }
30+
it { is_expected.to contain_apache__mod('proxy_connect') }
31+
end
32+
context 'with Apache version >= 2.4' do
33+
let :params do
34+
{
35+
apache_version: '2.4',
36+
}
4337
end
38+
39+
it { is_expected.to contain_apache__mod('proxy_connect') }
4440
end
4541
end

spec/spec_helper_local.rb

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -50,19 +50,6 @@
5050
end
5151
end
5252

53-
shared_context 'Debian 7' do
54-
let :facts do
55-
{
56-
id: 'root',
57-
kernel: 'Linux',
58-
osfamily: 'Debian',
59-
operatingsystem: 'Debian',
60-
operatingsystemrelease: '7.0.0',
61-
path: '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
62-
}
63-
end
64-
end
65-
6653
shared_context 'Debian 8' do
6754
let(:facts) { on_supported_os['debian-8-x86_64'] }
6855
end

0 commit comments

Comments
 (0)