]> review.fuel-infra Code Review - puppet-modules/puppet-ceilometer.git/commitdiff
Add rspec tests for ceilometer::collector
authorMathieu Gagné <mgagne@iweb.com>
Fri, 5 Apr 2013 00:19:10 +0000 (20:19 -0400)
committerMathieu Gagné <mgagne@iweb.com>
Fri, 5 Apr 2013 00:19:10 +0000 (20:19 -0400)
manifests/collector.pp
spec/classes/ceilometer_collector_spec.rb [new file with mode: 0644]

index bd9228b9e7184c7a69ee232ea86a3cad01532ba7..60193d4d43db9873795dd643911ec35aaaf4095c 100644 (file)
@@ -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 (file)
index 0000000..f6c9125
--- /dev/null
@@ -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