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