You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
151 lines
4.8 KiB
151 lines
4.8 KiB
require 'spec_helper' |
|
|
|
describe 'openstack_extras::repo::debian::ubuntu' do |
|
shared_examples '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 => 'victoria' |
|
} |
|
end |
|
|
|
let :default_params do |
|
class_params.merge!(paramclass_defaults) |
|
end |
|
|
|
context 'with default parameters' do |
|
let :params do |
|
{} |
|
end |
|
|
|
it { should contain_apt__source('ubuntu-cloud-archive').with( |
|
:location => 'http://ubuntu-cloud.archive.canonical.com/ubuntu', |
|
:release => 'trusty-updates/victoria', |
|
:repos => 'main', |
|
)} |
|
|
|
it { should contain_exec('installing ubuntu-cloud-keyring') } |
|
end |
|
|
|
context '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 |
|
|
|
context '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 |
|
|
|
context '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' => { |
|
'id' => '4BD6EC30', '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 => { 'id' => '4BD6EC30', 'server' => 'pgp.mit.edu' } |
|
)} |
|
|
|
it { should contain_exec('installing ubuntu-cloud-keyring') } |
|
end |
|
|
|
context '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 |
|
|
|
context 'with overridden uca repo name' do |
|
let :params do |
|
default_params.merge!({ :repo => 'proposed', |
|
:uca_location => 'http://mirror.dfw.rax.openstack.org/ubuntu-cloud-archive' }) |
|
end |
|
|
|
it { should contain_apt__source('ubuntu-cloud-archive').with( |
|
:location => 'http://mirror.dfw.rax.openstack.org/ubuntu-cloud-archive', |
|
:release => 'trusty-proposed/victoria', |
|
:repos => 'main', |
|
)} |
|
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 => 'Ubuntu', |
|
:lsbdistcodename => 'trusty', |
|
:lsbdistrelease => '14.04' })) |
|
end |
|
|
|
if facts[:operatingsystem] == 'Ubuntu' |
|
it_behaves_like 'openstack_extras::repo::debian::ubuntu' |
|
end |
|
end |
|
end |
|
end
|
|
|