-
-
Notifications
You must be signed in to change notification settings - Fork 233
Expand file tree
/
Copy pathrepo_spec.rb
More file actions
130 lines (104 loc) · 5.42 KB
/
Copy pathrepo_spec.rb
File metadata and controls
130 lines (104 loc) · 5.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
# frozen_string_literal: true
require 'deep_merge'
require 'spec_helper'
describe 'zabbix::repo' do
on_supported_os.each do |os, facts|
context "on #{os}" do
let :facts do
facts
end
case facts[:os]['family']
when 'Archlinux', 'FreeBSD', 'Gentoo', 'AIX'
# rubocop:disable RSpec/RepeatedExample
it { is_expected.to compile.with_all_deps }
when 'Debian'
it { is_expected.to compile.with_all_deps }
it { is_expected.to contain_class('zabbix::params') }
it { is_expected.to contain_class('zabbix::repo') }
context 'when repo_location is "https://example.com/foo"' do
let :params do
{
repo_location: 'https://example.com/foo'
}
end
it { is_expected.to contain_apt__source('zabbix').with_location('https://example.com/foo') }
end
%w[arm64 aarch64].each do |arch|
context "on #{arch}" do
let :facts do
facts.deep_merge(os: { architecture: arch })
end
it { is_expected.to contain_apt__source('zabbix').with_location("http://repo.zabbix.com/zabbix/6.0/#{facts[:os]['name'].downcase}-arm64/") }
end
end
when 'RedHat'
it { is_expected.to compile.with_all_deps }
it { is_expected.to contain_class('zabbix::params') }
it { is_expected.to contain_class('zabbix::repo') }
# rubocop:enable RSpec/RepeatedExample
context 'when repo_location is "https://example.com/foo"' do
let :params do
{
repo_location: 'https://example.com/foo'
}
end
it { is_expected.to contain_yumrepo('zabbix').with_baseurl('https://example.com/foo') }
end
context 'when repo_gpg_key_location is "https://example.com/bar"' do
let :params do
{
repo_gpg_key_location: 'https://example.com/bar'
}
end
it { is_expected.to contain_yumrepo('zabbix').with_gpgkey('https://example.com/bar/RPM-GPG-KEY-ZABBIX-A14FE591') } if facts[:os]['release']['major'].to_i < 9
it { is_expected.to contain_yumrepo('zabbix').with_gpgkey('https://example.com/bar/RPM-GPG-KEY-ZABBIX-08EFA7DD') } if facts[:os]['release']['major'].to_i >= 9
end
context 'when unsupported_repo_location is "https://example.com/foo"' do
let :params do
{
unsupported_repo_location: 'https://example.com/foo'
}
end
it { is_expected.to contain_yumrepo('zabbix-nonsupported').with_baseurl('https://example.com/foo') }
end
context 'when unsupported_repo_gpg_key_location is "https://example.com/bar"' do
let :params do
{
unsupported_repo_gpg_key_location: 'https://example.com/bar'
}
end
it { is_expected.to contain_yumrepo('zabbix-nonsupported').with_gpgkey('https://example.com/bar/RPM-GPG-KEY-ZABBIX-79EA5ED4') } if facts[:os]['release']['major'].to_i < 9
it { is_expected.to contain_yumrepo('zabbix-nonsupported').with_gpgkey('https://example.com/bar/RPM-GPG-KEY-ZABBIX-08EFA7DD') } if facts[:os]['release']['major'].to_i >= 9
end
major = facts[:os]['release']['major']
context "on RedHat #{major} and Zabbix 6.0" do
let :params do
{
zabbix_version: '6.0',
manage_repo: true
}
end
it { is_expected.to contain_yumrepo('zabbix').with_baseurl("https://repo.zabbix.com/zabbix/6.0/rhel/#{major}/$basearch/") }
it { is_expected.to contain_yumrepo('zabbix').with_gpgkey('https://repo.zabbix.com/RPM-GPG-KEY-ZABBIX-A14FE591') } if facts[:os]['release']['major'].to_i < 9
it { is_expected.to contain_yumrepo('zabbix').with_gpgkey('https://repo.zabbix.com/RPM-GPG-KEY-ZABBIX-08EFA7DD') } if facts[:os]['release']['major'].to_i >= 9
it { is_expected.to contain_yumrepo('zabbix-nonsupported').with_baseurl("https://repo.zabbix.com/non-supported/rhel/#{major}/$basearch/") }
it { is_expected.to contain_yumrepo('zabbix-nonsupported').with_gpgkey('https://repo.zabbix.com/RPM-GPG-KEY-ZABBIX-79EA5ED4') } if facts[:os]['release']['major'].to_i < 9
it { is_expected.to contain_yumrepo('zabbix-nonsupported').with_gpgkey('https://repo.zabbix.com/RPM-GPG-KEY-ZABBIX-08EFA7DD') } if facts[:os]['release']['major'].to_i >= 9
end
context "on RedHat #{major} and Zabbix 7.0" do
let :params do
{
zabbix_version: '7.0',
manage_repo: true
}
end
it { is_expected.to contain_yumrepo('zabbix').with_baseurl("https://repo.zabbix.com/zabbix/7.0/rhel/#{major}/$basearch/") }
it { is_expected.to contain_yumrepo('zabbix').with_gpgkey('https://repo.zabbix.com/RPM-GPG-KEY-ZABBIX-B5333005') }
it { is_expected.to contain_yumrepo('zabbix-nonsupported').with_baseurl("https://repo.zabbix.com/non-supported/rhel/#{major}/$basearch/") }
it { is_expected.to contain_yumrepo('zabbix-nonsupported').with_gpgkey('https://repo.zabbix.com/RPM-GPG-KEY-ZABBIX-B5333005') } if facts[:os]['release']['major'].to_i < 9
it { is_expected.to contain_yumrepo('zabbix-nonsupported').with_gpgkey('https://repo.zabbix.com/RPM-GPG-KEY-ZABBIX-08EFA7DD') } if facts[:os]['release']['major'].to_i >= 9
end
end
end
end
end