80 lines
2.3 KiB
Ruby
80 lines
2.3 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe 'cobbler' do
|
|
|
|
let(:default_params) { {
|
|
:server => facts[:ipaddress],
|
|
:production => 'prod',
|
|
:domain_name => 'local',
|
|
:name_server => facts[:ipaddress],
|
|
:next_server => facts[:ipaddress],
|
|
:dns_upstream => ['8.8.8.8'],
|
|
:dns_domain => 'domain.tld',
|
|
:dns_search => 'domain.tld',
|
|
:dhcp_start_address => '10.0.0.201',
|
|
:dhcp_end_address => '10.0.0.254',
|
|
:dhcp_netmask => '255.255.255.0',
|
|
:dhcp_gateway => facts[:ipaddress],
|
|
:dhcp_ipaddress => '127.0.0.1',
|
|
:cobbler_user => 'cobbler',
|
|
:cobbler_password => 'cobbler',
|
|
:pxetimeout => 0,
|
|
} }
|
|
|
|
shared_examples_for 'cobbler configuration' do
|
|
let :params do
|
|
default_params
|
|
end
|
|
|
|
context 'with default params' do
|
|
let :params do
|
|
default_params.merge!({})
|
|
end
|
|
|
|
it { is_expected.to contain_class('cobbler') }
|
|
|
|
it { is_expected.to contain_class('cobbler::apache') }
|
|
|
|
it { is_expected.to contain_class('cobbler::packages') }
|
|
|
|
it { is_expected.to contain_class('cobbler::selinux') }
|
|
|
|
it { is_expected.to contain_class('cobbler::iptables') }
|
|
|
|
it do
|
|
is_expected.to contain_class('cobbler::server').with(
|
|
:domain_name => params[:domain_name],
|
|
:production => params[:production],
|
|
:dns_upstream => params[:dns_upstream],
|
|
:dns_domain => params[:dns_domain],
|
|
:dns_search => params[:dns_search],
|
|
:dhcp_gateway => params[:dhcp_gateway],
|
|
:extra_admins_net => params[:extra_admins_nets],
|
|
:name_server => params[:name_server],
|
|
:next_server => params[:next_server],
|
|
:server => params[:server],
|
|
:pxetimeout => params[:pxetimeout],
|
|
:dhcp_ipaddress => params[:dhcp_ipaddress],
|
|
)
|
|
end
|
|
|
|
it do
|
|
is_expected.to contain_cobbler_digest_user(params[:cobbler_user]).with(
|
|
:password => params[:cobbler_password],
|
|
)
|
|
end
|
|
|
|
it { is_expected.to contain_file_line('Change debug level in cobbler') }
|
|
end
|
|
|
|
end
|
|
|
|
on_supported_os(supported_os: supported_os).each do |os, facts|
|
|
context "on #{os}" do
|
|
let(:facts) { facts }
|
|
it_configures "cobbler configuration"
|
|
end
|
|
end
|
|
|
|
end
|