Project

General

Profile

Download (1.42 KB) Statistics
| Branch: | Tag: | Revision:
require 'spec_helper'

describe 'foreman::repos' do
let(:title) { 'foreman' }
let(:repo) { '1.18' }
let(:params) { { repo: repo } }

on_supported_os.each do |os, facts|
context "on #{os}" do
let(:facts) { facts }

case facts[:osfamily]
when 'RedHat'
yumcode = case os
when /^fedora-/
"f#{facts[:operatingsystemmajrelease]}"
else
"el#{facts[:operatingsystemmajrelease]}"
end

it do
is_expected.to contain_foreman__repos__yum('foreman')
.with_repo(repo)
.with_yumcode(yumcode)
.with_gpgcheck(true)
end
when 'Debian'
it { is_expected.to contain_foreman__repos__apt('foreman').with_repo(repo) }
end
end
end

# TODO: on_supported_os?
context 'on Amazon' do
let :facts do
{
operatingsystem: 'Amazon',
osfamily: 'Linux'
}
end

it do
is_expected.to contain_foreman__repos__yum('foreman')
.with_repo(repo)
.with_yumcode('el7')
.with_gpgcheck(true)
end
end

context 'on unsupported osfamily' do
let :facts do
{
hostname: 'localhost',
osfamily: 'unsupported'
}
end

it 'should fail' do
is_expected.to raise_error(/#{facts[:hostname]}: This module does not support osfamily #{facts[:osfamily]}/)
end
end
end
(6-6/7)