]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - 3rdparty/modules/cinder/spec/classes/cinder_scheduler_spec.rb
try again, with puppetforge modules, correctly included now
[dsa-puppet.git] / 3rdparty / modules / cinder / spec / classes / cinder_scheduler_spec.rb
diff --git a/3rdparty/modules/cinder/spec/classes/cinder_scheduler_spec.rb b/3rdparty/modules/cinder/spec/classes/cinder_scheduler_spec.rb
new file mode 100644 (file)
index 0000000..4ce066a
--- /dev/null
@@ -0,0 +1,81 @@
+require 'spec_helper'
+
+describe 'cinder::scheduler' do
+
+  describe 'on debian platforms' do
+
+    let :facts do
+      { :osfamily => 'Debian' }
+    end
+
+    describe 'with default parameters' do
+
+      it { should contain_class('cinder::params') }
+
+      it { should contain_package('cinder-scheduler').with(
+        :name      => 'cinder-scheduler',
+        :ensure    => 'present',
+        :before    => 'Service[cinder-scheduler]'
+      ) }
+
+      it { should contain_service('cinder-scheduler').with(
+        :name      => 'cinder-scheduler',
+        :enable    => true,
+        :ensure    => 'running',
+        :require   => 'Package[cinder]',
+        :hasstatus => true
+      ) }
+    end
+
+    describe 'with parameters' do
+
+      let :params do
+        { :scheduler_driver => 'cinder.scheduler.filter_scheduler.FilterScheduler',
+          :package_ensure   => 'present'
+        }
+      end
+
+      it { should contain_cinder_config('DEFAULT/scheduler_driver').with_value('cinder.scheduler.filter_scheduler.FilterScheduler') }
+      it { should contain_package('cinder-scheduler').with_ensure('present') }
+    end
+
+    describe 'with manage_service false' do
+      let :params do
+        { 'manage_service' => false
+        }
+      end
+      it 'should not change the state of the service' do
+        should contain_service('cinder-scheduler').without_ensure
+      end
+    end
+  end
+
+
+  describe 'on rhel platforms' do
+
+    let :facts do
+      { :osfamily => 'RedHat' }
+    end
+
+    describe 'with default parameters' do
+
+      it { should contain_class('cinder::params') }
+
+      it { should contain_service('cinder-scheduler').with(
+        :name    => 'openstack-cinder-scheduler',
+        :enable  => true,
+        :ensure  => 'running',
+        :require => 'Package[cinder]'
+      ) }
+    end
+
+    describe 'with parameters' do
+
+      let :params do
+        { :scheduler_driver => 'cinder.scheduler.filter_scheduler.FilterScheduler' }
+      end
+
+      it { should contain_cinder_config('DEFAULT/scheduler_driver').with_value('cinder.scheduler.filter_scheduler.FilterScheduler') }
+    end
+  end
+end