0271adfc05
... instead of old stable/victoria. Change-Id: I29d6a3043260a3258266b87ca50bcc90befb42ee
184 lines
5.9 KiB
Ruby
184 lines
5.9 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe 'openstack_extras::repo::debian::debian' do
|
|
shared_examples 'openstack_extras::repo::debian::debian' do
|
|
let :class_params do
|
|
{
|
|
:manage_deb => true,
|
|
:source_hash => {},
|
|
:source_defaults => {},
|
|
:package_require => false,
|
|
:use_extrepo => false,
|
|
}
|
|
end
|
|
|
|
let :paramclass_defaults do
|
|
{
|
|
:release => 'xena'
|
|
}
|
|
end
|
|
|
|
let :default_params do
|
|
class_params.merge!(paramclass_defaults)
|
|
end
|
|
|
|
context 'with default params' do
|
|
it { should contain_exec('/usr/bin/extrepo enable openstack_xena').with(
|
|
:command => "/bin/true # comment to satisfy puppet syntax requirements
|
|
apt-get update
|
|
apt-get install -y extrepo
|
|
extrepo enable openstack_xena
|
|
apt-get update
|
|
",
|
|
)}
|
|
end
|
|
|
|
context 'wallaby with extrepo' do
|
|
let :params do
|
|
{
|
|
:release => 'wallaby',
|
|
:use_extrepo => true,
|
|
}
|
|
end
|
|
it { should contain_exec('/usr/bin/extrepo enable openstack_wallaby').with(
|
|
:command => "/bin/true # comment to satisfy puppet syntax requirements
|
|
apt-get update
|
|
apt-get install -y extrepo
|
|
extrepo enable openstack_wallaby
|
|
apt-get update
|
|
",
|
|
)}
|
|
end
|
|
|
|
context 'with extrepo set to false' do
|
|
let :params do
|
|
{
|
|
:use_extrepo => false,
|
|
}
|
|
end
|
|
|
|
it { should contain_apt__source('debian-openstack-backports').with(
|
|
:location => 'http://stretch-xena.debian.net/debian',
|
|
:release => 'stretch-xena-backports',
|
|
:repos => 'main',
|
|
)}
|
|
|
|
it { should contain_apt__source('debian-openstack-backports-nochange').with(
|
|
:location => 'http://stretch-xena.debian.net/debian',
|
|
:release => 'stretch-xena-backports-nochange',
|
|
:repos => 'main'
|
|
)}
|
|
|
|
it { should contain_exec('installing openstack-backports-archive-keyring') }
|
|
end
|
|
|
|
context 'with overridden release' do
|
|
let :params do
|
|
default_params.merge!({ :release => 'pike' })
|
|
end
|
|
|
|
it { should contain_apt__source('debian-openstack-backports').with(
|
|
:location => 'http://stretch-pike.debian.net/debian',
|
|
:release => 'stretch-pike-backports',
|
|
:repos => 'main',
|
|
)}
|
|
|
|
it { should contain_apt__source('debian-openstack-backports-nochange').with(
|
|
:location => 'http://stretch-pike.debian.net/debian',
|
|
:release => 'stretch-pike-backports-nochange',
|
|
:repos => 'main'
|
|
)}
|
|
|
|
it { should contain_exec('installing openstack-backports-archive-keyring') }
|
|
end
|
|
|
|
context 'when not managing stretch repo' do
|
|
let :params do
|
|
default_params.merge!({ :manage_deb => false })
|
|
end
|
|
|
|
it { should_not contain_exec('installing openstack-backports-archive-keyring') }
|
|
end
|
|
|
|
context 'with overridden source hash' do
|
|
let :params do
|
|
default_params.merge!({ :source_hash => {
|
|
'debian_unstable' => {
|
|
'location' => 'http://mymirror/debian/',
|
|
'repos' => 'main',
|
|
'release' => 'unstable'
|
|
},
|
|
'puppetlabs' => {
|
|
'location' => 'http://apt.puppetlabs.com',
|
|
'repos' => 'main',
|
|
'release' => 'stretch',
|
|
'key' => {
|
|
'id' => '4BD6EC30', 'server' => 'pgp.mit.edu'
|
|
}
|
|
}
|
|
}
|
|
})
|
|
default_params.merge!({ :use_extrepo => false })
|
|
end
|
|
|
|
it { should contain_apt__source('debian_unstable').with(
|
|
:location => 'http://mymirror/debian/',
|
|
:release => 'unstable',
|
|
:repos => 'main',
|
|
)}
|
|
|
|
it { should contain_apt__source('puppetlabs').with(
|
|
:location => 'http://apt.puppetlabs.com',
|
|
:repos => 'main',
|
|
:release => 'stretch',
|
|
:key => { 'id' => '4BD6EC30', 'server' => 'pgp.mit.edu' },
|
|
)}
|
|
|
|
it { should contain_exec('installing openstack-backports-archive-keyring') }
|
|
end
|
|
|
|
context 'with overridden source default' do
|
|
let :params do
|
|
default_params.merge!({ :source_hash => {
|
|
'debian_unstable' => {
|
|
'location' => 'http://mymirror/debian/',
|
|
'repos' => 'main',
|
|
'release' => 'unstable'
|
|
},
|
|
}
|
|
})
|
|
default_params.merge!({ :source_defaults => {
|
|
'include' => { 'src' => true }
|
|
}
|
|
})
|
|
default_params.merge!({ :use_extrepo => false })
|
|
end
|
|
|
|
it { should contain_apt__source('debian_unstable').with(
|
|
:include => { 'src' => true },
|
|
:location => 'http://mymirror/debian/',
|
|
:release => 'unstable',
|
|
:repos => 'main',
|
|
)}
|
|
|
|
it { should contain_exec('installing openstack-backports-archive-keyring') }
|
|
end
|
|
end
|
|
|
|
on_supported_os({
|
|
:supported_os => OSDefaults.get_supported_os
|
|
}).each do |os,facts|
|
|
context "on #{os}" do
|
|
let (:facts) do
|
|
facts.merge!(OSDefaults.get_facts({ :lsbdistid => 'Debian',
|
|
:lsbdistcodename => 'stretch',
|
|
:lsbdistrelease => '9' }))
|
|
end
|
|
|
|
if facts[:osfamily] == 'Debian' and facts[:operatingsystem] == 'Debian'
|
|
it_behaves_like 'openstack_extras::repo::debian::debian'
|
|
end
|
|
end
|
|
end
|
|
end
|