-
Notifications
You must be signed in to change notification settings - Fork 193
/
puppet_agent_osfamily_aix_spec.rb
92 lines (79 loc) · 2.74 KB
/
puppet_agent_osfamily_aix_spec.rb
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
require 'spec_helper'
describe 'puppet_agent' do
let(:common_facts) {
{
is_pe: true,
osfamily: 'AIX',
operatingsystem: 'AIX',
servername: 'master.example.vm',
clientcert: 'foo.example.vm',
}
}
shared_examples 'aix' do |aixver, pkg_aixver, powerver|
let(:rpmname) {"puppet-agent-#{params[:package_version]}-1.aix#{pkg_aixver}.ppc.rpm"}
let(:tag) { "aix-#{pkg_aixver}-power" }
let(:source) { "puppet:///pe_packages/2000.0.0/#{tag}/#{rpmname}" }
let(:facts) {
common_facts.merge({
architecture: "PowerPC_POWER#{powerver}",
platform_tag: "aix-#{aixver}-power",
})
}
before(:each) do
Puppet::Parser::Functions.newfunction(:pe_build_version, type: :rvalue) { |_args| '2000.0.0' }
Puppet::Parser::Functions.newfunction(:pe_compiling_server_aio_build, type: :rvalue) { |_args| '1.10.100' }
end
it { is_expected.to contain_file('/opt/puppetlabs') }
it { is_expected.to contain_file('/opt/puppetlabs/packages') }
it { is_expected.to contain_file("/opt/puppetlabs/packages/#{rpmname}").with({ 'source' => source })
}
it { is_expected.to contain_class("puppet_agent::osfamily::aix") }
it { is_expected.to contain_class('Puppet_agent::Install').with({ 'package_file_name' => rpmname, }) }
it {
is_expected.to contain_package('puppet-agent').with({
'source' => "/opt/puppetlabs/packages/#{rpmname}",
'ensure' => params[:package_version],
'provider' => 'rpm',
})
}
end
context 'with a PC1 collection' do
let(:params) {
{
package_version: '1.10.100',
collection: 'PC1',
}
}
[['7.2', '7.1', '8'], ['7.1', '7.1', '8'], ['7.1', '7.1', '7'], ['6.1', '6.1', '7'], ['5.3', '5.3', '7']].each do |aixver, pkg_aixver, powerver|
context "aix #{aixver}" do
include_examples 'aix', aixver, pkg_aixver, powerver
end
end
end
context 'with a puppet5 collection' do
let(:params) {
{
package_version: '5.4.3',
collection: 'puppet5',
}
}
[['7.2', '7.1', '8'], ['7.1', '7.1', '8'], ['7.1', '7.1', '7'], ['6.1', '6.1', '7'], ['5.3', '5.3', '7']].each do |aixver, pkg_aixver, powerver|
context "aix #{aixver}" do
include_examples 'aix', aixver, pkg_aixver, powerver
end
end
end
context 'with a puppet6 collection' do
let(:params) {
{
package_version: '6.0.0',
collection: 'puppet6',
}
}
[['7.2', '6.1', '8'], ['7.1', '6.1', '8'], ['7.1', '6.1', '7'], ['6.1', '6.1', '7']].each do |aixver, pkg_aixver, powerver|
context "aix #{aixver}" do
include_examples 'aix', aixver, pkg_aixver, powerver
end
end
end
end