puppet-openstack_extras/spec/classes/openstack_extras_repo_redha...

188 lines
6.5 KiB
Ruby

require 'spec_helper'
describe 'openstack_extras::repo::redhat::redhat' do
let :class_params do
{
:manage_rdo => true,
:manage_epel => true,
:repo_hash => {},
:gpgkey_hash => {},
:purge_unmanaged => false,
:package_require => false
}
end
let :paramclass_defaults do
{
:release => 'icehouse',
:repo_defaults => { 'enabled' => '1',
'gpgcheck' => '1',
'notify' => "Exec[yum_refresh]",
'mirrorlist' => 'absent',
'require' => "Anchor[openstack_extras_redhat]"
},
:gpgkey_defaults => { 'owner' => 'root',
'group' => 'root',
'mode' => '0644',
'before' => "Anchor[openstack_extras_redhat]"
}
}
end
let :default_params do
class_params.merge!(paramclass_defaults)
end
context 'on RedHat platforms' do
let :facts do
{
:osfamily => 'RedHat',
:operatingsystem => 'RedHat',
:operatingsystemrelease => '6.5',
:operatingsystemmajrelease => '6'
}
end
describe 'with default parameters' do
let :params do
{}.merge!(default_params)
end
it { should contain_yumrepo('rdo-release').with(
:baseurl => "http://repos.fedorapeople.org/repos/openstack/openstack-icehouse/epel-6/",
:descr => "OpenStack Icehouse Repository",
:priority => 98,
:gpgkey => "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-RDO-Icehouse",
:enabled => '1',
:gpgcheck => '1',
:mirrorlist => 'absent',
:require => "Anchor[openstack_extras_redhat]",
:notify => "Exec[yum_refresh]"
)}
it { should contain_yumrepo('epel').with(
:baseurl => 'https://download.fedoraproject.org/pub/epel/6/$basearch',
:descr => 'Extra Packages for Enterprise Linux 6 - $basearch',
:gpgkey => "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6",
:failovermethod => 'priority',
:enabled => '1',
:gpgcheck => '1',
:mirrorlist => 'absent',
:require => "Anchor[openstack_extras_redhat]",
:notify => "Exec[yum_refresh]"
)}
it { should contain_file('/etc/pki/rpm-gpg/RPM-GPG-KEY-RDO-Icehouse').with(
:source => "puppet:///modules/openstack_extras/RPM-GPG-KEY-RDO-Icehouse",
:owner => 'root',
:group => 'root',
:mode => '0644',
:before => "Anchor[openstack_extras_redhat]"
)}
end
describe 'with overridden release' do
let :params do
default_params.merge!({ :release => 'juno' })
end
it { should contain_yumrepo('rdo-release').with(
:baseurl => "http://repos.fedorapeople.org/repos/openstack/openstack-juno/epel-6/",
:descr => "OpenStack Juno Repository",
:gpgkey => "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-RDO-Juno"
)}
it { should contain_file('/etc/pki/rpm-gpg/RPM-GPG-KEY-RDO-Juno').with(
:source => "puppet:///modules/openstack_extras/RPM-GPG-KEY-RDO-Juno"
)}
end
describe 'with overridden repo hash' do
let :params do
default_params.merge!({ :repo_hash => {
'CentOS-Base' => {
'baseurl' => 'http://mymirror/$releasever/os/$basearch/',
'descr' => 'CentOS-$releasever - Base',
'gpgkey' => 'file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6'
},
'CentOS-Updates' => {
'baseurl' => 'http://mymirror/$releasever/updates/$basearch/',
'descr' => 'CentOS-$releasever - Updates',
'gpgkey' => 'file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6',
}
}
})
end
it { should contain_yumrepo('CentOS-Base').with(
:baseurl => "http://mymirror/$releasever/os/$basearch/",
:descr => "CentOS-$releasever - Base",
:enabled => '1',
:gpgcheck => '1',
:gpgkey => 'file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6',
:mirrorlist => 'absent',
:require => "Anchor[openstack_extras_redhat]",
:notify => "Exec[yum_refresh]"
)}
it { should contain_yumrepo('CentOS-Updates').with(
:baseurl => "http://mymirror/$releasever/updates/$basearch/",
:descr => "CentOS-$releasever - Updates",
:enabled => '1',
:gpgcheck => '1',
:gpgkey => 'file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6',
:mirrorlist => 'absent',
:require => "Anchor[openstack_extras_redhat]",
:notify => "Exec[yum_refresh]"
)}
end
describe 'with overridden repo default' do
let :params do
default_params.merge!({ :repo_defaults => {
'proxy' => 'http://my.proxy.com:8000'
}
})
end
it { should contain_yumrepo('rdo-release').with(
:baseurl => "http://repos.fedorapeople.org/repos/openstack/openstack-icehouse/epel-6/",
:descr => "OpenStack Icehouse Repository",
:gpgkey => "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-RDO-Icehouse",
:proxy => "http://my.proxy.com:8000"
)}
end
describe 'with overridden gpgkey default' do
let :params do
default_params.merge!({ :gpgkey_defaults => {
'owner' => 'steve'
}
})
end
it { should contain_file('/etc/pki/rpm-gpg/RPM-GPG-KEY-RDO-Icehouse').with(
:owner => "steve"
)}
end
describe 'with epel management disabled' do
let :params do
default_params.merge!({ :manage_epel => false })
end
it { should_not contain_yumrepo('epel') }
end
describe 'with rdo management disabled' do
let :params do
default_params.merge!({ :manage_rdo => false })
end
it { should_not contain_yumrepo('rdo-release') }
end
end
end