Skip to content

Commit c7dcd44

Browse files
ValantinRoberto Valentini
authored andcommitted
Add acceptance for zabbix::proxy class
Set vagrant_libvirt as beaker hypervisor
1 parent 68b391e commit c7dcd44

File tree

4 files changed

+67
-4
lines changed

4 files changed

+67
-4
lines changed

.github/workflows/ci.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,4 @@ jobs:
2222
with:
2323
pidfile_workaround: 'false'
2424
beaker_facter: 'zabbix_version:Zabbix:5.0,6.0'
25+
beaker_hypervisor: 'vagrant_libvirt'

spec/acceptance/proxy_spec.rb

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# frozen_string_literal: true
2+
3+
require 'spec_helper_acceptance'
4+
describe 'zabbix::proxy class', unless: default[:platform] =~ %r{archlinux} do
5+
before(:all) do
6+
prepare_host
7+
end
8+
9+
context 'default parameters' do
10+
it_behaves_like 'an idempotent resource' do
11+
let(:manifest) do
12+
<<-PUPPET
13+
class { 'zabbix::proxy':
14+
zabbix_server_host => '192.168.1.1',
15+
}
16+
PUPPET
17+
end
18+
end
19+
20+
# do some basic checks
21+
describe package('zabbix-proxy-pgsql') do
22+
it { is_expected.to be_installed }
23+
end
24+
25+
describe service('zabbix-proxy') do
26+
it { is_expected.to be_running }
27+
it { is_expected.to be_enabled }
28+
end
29+
end
30+
31+
supported_proxy_versions(default[:platform]).each do |zabbix_version|
32+
context "deploys a zabbix #{zabbix_version} proxy" do
33+
it_behaves_like 'an idempotent resource' do
34+
let(:manifest) do
35+
<<-PUPPET
36+
class { 'zabbix::proxy':
37+
zabbix_server_host => '192.168.1.1',
38+
zabbix_version => "#{zabbix_version}",
39+
}
40+
PUPPET
41+
end
42+
end
43+
44+
# do some basic checks
45+
describe package('zabbix-proxy-pgsql') do
46+
it { is_expected.to be_installed }
47+
end
48+
49+
describe service('zabbix-proxy') do
50+
it { is_expected.to be_running }
51+
it { is_expected.to be_enabled }
52+
end
53+
end
54+
end
55+
end

spec/support/acceptance/prepare_host.rb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,17 @@ def prepare_host
55

66
apply_manifest <<~PUPPET
77
$services = $facts['os']['family'] ? {
8-
'RedHat' => ['zabbix-server', 'httpd', 'zabbix-agentd', 'zabbix-agent', 'zabbix-agent2'],
9-
'Debian' => ['zabbix-server', 'apache2', 'zabbix-agentd', 'zabbix-agent', 'zabbix-agent2'],
8+
'RedHat' => ['zabbix-server', 'httpd', 'zabbix-agentd', 'zabbix-agent', 'zabbix-agent2', 'zabbix-proxy'],
9+
'Debian' => ['zabbix-server', 'apache2', 'zabbix-agentd', 'zabbix-agent', 'zabbix-agent2', 'zabbix-proxy'],
1010
default => ['zabbix-agentd', 'zabbix-agent', 'zabbix-agent2'],
1111
}
1212
service { $services:
1313
ensure => stopped
1414
}
1515
1616
$packages = $facts['os']['family'] ? {
17-
'RedHat' => ['zabbix-server-pgsql', 'zabbix-server-pgsql-scl', 'zabbix-web', 'zabbix-web-pgsql', 'zabbix-web-pgsql-scl', 'zabbix-frontend-php', 'zabbix-sql-scripts', 'zabbix-agent', 'zabbix-agent2'],
18-
'Debian' => ['zabbix-server-pgsql', 'zabbix-web-pgsql', 'zabbix-frontend-php', 'zabbix-sql-scripts', 'zabbix-agent', 'zabbix-agent2'],
17+
'RedHat' => ['zabbix-server-pgsql', 'zabbix-server-pgsql-scl', 'zabbix-web', 'zabbix-web-pgsql', 'zabbix-web-pgsql-scl', 'zabbix-frontend-php', 'zabbix-sql-scripts', 'zabbix-agent', 'zabbix-agent2', 'zabbix-proxy-pgsql'],
18+
'Debian' => ['zabbix-server-pgsql', 'zabbix-web-pgsql', 'zabbix-frontend-php', 'zabbix-sql-scripts', 'zabbix-agent', 'zabbix-agent2', 'zabbix-proxy-pgsql'],
1919
default => ['zabbix-agent', 'zabbix-agent2'],
2020
}
2121

spec/support/acceptance/supported_versions.rb

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,10 @@ def supported_server_versions(platform)
2323
(version < '6.0' && platform.start_with?('el-9', 'ubuntu-22', 'debian-12'))
2424
end
2525
end
26+
27+
def supported_proxy_versions(platform)
28+
supported_versions.reject do |version|
29+
platform.start_with?('archlinux', 'el7', 'el8') ||
30+
(version < '6.0' && platform.start_with?('el-9', 'debian-12'))
31+
end
32+
end

0 commit comments

Comments
 (0)