group :development, :test do
gem 'rake', :require => false
+ gem 'pry', :require => false
gem 'rspec-puppet', :require => false
gem 'puppet-lint', :require => false
gem 'puppetlabs_spec_helper', :require => false
}
'ubuntu': {
case $::lsbdistcodename {
- 'hardy','lucid','maverick','natty','oneiric','precise': {
+ 'hardy','maverick','natty','oneiric','precise': {
$backports_location = 'http://us.archive.ubuntu.com/ubuntu'
+ $ppa_options = '-y'
+ }
+ 'lucid': {
+ $backports_location = 'http://us.archive.ubuntu.com/ubuntu'
+ $ppa_options = undef
}
default: {
$backports_location = 'http://old-releases.ubuntu.com/ubuntu'
+ $ppa_options = '-y'
}
}
}
define apt::ppa(
$release = $::lsbdistcodename,
- $options = '-y'
+ $options = $apt::params::ppa_options,
) {
$ensure = 'present'
include apt::params
end
end
- context 'readding a removed ppa.' do
+ context 'reading a removed ppa.' do
it 'setup' do
- shell('add-apt-repository -y ppa:raravena80/collectd5')
# This leaves a blank file
- shell('add-apt-repository --remove ppa:raravena80/collectd5')
+ shell('echo > /etc/apt/sources.list.d/raravena80-collectd5-$(lsb_release -c -s).list')
end
- it 'should readd it successfully' do
+ it 'should read it successfully' do
pp = <<-EOS
include '::apt'
apt::ppa { 'ppa:raravena80/collectd5': }
end
end
- context 'options' do
- context '-y' do
- it 'works without failure' do
- pp = <<-EOS
- include '::apt'
- apt::ppa { 'ppa:canonical-kernel-team/ppa':
- release => precise,
- options => '-y',
- }
- EOS
-
- shell('rm -rf /etc/apt/sources.list.d/canonical-kernel-team-ppa*', :acceptable_exit_codes => [0,1,2])
- apply_manifest(pp, :catch_failures => true)
- end
-
- describe file('/etc/apt/sources.list.d/canonical-kernel-team-ppa-precise.list') do
- it { should be_file }
+ if ! default[:platform].match(/10\.04/)
+ context 'options' do
+ context '-y' do
+ it 'works without failure' do
+ pp = <<-EOS
+ include '::apt'
+ apt::ppa { 'ppa:canonical-kernel-team/ppa':
+ release => precise,
+ options => '-y',
+ }
+ EOS
+
+ shell('rm -rf /etc/apt/sources.list.d/canonical-kernel-team-ppa*', :acceptable_exit_codes => [0,1,2])
+ apply_manifest(pp, :catch_failures => true)
+ end
+
+ describe file('/etc/apt/sources.list.d/canonical-kernel-team-ppa-precise.list') do
+ it { should be_file }
+ end
end
end
- end
- context 'reset' do
- it { shell('rm -rf /etc/apt/sources.list.d/canonical-kernel-team-ppa*', :acceptable_exit_codes => [0,1,2]) }
+ context 'reset' do
+ it { shell('rm -rf /etc/apt/sources.list.d/canonical-kernel-team-ppa*', :acceptable_exit_codes => [0,1,2]) }
+ end
end
-
end
end
--- /dev/null
+HOSTS:
+ ubuntu-server-10044-x64:
+ roles:
+ - master
+ platform: ubuntu-10.04-amd64
+ box : ubuntu-server-10044-x64-vbox4210-nocm
+ box_url : http://puppet-vagrant-boxes.puppetlabs.com/ubuntu-server-10044-x64-vbox4210-nocm.box
+ hypervisor : vagrant
+CONFIG:
+ log_level: debug
+ type: git
require 'spec_helper'
describe 'apt::ppa', :type => :define do
- [ { :lsbdistrelease => '11.04',
+ [
+ {
+ :lsbdistrelease => '11.04',
:lsbdistcodename => 'natty',
:operatingsystem => 'Ubuntu',
- :package => 'python-software-properties'},
- { :lsbdistrelease => '12.10',
+ :lsbdistid => 'Ubuntu',
+ :package => 'python-software-properties'
+ },
+ {
+ :lsbdistrelease => '12.10',
:lsbdistcodename => 'quantal',
:operatingsystem => 'Ubuntu',
- :package => 'software-properties-common'},
+ :lsbdistid => 'Ubuntu',
+ :package => 'software-properties-common'
+ },
].each do |platform|
context "on #{platform[:lsbdistcodename]}" do
let :facts do
{
- :lsbdistrelease => platform[:lsbdistrelease],
+ :lsbdistrelease => platform[:lsbdistrelease],
:lsbdistcodename => platform[:lsbdistcodename],
:operatingsystem => platform[:operatingsystem],
+ :lsbdistid => platform[:lsbdistid],
}
end
let :release do
require 'beaker-rspec'
-hosts.each do |host|
- # Install Puppet
- install_package host, 'rubygems'
- on host, 'gem install puppet --no-ri --no-rdoc'
- on host, "mkdir -p #{host['distmoduledir']}"
+# Install Puppet
+unless ENV['RS_PROVISION'] == 'no'
+ hosts.each do |host|
+ if host.is_pe?
+ install_pe
+ else
+ install_puppet
+ on host, "mkdir -p #{host['distmoduledir']}"
+ end
+ end
end
+UNSUPPORTED_PLATFORMS = ['windows','aix','solaris',/el-(4|5|6)/]
+
RSpec.configure do |c|
# Project root
proj_root = File.expand_path(File.join(File.dirname(__FILE__), '..'))