puppet-openstack_extras/spec/classes/openstack_extras_repo_debian_ubuntu_spec.rb
Emilien Macchi 13f29975a6 repo/ubuntu: allow to change uca repo name
UCA proposes two kinds of repositories:
'proposed': not stable release but enough to be tested
'updates': considered as stable release (default)

'updates' is default to keep backward compatibility.
Using 'proposed' would be useful to test the current trunk release of
OpenStack if UCA is providing packages for it.

Change-Id: I827cbf9d8c8ebbf7d36084c3b2a828afee7f2797
2015-09-02 13:41:21 -04:00

146 lines
4.5 KiB
Ruby

require 'spec_helper'
describe 'openstack_extras::repo::debian::ubuntu' do
let :class_params do
{
:manage_uca => true,
:source_hash => {},
:source_defaults => {},
:package_require => false
}
end
let :paramclass_defaults do
{
:release => 'kilo'
}
end
let :default_params do
class_params.merge!(paramclass_defaults)
end
context 'on Debian platforms' do
let :facts do
{
:osfamily => 'Debian',
:operatingsystem => 'Ubuntu',
:lsbdistid => 'Ubuntu',
:lsbdistcodename => 'trusty'
}
end
describe 'with default parameters' do
let :params do
{}.merge!(default_params)
end
it { should contain_apt__source('ubuntu-cloud-archive').with(
:location => 'http://ubuntu-cloud.archive.canonical.com/ubuntu',
:release => 'trusty-updates/kilo',
:repos => 'main',
)}
it { should contain_exec('installing ubuntu-cloud-keyring') }
end
describe 'with overridden release' do
let :params do
default_params.merge!({ :release => 'juno' })
end
it { should contain_apt__source('ubuntu-cloud-archive').with(
:location => 'http://ubuntu-cloud.archive.canonical.com/ubuntu',
:release => 'trusty-updates/juno',
:repos => 'main',
)}
it { should contain_exec('installing ubuntu-cloud-keyring') }
end
describe 'when not managing UCA' do
let :params do
default_params.merge!({ :manage_uca => false })
end
it { should_not contain_exec('installing ubuntu-cloud-keyring') }
end
describe 'with overridden source hash' do
let :params do
default_params.merge!({ :source_hash => {
'local_mirror' => {
'location' => 'http://mymirror/ubuntu/',
'repos' => 'main',
'release' => 'trusty'
},
'puppetlabs' => {
'location' => 'http://apt.puppetlabs.com',
'repos' => 'main',
'release' => 'trusty',
'key' => '4BD6EC30',
'key_server' => 'pgp.mit.edu'
}
}
})
end
it { should contain_apt__source('local_mirror').with(
:location => 'http://mymirror/ubuntu/',
:release => 'trusty',
:repos => 'main'
)}
it { should contain_apt__source('puppetlabs').with(
:location => 'http://apt.puppetlabs.com',
:release => 'trusty',
:repos => 'main',
:key => '4BD6EC30',
:key_server => 'pgp.mit.edu'
)}
it { should contain_exec('installing ubuntu-cloud-keyring') }
end
describe 'with overridden source default' do
let :params do
default_params.merge!({ :source_hash => {
'local_mirror' => {
'location' => 'http://mymirror/ubuntu/',
'repos' => 'main',
'release' => 'trusty'
}
}
})
default_params.merge!({ :source_defaults => {
'include_src' => 'true'
}
})
end
it { should contain_apt__source('local_mirror').with(
:include_src => 'true',
:location => 'http://mymirror/ubuntu/',
:release => 'trusty',
:repos => 'main',
)}
it { should contain_exec('installing ubuntu-cloud-keyring') }
end
describe 'with overridden uca repo name' do
let :params do
default_params.merge!({ :repo => 'proposed' })
end
it { should contain_apt__source('ubuntu-cloud-archive').with(
:location => 'http://ubuntu-cloud.archive.canonical.com/ubuntu',
:release => 'trusty-proposed/kilo',
:repos => 'main',
)}
end
end
end