|
8 | 8 | it_behaves_like 'an idempotent resource', 'master' do |
9 | 9 | let(:manifest) do |
10 | 10 | <<-PUPPET |
| 11 | + class { 'openvpn': |
| 12 | + package_name => 'openvpn', |
| 13 | + service_name => 'openvpn', |
| 14 | + } |
| 15 | +
|
11 | 16 | openvpn::server { 'test_openvpn_server': |
12 | 17 | country => 'CO', |
13 | 18 | province => 'ST', |
|
54 | 59 | it_behaves_like 'an idempotent resource', 'master' do |
55 | 60 | let(:manifest) do |
56 | 61 | <<-PUPPET |
57 | | - openvpn::server { 'test_openvpn_server': |
58 | | - country => 'CO', |
59 | | - province => 'ST', |
60 | | - city => 'A city', |
61 | | - organization => 'FOO', |
62 | | - |
63 | | - server => '10.0.0.0 255.255.255.0', |
64 | | - } |
65 | | - openvpn::client { ['vpnclienta','vpnclientb'] : |
66 | | - server => 'test_openvpn_server', |
67 | | - require => Openvpn::Server['test_openvpn_server'], |
68 | | - } |
| 62 | + class { 'openvpn': |
| 63 | + package_name => 'openvpn', |
| 64 | + service_name => 'openvpn', |
| 65 | + } |
| 66 | +
|
| 67 | + openvpn::server { 'test_openvpn_server': |
| 68 | + country => 'CO', |
| 69 | + province => 'ST', |
| 70 | + city => 'A city', |
| 71 | + organization => 'FOO', |
| 72 | + |
| 73 | + server => '10.0.0.0 255.255.255.0', |
| 74 | + } |
| 75 | +
|
| 76 | + openvpn::client { ['vpnclienta','vpnclientb']: |
| 77 | + server => 'test_openvpn_server', |
| 78 | + require => Openvpn::Server['test_openvpn_server'], |
| 79 | + } |
69 | 80 | PUPPET |
70 | 81 | end |
71 | 82 | end |
|
83 | 94 | end |
84 | 95 |
|
85 | 96 | describe 'openvpn::revoke', order: :defined do |
86 | | - it 'revoke a client certificate' do |
| 97 | + it 'revokes a client certificate' do |
87 | 98 | pp = <<-PUPPET |
88 | | - openvpn::server { 'test_openvpn_server': |
89 | | - country => 'CO', |
90 | | - province => 'ST', |
91 | | - city => 'A city', |
92 | | - organization => 'FOO', |
93 | | - |
94 | | - server => '10.0.0.0 255.255.255.0', |
95 | | - } |
96 | | - openvpn::client { ['vpnclienta','vpnclientb'] : |
97 | | - server => 'test_openvpn_server', |
98 | | - require => Openvpn::Server['test_openvpn_server'], |
99 | | - } |
100 | | - openvpn::revoke { 'vpnclientb': |
101 | | - server => 'test_openvpn_server', |
102 | | - } |
| 99 | + class { 'openvpn': |
| 100 | + package_name => 'openvpn', |
| 101 | + service_name => 'openvpn', |
| 102 | + } |
| 103 | +
|
| 104 | + openvpn::server { 'test_openvpn_server': |
| 105 | + country => 'CO', |
| 106 | + province => 'ST', |
| 107 | + city => 'A city', |
| 108 | + organization => 'FOO', |
| 109 | + |
| 110 | + server => '10.0.0.0 255.255.255.0', |
| 111 | + } |
| 112 | +
|
| 113 | + openvpn::client { ['vpnclienta','vpnclientb']: |
| 114 | + server => 'test_openvpn_server', |
| 115 | + require => Openvpn::Server['test_openvpn_server'], |
| 116 | + } |
| 117 | +
|
| 118 | + openvpn::revoke { 'vpnclientb': |
| 119 | + server => 'test_openvpn_server', |
| 120 | + require => Openvpn::Client['vpnclientb'], |
| 121 | + } |
103 | 122 | PUPPET |
104 | | - # Apply the manifest to revoke the client certificate |
105 | 123 | apply_manifest_on(hosts_as('master'), pp, catch_failures: true) |
106 | 124 | end |
107 | 125 |
|
108 | | - describe file('/etc/openvpn/server/test_openvpn_server/easy-rsa/revoked/vpnclientb') do |
| 126 | + # CRL file must exist and look valid |
| 127 | + describe file('/etc/openvpn/server/test_openvpn_server/crl.pem') do |
109 | 128 | it { is_expected.to be_file } |
| 129 | + its(:content) { is_expected.to match(%r{-----BEGIN X509 CRL-----}) } |
| 130 | + its(:content) { is_expected.to match(%r{-----END X509 CRL-----}) } |
110 | 131 | end |
111 | 132 | end |
112 | 133 |
|
|
0 commit comments