puppet-tripleo/spec/classes/tripleo_host_sriov_spec.rb
Alex Schultz 223c88460b Add in rspec-puppet-facts support
This change pulls in rspec-puppet-facts to provide the basic default
facts for puppet-tripleo rspec tests. rspec-puppet-facts provides an
easy to use interface to allow for the same set of tests to be executed
with multiple sets of operating system facts. In most cases this
includes defaults for Debian/RedHat based systems. In puppet-tripleo's
case this is just RHEL/CentOS. We are removing the Fedora listing from
the metadata.json as we only support RHEL and CentOS for tripleo.
This change also updates the existing rspec tests to leverage
rspec-puppet-facts to be more consistent with how facts are defined.

Change-Id: I0ddc71799d74ee95b9828aea6a8dcb4abb4e4e62
2016-09-21 17:34:55 -06:00

40 lines
1020 B
Ruby

require 'spec_helper'
describe 'tripleo::host::sriov' do
shared_examples_for 'tripleo::host::sriov' do
let :params do
{:number_of_vfs => []}
end
it 'does not configure numvfs by default' do
is_expected.not_to contain_sriov_vf_config([])
end
context 'when number_of_vfs is configured' do
let :params do
{:number_of_vfs => ['eth0:4','eth1:5']}
end
it 'configures numvfs' do
is_expected.to contain_sriov_vf_config('eth0:4').with( :ensure => 'present' )
is_expected.to contain_sriov_vf_config('eth1:5').with( :ensure => 'present')
is_expected.to contain_tripleo__host__sriov__numvfs_persistence('persistent_numvfs').with(
:vf_defs => ['eth0:4','eth1:5'],
:content_string => "#!/bin/bash\n"
)
end
end
end
on_supported_os.each do |os, facts|
context "on #{os}" do
let(:facts) do
facts.merge({})
end
it_behaves_like 'tripleo::host::sriov'
end
end
end