Files
puppet-ovn/spec/classes/ovn_northd_spec.rb
Jake Yip 3efd8af87a Fix 'RedHat' misspelled as 'Redhat'
In tests, osfamily 'RedHat' was misspelled as 'Redhat', so no tests were
running for this OS.

Fixing this typo also means that the File[] resource test is no longer
valid, since it is now a Augeas[] resource. Updated test accordingly.

Also added 'systemd env' test for Debian, since I am at it.

This change increases resource coverage from 75% to 81.82%, which means
we should be on the right track.

To reduce confusion, I will submit tests for Change
82cadd3a28 in a separate change.

Change-Id: I9c9d8f6463efb09465092601a113b5e56d920883
2020-01-12 20:48:51 +11:00

80 lines
2.5 KiB
Ruby

require 'spec_helper'
describe 'ovn::northd' do
shared_examples_for 'systemd env' do
it 'creates systemd conf' do
is_expected.to contain_augeas('config-ovn-northd').with({
:context => platform_params[:ovn_northd_context],
:changes => "set " + platform_params[:ovn_northd_option_name] +
" '\"--db-nb-addr=0.0.0.0 --db-sb-addr=0.0.0.0 --db-nb-create-insecure-remote=yes --db-sb-create-insecure-remote=yes \"'",
})
end
end
shared_examples_for 'ovn northd' do
it 'includes params' do
is_expected.to contain_class('ovn::params')
end
it 'starts northd' do
is_expected.to contain_service('northd').with(
:ensure => true,
:name => platform_params[:ovn_northd_service_name],
:enable => true,
:hasstatus => platform_params[:ovn_northd_service_status],
:pattern => platform_params[:ovn_northd_service_pattern],
)
end
it 'installs package' do
is_expected.to contain_package(platform_params[:ovn_northd_package_name]).with(
:ensure => 'present',
:name => platform_params[:ovn_northd_package_name],
:before => 'Service[northd]'
)
end
end
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts({
}))
end
case facts[:osfamily]
when 'Debian'
let(:platform_params) do
{
:ovn_northd_package_name => 'ovn-central',
:ovn_northd_service_name => 'ovn-central',
:ovn_northd_service_status => false,
:ovn_northd_service_pattern => 'ovn-northd',
:ovn_northd_context => '/files/etc/default/ovn-central',
:ovn_northd_option_name => 'OVN_CTL_OPTS'
}
end
it_behaves_like 'ovn northd'
it_behaves_like 'systemd env'
when 'RedHat'
let(:platform_params) do
{
:ovn_northd_package_name => 'openvswitch-ovn-central',
:ovn_northd_service_name => 'ovn-northd',
:ovn_northd_service_status => true,
:ovn_northd_service_pattern => nil,
:ovn_northd_context => '/files/etc/sysconfig/ovn-northd',
:ovn_northd_option_name => 'OVN_NORTHD_OPTS'
}
end
it_behaves_like 'ovn northd'
it_behaves_like 'systemd env'
end
end
end
end