X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=3rdparty%2Fmodules%2Fpostgresql%2Fspec%2Funit%2Fdefines%2Fserver%2Freassign_owned_by_spec.rb;fp=3rdparty%2Fmodules%2Fpostgresql%2Fspec%2Funit%2Fdefines%2Fserver%2Freassign_owned_by_spec.rb;h=72f67c3b49f46482ffadfb618fa2a9758b9e43cf;hb=a69999e580f8b3abd12446c2d6ad59e517651813;hp=0000000000000000000000000000000000000000;hpb=e7b6b352165009c385c52fcfe5a1055690dbfa4b;p=mirror%2Fdsa-puppet.git diff --git a/3rdparty/modules/postgresql/spec/unit/defines/server/reassign_owned_by_spec.rb b/3rdparty/modules/postgresql/spec/unit/defines/server/reassign_owned_by_spec.rb new file mode 100644 index 000000000..72f67c3b4 --- /dev/null +++ b/3rdparty/modules/postgresql/spec/unit/defines/server/reassign_owned_by_spec.rb @@ -0,0 +1,44 @@ +require 'spec_helper' + +describe 'postgresql::server::reassign_owned_by', :type => :define do + let :facts do + { + :osfamily => 'Debian', + :operatingsystem => 'Debian', + :operatingsystemrelease => '6.0', + :kernel => 'Linux', + :concat_basedir => tmpfilename('reassign_owned_by'), + :id => 'root', + :path => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin', + } + end + + let :title do + 'test' + end + + let :params do + { + :db => 'test', + :old_role => 'test_old_role', + :new_role => 'test_new_role', + } + end + + let :pre_condition do + <<-EOS + class {'postgresql::server':} + postgresql::server::role{ ['test_old_role','test_new_role']: } + EOS + end + + it { is_expected.to contain_postgresql__server__reassign_owned_by('test') } + + it { + is_expected.to contain_postgresql_psql('reassign_owned_by:test:REASSIGN OWNED BY "test_old_role" TO "test_new_role"').with({ + 'command' => "REASSIGN OWNED BY \"test_old_role\" TO \"test_new_role\"", + 'onlyif' => /SELECT tablename FROM pg_catalog.pg_tables WHERE\s*schemaname NOT IN \('pg_catalog', 'information_schema'\) AND\s*tableowner = 'test_old_role'.*/m, + }).that_requires('Class[postgresql::server]') + } + +end