4ce066a09665fef64c332739e7e9f50b3a725960
[mirror/dsa-puppet.git] / 3rdparty / modules / cinder / spec / classes / cinder_scheduler_spec.rb
1 require 'spec_helper'
2
3 describe 'cinder::scheduler' do
4
5   describe 'on debian platforms' do
6
7     let :facts do
8       { :osfamily => 'Debian' }
9     end
10
11     describe 'with default parameters' do
12
13       it { should contain_class('cinder::params') }
14
15       it { should contain_package('cinder-scheduler').with(
16         :name      => 'cinder-scheduler',
17         :ensure    => 'present',
18         :before    => 'Service[cinder-scheduler]'
19       ) }
20
21       it { should contain_service('cinder-scheduler').with(
22         :name      => 'cinder-scheduler',
23         :enable    => true,
24         :ensure    => 'running',
25         :require   => 'Package[cinder]',
26         :hasstatus => true
27       ) }
28     end
29
30     describe 'with parameters' do
31
32       let :params do
33         { :scheduler_driver => 'cinder.scheduler.filter_scheduler.FilterScheduler',
34           :package_ensure   => 'present'
35         }
36       end
37
38       it { should contain_cinder_config('DEFAULT/scheduler_driver').with_value('cinder.scheduler.filter_scheduler.FilterScheduler') }
39       it { should contain_package('cinder-scheduler').with_ensure('present') }
40     end
41
42     describe 'with manage_service false' do
43       let :params do
44         { 'manage_service' => false
45         }
46       end
47       it 'should not change the state of the service' do
48         should contain_service('cinder-scheduler').without_ensure
49       end
50     end
51   end
52
53
54   describe 'on rhel platforms' do
55
56     let :facts do
57       { :osfamily => 'RedHat' }
58     end
59
60     describe 'with default parameters' do
61
62       it { should contain_class('cinder::params') }
63
64       it { should contain_service('cinder-scheduler').with(
65         :name    => 'openstack-cinder-scheduler',
66         :enable  => true,
67         :ensure  => 'running',
68         :require => 'Package[cinder]'
69       ) }
70     end
71
72     describe 'with parameters' do
73
74       let :params do
75         { :scheduler_driver => 'cinder.scheduler.filter_scheduler.FilterScheduler' }
76       end
77
78       it { should contain_cinder_config('DEFAULT/scheduler_driver').with_value('cinder.scheduler.filter_scheduler.FilterScheduler') }
79     end
80   end
81 end