diff --git a/spec/classes/manila_db_spec.rb b/spec/classes/manila_db_spec.rb index 33deab99..9d25df9f 100644 --- a/spec/classes/manila_db_spec.rb +++ b/spec/classes/manila_db_spec.rb @@ -1,12 +1,11 @@ require 'spec_helper' describe 'manila::db' do - shared_examples 'manila::db' do - context 'with default parameters' do + it { should contain_class('manila::deps') } - it { is_expected.to contain_oslo__db('manila_config').with( + it { should contain_oslo__db('manila_config').with( :db_max_retries => '', :connection => 'sqlite:////var/lib/manila/manila.sqlite', :idle_timeout => '', @@ -17,12 +16,12 @@ describe 'manila::db' do :max_overflow => '', :pool_timeout => '', )} - end context 'with specific parameters' do let :params do - { :database_connection => 'mysql+pymysql://manila:manila@localhost/manila', + { + :database_connection => 'mysql+pymysql://manila:manila@localhost/manila', :database_idle_timeout => '3601', :database_min_pool_size => '2', :database_max_pool_size => '21', @@ -30,10 +29,13 @@ describe 'manila::db' do :database_max_overflow => '21', :database_pool_timeout => '21', :database_retry_interval => '11', - :database_db_max_retries => '-1', } + :database_db_max_retries => '-1', + } end - it { is_expected.to contain_oslo__db('manila_config').with( + it { should contain_class('manila::deps') } + + it { should contain_oslo__db('manila_config').with( :db_max_retries => '-1', :connection => 'mysql+pymysql://manila:manila@localhost/manila', :idle_timeout => '3601', @@ -44,64 +46,6 @@ describe 'manila::db' do :max_overflow => '21', :pool_timeout => '21', )} - - end - - context 'with MySQL-python library as backend package' do - let :params do - { :database_connection => 'mysql://manila:manila@localhost/manila' } - end - - it { is_expected.to contain_oslo__db('manila_config').with( - :connection => 'mysql://manila:manila@localhost/manila', - )} - end - - context 'with postgresql backend' do - let :params do - { :database_connection => 'postgresql://manila:manila@localhost/manila', } - end - - it 'install the proper backend package' do - is_expected.to contain_package('python-psycopg2').with(:ensure => 'present') - end - - end - - context 'with incorrect database_connection string' do - let :params do - { :database_connection => 'redis://manila:manila@localhost/manila', } - end - - it_raises 'a Puppet::Error', /validate_re/ - end - - context 'with incorrect database_connection string' do - let :params do - { :database_connection => 'foo+pymysql://manila:manila@localhost/manila', } - end - - it_raises 'a Puppet::Error', /validate_re/ - end - - end - - shared_examples_for 'manila::db on Debian' do - context 'using pymysql driver' do - let :params do - { :database_connection => 'mysql+pymysql://manila:manila@localhost/manila' } - end - - it { is_expected.to contain_package('python-pymysql').with({ :ensure => 'present', :name => 'python-pymysql', :tag=> 'openstack' }) } - end - end - - shared_examples_for 'manila::db on RedHat' do - context 'using pymysql driver' do - let :params do - { :database_connection => 'mysql+pymysql://manila:manila@localhost/manila' } - end - end end @@ -112,9 +56,8 @@ describe 'manila::db' do let (:facts) do facts.merge!(OSDefaults.get_facts({ :fqdn => 'some.host.tld'})) end + it_behaves_like 'manila::db' - it_behaves_like "manila::db on #{facts[:osfamily]}" end end - end