spec/classes/datadog_agent_reports_spec.rb (88 lines of code) (raw):
require 'spec_helper'
describe 'datadog_agent::reports' do
context 'all supported operating systems' do
let(:params) do
{
api_key: 'notanapikey',
hostname_extraction_regex: nil,
puppetmaster_user: 'puppet',
dogapi_version: 'installed',
}
end
ALL_OS.each do |operatingsystem|
describe "datadog_agent class common actions on #{operatingsystem}" do
let(:facts) do
{
operatingsystem: operatingsystem,
osfamily: DEBIAN_OS.include?(operatingsystem) ? 'debian' : 'redhat',
operatingsystemrelease: DEBIAN_OS.include?(operatingsystem) ? '14.04' : '7',
}
end
it { should contain_class('ruby').with_rubygems_update(false) }
it { should contain_class('ruby::params') }
it { should contain_package('ruby').with_ensure('installed') }
it { should contain_package('rubygems').with_ensure('installed') }
if DEBIAN_OS.include?(operatingsystem)
it do
should contain_package('ruby-dev')\
.with_ensure('installed')\
.that_comes_before('Package[dogapi]')
end
elsif REDHAT_OS.include?(operatingsystem)
it do
should contain_package('ruby-devel')\
.with_ensure('installed')\
.that_comes_before('Package[dogapi]')
end
end
it do
should contain_package('dogapi')\
.with_ensure('installed')
.with_provider('puppetserver_gem')
end
it do
should contain_file('/etc/datadog-agent/datadog-reports.yaml')\
.with_owner('puppet')\
.with_group('root')
end
end
end
end
context 'specific dogapi version' do
let(:params) do
{
api_key: 'notanapikey',
hostname_extraction_regex: nil,
puppetmaster_user: 'puppet',
dogapi_version: '1.2.2'
}
end
describe "datadog_agent class dogapi version override" do
let(:facts) do
{
operatingsystem: 'Debian',
osfamily: 'debian'
}
end
it { should contain_class('ruby').with_rubygems_update(false) }
it { should contain_class('ruby::params') }
it { should contain_package('ruby').with_ensure('installed') }
it { should contain_package('rubygems').with_ensure('installed') }
it do
should contain_package('ruby-dev')\
.with_ensure('installed')\
.that_comes_before('Package[dogapi]')
end
it do
should contain_package('dogapi')\
.with_ensure('1.2.2')
.with_provider('puppetserver_gem')
end
it do
should contain_file('/etc/datadog-agent/datadog-reports.yaml')\
.with_owner('puppet')\
.with_group('root')
end
end
end
end