X-Git-Url: https://review.fuel-infra.org/gitweb?a=blobdiff_plain;f=spec%2Fclasses%2Fapt_backports_spec.rb;h=765269dd97d88a7b37cd2e7b810bcd8e8a32af68;hb=23ce10e3caa92eaf9b2bbc4b2a67838780e22dda;hp=5c65b57fdc43c34d2973adfbaeb171280edf8835;hpb=b87e1af3704f5574bda393e36ded542ee7c4be23;p=puppet-modules%2Fpuppetlabs-apt.git diff --git a/spec/classes/apt_backports_spec.rb b/spec/classes/apt_backports_spec.rb index 5c65b57..765269d 100644 --- a/spec/classes/apt_backports_spec.rb +++ b/spec/classes/apt_backports_spec.rb @@ -1,275 +1,245 @@ -#!/usr/bin/env rspec require 'spec_helper' -describe 'apt::backports', :type => :class do - let (:pre_condition) { "class{ '::apt': }" } +describe 'apt::backports', type: :class do + let(:pre_condition) { "class{ '::apt': }" } + describe 'debian/ubuntu tests' do - context 'defaults on deb' do - let(:facts) do - { - :os => { :family => 'Debian', :name => 'Debian', :release => { :major => '7', :full => '7.0' }}, - :lsbdistid => 'Debian', - :osfamily => 'Debian', - :lsbdistcodename => 'wheezy', - :puppetversion => Puppet.version, - } - end - it { is_expected.to contain_apt__source('backports').with({ - :location => 'http://httpredir.debian.org/debian', - :key => 'A1BD8E9D78F7FE5C3E65D8AF8B48AD6246925553', - :repos => 'main contrib non-free', - :release => 'wheezy-backports', - :pin => { 'priority' => 200, 'release' => 'wheezy-backports' }, - }) - } - end - context 'defaults on squeeze' do + context 'with defaults on deb' do let(:facts) do { - :os => { :family => 'Debian', :name => 'Debian', :release => { :major => '6', :full => '6.0' }}, - :lsbdistid => 'Debian', - :osfamily => 'Debian', - :lsbdistcodename => 'squeeze', - :puppetversion => Puppet.version, + os: { family: 'Debian', name: 'Debian', release: { major: '8', full: '8.0' } }, + lsbdistid: 'Debian', + osfamily: 'Debian', + lsbdistcodename: 'jessie', } end - it { is_expected.to contain_apt__source('backports').with({ - :location => 'http://httpredir.debian.org/debian-backports', - :key => 'A1BD8E9D78F7FE5C3E65D8AF8B48AD6246925553', - :repos => 'main contrib non-free', - :release => 'squeeze-backports', - :pin => { 'priority' => 200, 'release' => 'squeeze-backports' }, - }) + + it { + is_expected.to contain_apt__source('backports').with(location: 'http://deb.debian.org/debian', + repos: 'main contrib non-free', + release: 'jessie-backports', + pin: { 'priority' => 200, 'release' => 'jessie-backports' }) } end - context 'defaults on ubuntu' do + context 'with defaults on ubuntu' do let(:facts) do { - :os => { :family => 'Debian', :name => 'Ubuntu', :release => { :major => '14', :full => '14.04' }}, - :lsbdistid => 'Ubuntu', - :osfamily => 'Debian', - :lsbdistcodename => 'trusty', - :lsbdistrelease => '14.04', - :puppetversion => Puppet.version, + os: { family: 'Debian', name: 'Ubuntu', release: { major: '16', full: '16.04' } }, + lsbdistid: 'Ubuntu', + osfamily: 'Debian', + lsbdistcodename: 'xenial', + lsbdistrelease: '16.04', } end - it { is_expected.to contain_apt__source('backports').with({ - :location => 'http://archive.ubuntu.com/ubuntu', - :key => '630239CC130E1A7FD81A27B140976EAF437D05B5', - :repos => 'main universe multiverse restricted', - :release => 'trusty-backports', - :pin => { 'priority' => 200, 'release' => 'trusty-backports' }, - }) + + it { + is_expected.to contain_apt__source('backports').with(location: 'http://archive.ubuntu.com/ubuntu', + key: '630239CC130E1A7FD81A27B140976EAF437D05B5', + repos: 'main universe multiverse restricted', + release: 'xenial-backports', + pin: { 'priority' => 200, 'release' => 'xenial-backports' }) } end - context 'set everything' do + context 'with everything set' do let(:facts) do { - :lsbdistid => 'Ubuntu', - :osfamily => 'Debian', - :lsbdistcodename => 'trusty', - :lsbdistrelease => '14.04', - :puppetversion => Puppet.version, + os: { family: 'Debian', name: 'Ubuntu', release: { major: '16', full: '16.04' } }, + lsbdistid: 'Ubuntu', + osfamily: 'Debian', + lsbdistcodename: 'xenial', + lsbdistrelease: '16.04', } end let(:params) do { - :location => 'http://archive.ubuntu.com/ubuntu-test', - :release => 'vivid', - :repos => 'main', - :key => 'A1BD8E9D78F7FE5C3E65D8AF8B48AD6246925553', - :pin => '90', + location: 'http://archive.ubuntu.com/ubuntu-test', + release: 'vivid', + repos: 'main', + key: 'A1BD8E9D78F7FE5C3E65D8AF8B48AD6246925553', + pin: '90', } end - it { is_expected.to contain_apt__source('backports').with({ - :location => 'http://archive.ubuntu.com/ubuntu-test', - :key => 'A1BD8E9D78F7FE5C3E65D8AF8B48AD6246925553', - :repos => 'main', - :release => 'vivid', - :pin => { 'priority' => 90, 'release' => 'vivid' }, - }) + + it { + is_expected.to contain_apt__source('backports').with(location: 'http://archive.ubuntu.com/ubuntu-test', + key: 'A1BD8E9D78F7FE5C3E65D8AF8B48AD6246925553', + repos: 'main', + release: 'vivid', + pin: { 'priority' => 90, 'release' => 'vivid' }) } end - context 'set things with hashes' do + context 'when set things with hashes' do let(:facts) do { - :os => { :family => 'Debian', :name => 'Ubuntu', :release => { :major => '14', :full => '14.04' }}, - :lsbdistid => 'Ubuntu', - :osfamily => 'Debian', - :lsbdistcodename => 'trusty', - :lsbdistrelease => '14.04', - :puppetversion => Puppet.version, + os: { family: 'Debian', name: 'Ubuntu', release: { major: '16', full: '16.04' } }, + lsbdistid: 'Ubuntu', + osfamily: 'Debian', + lsbdistcodename: 'xenial', + lsbdistrelease: '16.04', } end let(:params) do { - :key => { + key: { 'id' => 'A1BD8E9D78F7FE5C3E65D8AF8B48AD6246925553', }, - :pin => { + pin: { 'priority' => '90', }, } end - it { is_expected.to contain_apt__source('backports').with({ - :key => { 'id' => 'A1BD8E9D78F7FE5C3E65D8AF8B48AD6246925553' }, - :pin => { 'priority' => '90' }, - }) + + it { + is_expected.to contain_apt__source('backports').with(key: { 'id' => 'A1BD8E9D78F7FE5C3E65D8AF8B48AD6246925553' }, + pin: { 'priority' => '90' }) } end end describe 'mint tests' do let(:facts) do { - :lsbdistid => 'linuxmint', - :osfamily => 'Debian', - :lsbdistcodename => 'qiana', - :puppetversion => Puppet.version, + os: { family: 'Debian', name: 'Linuxmint', release: { major: '17', full: '17' } }, + lsbdistid: 'linuxmint', + osfamily: 'Debian', + lsbdistcodename: 'qiana', } end - context 'sets all the needed things' do + + context 'with all the needed things set' do let(:params) do { - :location => 'http://archive.ubuntu.com/ubuntu', - :release => 'trusty-backports', - :repos => 'main universe multiverse restricted', - :key => '630239CC130E1A7FD81A27B140976EAF437D05B5', + location: 'http://archive.ubuntu.com/ubuntu', + release: 'trusty-backports', + repos: 'main universe multiverse restricted', + key: '630239CC130E1A7FD81A27B140976EAF437D05B5', } end - it { is_expected.to contain_apt__source('backports').with({ - :location => 'http://archive.ubuntu.com/ubuntu', - :key => '630239CC130E1A7FD81A27B140976EAF437D05B5', - :repos => 'main universe multiverse restricted', - :release => 'trusty-backports', - :pin => { 'priority' => 200, 'release' => 'trusty-backports' }, - }) + + it { + is_expected.to contain_apt__source('backports').with(location: 'http://archive.ubuntu.com/ubuntu', + key: '630239CC130E1A7FD81A27B140976EAF437D05B5', + repos: 'main universe multiverse restricted', + release: 'trusty-backports', + pin: { 'priority' => 200, 'release' => 'trusty-backports' }) } end - context 'missing location' do + context 'with missing location' do let(:params) do { - :release => 'trusty-backports', - :repos => 'main universe multiverse restricted', - :key => '630239CC130E1A7FD81A27B140976EAF437D05B5', + release: 'trusty-backports', + repos: 'main universe multiverse restricted', + key: '630239CC130E1A7FD81A27B140976EAF437D05B5', } end + it do - expect { - subject.call - }.to raise_error(Puppet::Error, /If not on Debian or Ubuntu, you must explicitly pass location, release, repos, and key/) + is_expected.to raise_error(Puppet::Error, %r{If not on Debian or Ubuntu, you must explicitly pass location, release, repos, and key}) end end - context 'missing release' do + context 'with missing release' do let(:params) do { - :location => 'http://archive.ubuntu.com/ubuntu', - :repos => 'main universe multiverse restricted', - :key => '630239CC130E1A7FD81A27B140976EAF437D05B5', + location: 'http://archive.ubuntu.com/ubuntu', + repos: 'main universe multiverse restricted', + key: '630239CC130E1A7FD81A27B140976EAF437D05B5', } end + it do - expect { - subject.call - }.to raise_error(Puppet::Error, /If not on Debian or Ubuntu, you must explicitly pass location, release, repos, and key/) + is_expected.to raise_error(Puppet::Error, %r{If not on Debian or Ubuntu, you must explicitly pass location, release, repos, and key}) end end - context 'missing repos' do + context 'with missing repos' do let(:params) do { - :location => 'http://archive.ubuntu.com/ubuntu', - :release => 'trusty-backports', - :key => '630239CC130E1A7FD81A27B140976EAF437D05B5', + location: 'http://archive.ubuntu.com/ubuntu', + release: 'trusty-backports', + key: '630239CC130E1A7FD81A27B140976EAF437D05B5', } end + it do - expect { - subject.call - }.to raise_error(Puppet::Error, /If not on Debian or Ubuntu, you must explicitly pass location, release, repos, and key/) + is_expected.to raise_error(Puppet::Error, %r{If not on Debian or Ubuntu, you must explicitly pass location, release, repos, and key}) end end - context 'missing key' do + context 'with missing key' do let(:params) do { - :location => 'http://archive.ubuntu.com/ubuntu', - :release => 'trusty-backports', - :repos => 'main universe multiverse restricted', + location: 'http://archive.ubuntu.com/ubuntu', + release: 'trusty-backports', + repos: 'main universe multiverse restricted', } end + it do - expect { - subject.call - }.to raise_error(Puppet::Error, /If not on Debian or Ubuntu, you must explicitly pass location, release, repos, and key/) + is_expected.to raise_error(Puppet::Error, %r{If not on Debian or Ubuntu, you must explicitly pass location, release, repos, and key}) end end end describe 'validation' do let(:facts) do { - :lsbdistid => 'Ubuntu', - :osfamily => 'Debian', - :lsbdistcodename => 'trusty', - :lsbdistrelease => '14.04', - :puppetversion => Puppet.version, + os: { family: 'Debian', name: 'Ubuntu', release: { major: '16', full: '16.04' } }, + lsbdistid: 'Ubuntu', + osfamily: 'Debian', + lsbdistcodename: 'xenial', + lsbdistrelease: '16.04', } end - context 'invalid location' do + + context 'with invalid location' do let(:params) do { - :location => true + location: true, } end + it do - expect { - subject.call - }.to raise_error(Puppet::Error, /expects a String value/) + is_expected.to raise_error(Puppet::Error, %r{expects a}) end end - context 'invalid release' do + context 'with invalid release' do let(:params) do { - :release => true + release: true, } end + it do - expect { - subject.call - }.to raise_error(Puppet::Error, /expects a String value/) + is_expected.to raise_error(Puppet::Error, %r{expects a}) end end - context 'invalid repos' do + context 'with invalid repos' do let(:params) do { - :repos => true + repos: true, } end + it do - expect { - subject.call - }.to raise_error(Puppet::Error, /expects a String value/) + is_expected.to raise_error(Puppet::Error, %r{expects a}) end end - context 'invalid key' do + context 'with invalid key' do let(:params) do { - :key => true + key: true, } end + it do - expect { - subject.call - }.to raise_error(Puppet::Error, /expects a value of type String, Hash,/) + is_expected.to raise_error(Puppet::Error, %r{expects a}) end end - context 'invalid pin' do + context 'with invalid pin' do let(:params) do { - :pin => true + pin: true, } end + it do - expect { - subject.call - }.to raise_error(Puppet::Error, /parameter 'pin' expects a value of type Integer, Pattern/) + is_expected.to raise_error(Puppet::Error, %r{expects a}) end end end