140 lines
4.0 KiB
Ruby
140 lines
4.0 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe 'ceilometer::db' do
|
|
|
|
# debian has "python-pymongo"
|
|
context 'on Debian platforms' do
|
|
let :facts do
|
|
{ :osfamily => 'Debian' }
|
|
end
|
|
|
|
let :params do
|
|
{ :database_connection => 'mongodb://localhost:1234/ceilometer',
|
|
:sync_db => true }
|
|
end
|
|
|
|
it { is_expected.to contain_class('ceilometer::params') }
|
|
|
|
it 'installs python-mongodb package' do
|
|
is_expected.to contain_package('ceilometer-backend-package').with(
|
|
:ensure => 'present',
|
|
:name => 'python-pymongo',
|
|
:tag => 'openstack'
|
|
)
|
|
is_expected.to contain_ceilometer_config('database/connection').with_value('mongodb://localhost:1234/ceilometer')
|
|
is_expected.to contain_ceilometer_config('database/connection').with_value( params[:database_connection] ).with_secret(true)
|
|
end
|
|
|
|
it 'includes ceilometer::db::sync' do
|
|
is_expected.to contain_class('ceilometer::db::sync')
|
|
end
|
|
end
|
|
|
|
context 'on Redhat platforms' do
|
|
let :facts do
|
|
{ :osfamily => 'Redhat',
|
|
:operatingsystem => 'Fedora',
|
|
:operatingsystemrelease => 21
|
|
}
|
|
end
|
|
|
|
let :params do
|
|
{ :database_connection => 'mongodb://localhost:1234/ceilometer',
|
|
:sync_db => false }
|
|
end
|
|
|
|
it { is_expected.to contain_class('ceilometer::params') }
|
|
|
|
it 'installs pymongo package' do
|
|
is_expected.to contain_package('ceilometer-backend-package').with(
|
|
:ensure => 'present',
|
|
:name => 'python-pymongo')
|
|
is_expected.to contain_ceilometer_config('database/connection').with_value('mongodb://localhost:1234/ceilometer')
|
|
is_expected.to contain_ceilometer_config('database/connection').with_value( params[:database_connection] ).with_secret(true)
|
|
end
|
|
|
|
it 'does not include ceilometer::db::sync' do
|
|
is_expected.not_to contain_class('ceilometer::db::sync')
|
|
end
|
|
end
|
|
|
|
# RHEL has python-pymongo too
|
|
context 'on Redhat platforms' do
|
|
let :facts do
|
|
{ :osfamily => 'Redhat',
|
|
:operatingsystem => 'CentOS',
|
|
:operatingsystemrelease => 6.4
|
|
}
|
|
end
|
|
|
|
let :params do
|
|
{ :database_connection => 'mongodb://localhost:1234/ceilometer',
|
|
:sync_db => true }
|
|
end
|
|
|
|
it { is_expected.to contain_class('ceilometer::params') }
|
|
|
|
it 'installs pymongo package' do
|
|
is_expected.to contain_package('ceilometer-backend-package').with(
|
|
:ensure => 'present',
|
|
:name => 'python-pymongo')
|
|
end
|
|
|
|
it 'includes ceilometer::db::sync' do
|
|
is_expected.to contain_class('ceilometer::db::sync')
|
|
end
|
|
end
|
|
|
|
# RHEL has python-sqlite2
|
|
context 'on Redhat platforms' do
|
|
let :facts do
|
|
{ :osfamily => 'Redhat',
|
|
:operatingsystem => 'CentOS',
|
|
:operatingsystemrelease => 6.4
|
|
}
|
|
end
|
|
|
|
let :params do
|
|
{ :database_connection => 'sqlite:///var/lib/ceilometer.db',
|
|
:sync_db => false }
|
|
end
|
|
|
|
it { is_expected.to contain_class('ceilometer::params') }
|
|
|
|
it 'installs pymongo package' do
|
|
is_expected.to contain_ceilometer_config('database/connection').with_value('sqlite:///var/lib/ceilometer.db')
|
|
is_expected.to contain_ceilometer_config('database/connection').with_value( params[:database_connection] ).with_secret(true)
|
|
end
|
|
|
|
it 'does not include ceilomter::db::sync' do
|
|
is_expected.not_to contain_class('ceilometer::db::sync')
|
|
end
|
|
end
|
|
|
|
# debian has "python-pysqlite2"
|
|
context 'on Debian platforms' do
|
|
let :facts do
|
|
{ :osfamily => 'Debian' }
|
|
end
|
|
|
|
let :params do
|
|
{ :database_connection => 'sqlite:///var/lib/ceilometer.db',
|
|
:sync_db => true }
|
|
end
|
|
|
|
it { is_expected.to contain_class('ceilometer::params') }
|
|
|
|
it 'installs python-mongodb package' do
|
|
is_expected.to contain_package('ceilometer-backend-package').with(
|
|
:ensure => 'present',
|
|
:name => 'python-pysqlite2')
|
|
end
|
|
|
|
it 'includes ceilometer::db::sync' do
|
|
is_expected.to contain_class('ceilometer::db::sync')
|
|
end
|
|
end
|
|
|
|
end
|
|
|