+# frozen_string_literal: true
+
require 'spec_helper'
describe 'apt::backports', type: :class do
- let (:pre_condition) { "class{ '::apt': }" }
+ let(:pre_condition) { "class{ '::apt': }" }
describe 'debian/ubuntu tests' do
- context 'defaults on deb' do
+ context 'with 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,
+ os: {
+ family: 'Debian',
+ name: 'Debian',
+ release: {
+ major: '9',
+ full: '9.0',
+ },
+ distro: {
+ codename: 'stretch',
+ id: 'Debian',
+ },
+ },
}
end
it {
is_expected.to contain_apt__source('backports').with(location: 'http://deb.debian.org/debian',
- key: 'A1BD8E9D78F7FE5C3E65D8AF8B48AD6246925553',
repos: 'main contrib non-free',
- release: 'wheezy-backports',
- pin: { 'priority' => 200, 'release' => 'wheezy-backports' })
+ release: 'stretch-backports',
+ pin: { 'priority' => 200, 'release' => 'stretch-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: '18',
+ full: '18.04',
+ },
+ distro: {
+ codename: 'bionac',
+ id: 'Ubuntu',
+ },
+ },
}
end
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' })
+ release: 'bionac-backports',
+ pin: { 'priority' => 200, 'release' => 'bionac-backports' })
}
end
- context 'set everything' do
+ context 'with everything set' 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: '18',
+ full: '18.04',
+ },
+ distro: {
+ codename: 'bionac',
+ id: 'Ubuntu',
+ },
+ },
}
end
let(:params) do
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: '18',
+ full: '18.04',
+ },
+ distro: {
+ codename: 'bionac',
+ id: 'Ubuntu',
+ },
+ },
}
end
let(:params) do
describe 'mint tests' do
let(:facts) do
{
- os: { family: 'Debian', name: 'Linuxmint', release: { major: '17', full: '17' } },
- lsbdistid: 'linuxmint',
- osfamily: 'Debian',
- lsbdistcodename: 'qiana',
- puppetversion: Puppet.version,
+ os: {
+ family: 'Debian',
+ name: 'LinuxMint',
+ release: {
+ major: '17',
+ full: '17',
+ },
+ distro: {
+ codename: 'qiana',
+ id: 'LinuxMint',
+ },
+ },
}
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',
pin: { 'priority' => 200, 'release' => 'trusty-backports' })
}
end
- context 'missing location' do
+ context 'with missing location' do
let(:params) do
{
release: 'trusty-backports',
end
it do
- expect {
- subject.call
- }.to raise_error(Puppet::Error, %r{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',
end
it do
- expect {
- subject.call
- }.to raise_error(Puppet::Error, %r{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',
end
it do
- expect {
- subject.call
- }.to raise_error(Puppet::Error, %r{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',
end
it do
- expect {
- subject.call
- }.to raise_error(Puppet::Error, %r{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
{
- 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: '18',
+ full: '18.04',
+ },
+ distro: {
+ codename: 'bionac',
+ id: 'Ubuntu',
+ },
+ },
}
end
- context 'invalid location' do
+ context 'with invalid location' do
let(:params) do
{
location: true,
end
it do
- expect {
- subject.call
- }.to raise_error(Puppet::Error, %r{expects a})
+ 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,
end
it do
- expect {
- subject.call
- }.to raise_error(Puppet::Error, %r{expects a})
+ 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,
end
it do
- expect {
- subject.call
- }.to raise_error(Puppet::Error, %r{expects a})
+ 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,
end
it do
- expect {
- subject.call
- }.to raise_error(Puppet::Error, %r{expects a})
+ 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,
end
it do
- expect {
- subject.call
- }.to raise_error(Puppet::Error, %r{expects a})
+ is_expected.to raise_error(Puppet::Error, %r{expects a})
end
end
end