From d167ce22274db0396b00f5c1ded6e50efa7766cd Mon Sep 17 00:00:00 2001 From: =?utf8?q?Mathieu=20Gagne=CC=81?= Date: Thu, 4 Apr 2013 20:19:10 -0400 Subject: [PATCH] Add rspec tests for ceilometer::collector --- manifests/collector.pp | 3 +- spec/classes/ceilometer_collector_spec.rb | 54 +++++++++++++++++++++++ 2 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 spec/classes/ceilometer_collector_spec.rb diff --git a/manifests/collector.pp b/manifests/collector.pp index bd9228b..60193d4 100644 --- a/manifests/collector.pp +++ b/manifests/collector.pp @@ -8,7 +8,8 @@ class ceilometer::collector ( Package<| title == 'ceilometer-common' |> -> Class['ceilometer::collector'] package { 'ceilometer-collector': - ensure => installed + ensure => installed, + name => $::ceilometer::params::collector_package_name, } if $enabled { diff --git a/spec/classes/ceilometer_collector_spec.rb b/spec/classes/ceilometer_collector_spec.rb new file mode 100644 index 0000000..f6c9125 --- /dev/null +++ b/spec/classes/ceilometer_collector_spec.rb @@ -0,0 +1,54 @@ +require 'spec_helper' + +describe 'ceilometer::collector' do + + shared_examples_for 'ceilometer-collector' do + + it { should include_class('ceilometer::params') } + + it 'installs ceilometer-collector package' do + should contain_package('ceilometer-collector').with( + :ensure => 'installed', + :name => platform_params[:collector_package_name] + ) + end + + it 'configures ceilometer-collector service' do + should contain_service('ceilometer-collector').with( + :ensure => 'running', + :name => platform_params[:collector_service_name], + :enable => true, + :hasstatus => true, + :hasrestart => true, + :require => ['Package[ceilometer-collector]', 'Class[Ceilometer::Db]'], + :subscribe => 'Exec[ceilometer-dbsync]' + ) + end + end + + context 'on Debian platforms' do + let :facts do + { :osfamily => 'Debian' } + end + + let :platform_params do + { :collector_package_name => 'ceilometer-collector', + :collector_service_name => 'ceilometer-collector' } + end + + it_configures 'ceilometer-collector' + end + + context 'on RedHat platforms' do + let :facts do + { :osfamily => 'RedHat' } + end + + let :platform_params do + { :collector_package_name => 'openstack-ceilometer-collector', + :collector_service_name => 'openstack-ceilometer-collector' } + end + + it_configures 'ceilometer-collector' + end +end -- 2.45.2