Skip to content

Commit 3ed0e75

Browse files
committed
(spec) add class tests
1 parent b71ee62 commit 3ed0e75

File tree

2 files changed

+107
-0
lines changed

2 files changed

+107
-0
lines changed

spec/classes/core/openvpn_spec.rb

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
# frozen_string_literal: true
2+
3+
require 'spec_helper'
4+
5+
describe 'profile::core::openvpn' do
6+
on_supported_os.each do |os, os_facts|
7+
next unless os =~ %r{almalinux-9-x86_64}
8+
9+
context "on #{os}" do
10+
let(:facts) { os_facts }
11+
12+
context 'with default parameters' do
13+
let(:params) do
14+
{
15+
version: '2.14.2_40b190d8',
16+
cluster: 'vpn.%{::site}.lsst.org',
17+
}
18+
end
19+
20+
it { is_expected.to compile.with_all_deps }
21+
22+
it { is_expected.to contain_class('profile::core::letsencrypt') }
23+
24+
it do
25+
is_expected.to contain_package('openvpn-as').with(
26+
ensure: '2.14.2_40b190d8',
27+
require: 'Yumrepo[as-repo-rhel9]'
28+
)
29+
end
30+
31+
it do
32+
is_expected.to contain_letsencrypt__certonly('vpn.%{::site}.lsst.org').with(
33+
plugin: 'dns-route53',
34+
manage_cron: true
35+
)
36+
end
37+
38+
it do
39+
is_expected.to contain_yumrepo('as-repo-rhel9').with(
40+
ensure: 'present',
41+
name: 'openvpn-access-server',
42+
descr: 'OpenVPN Access Server',
43+
baseurl: 'http://as-repository.openvpn.net/as/yum/rhel9/',
44+
gpgkey: 'https://as-repository.openvpn.net/as-repo-public.gpg',
45+
gpgcheck: '1',
46+
enabled: '1'
47+
)
48+
end
49+
50+
it do
51+
is_expected.to contain_file('/usr/local/openvpn_as/etc/web-ssl/server.crt').with(
52+
ensure: 'link'
53+
)
54+
end
55+
56+
it do
57+
is_expected.to contain_file('/usr/local/openvpn_as/etc/web-ssl/server.key').with(
58+
ensure: 'link'
59+
)
60+
end
61+
62+
it do
63+
is_expected.to contain_file('/usr/local/openvpn_as/etc/web-ssl/ca.crt').with(
64+
ensure: 'link'
65+
)
66+
end
67+
68+
it do
69+
is_expected.to contain_service('openvpnas').with(
70+
ensure: 'running',
71+
enable: true,
72+
require: 'Package[openvpn-as]'
73+
)
74+
end
75+
end
76+
end
77+
end
78+
end

spec/hosts/roles/openvpn_spec.rb

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# frozen_string_literal: true
2+
3+
require 'spec_helper'
4+
5+
role = 'openvpn'
6+
7+
describe "#{role} role" do
8+
on_supported_os.each do |os, os_facts|
9+
next unless os =~ %r{almalinux-9-x86_64}
10+
11+
context "on #{os}" do
12+
lsst_sites.each do |site|
13+
describe "#{role}.#{site}.lsst.org", :sitepp do
14+
let(:node_params) do
15+
{
16+
role:,
17+
site:,
18+
}
19+
end
20+
let(:facts) { lsst_override_facts(os_facts) }
21+
22+
it { is_expected.to compile.with_all_deps }
23+
24+
include_examples('common', os_facts:, site:)
25+
end # host
26+
end # lsst_sites
27+
end # on os
28+
end # on_supported_os
29+
end # role

0 commit comments

Comments
 (0)