43 lines
1.2 KiB
Ruby
43 lines
1.2 KiB
Ruby
require 'spec_helper_acceptance'
|
|
|
|
describe 'postgresql_psql:', :unless => UNSUPPORTED_PLATFORMS.include?(fact('osfamily')) do
|
|
after :all do
|
|
# Cleanup after tests have ran
|
|
apply_manifest("class { 'postgresql::server': ensure => absent }", :catch_failures => true)
|
|
end
|
|
|
|
it 'should run some SQL when the unless query returns no rows' do
|
|
pp = <<-EOS.unindent
|
|
class { 'postgresql::server': }
|
|
|
|
postgresql_psql { 'foobar':
|
|
db => 'postgres',
|
|
psql_user => 'postgres',
|
|
command => 'select 1',
|
|
unless => 'select 1 where 1=2',
|
|
require => Class['postgresql::server'],
|
|
}
|
|
EOS
|
|
|
|
apply_manifest(pp, :catch_failures => true)
|
|
apply_manifest(pp, :catch_failures => true)
|
|
end
|
|
|
|
it 'should not run SQL when the unless query returns rows' do
|
|
pp = <<-EOS.unindent
|
|
class { 'postgresql::server': }
|
|
|
|
postgresql_psql { 'foobar':
|
|
db => 'postgres',
|
|
psql_user => 'postgres',
|
|
command => 'select * from pg_database limit 1',
|
|
unless => 'select 1 where 1=1',
|
|
require => Class['postgresql::server'],
|
|
}
|
|
EOS
|
|
|
|
apply_manifest(pp, :catch_failures => true)
|
|
apply_manifest(pp, :catch_changes => true)
|
|
end
|
|
|
|
end
|