52 lines
1.2 KiB
Ruby
52 lines
1.2 KiB
Ruby
|
require 'spec_helper_system'
|
||
|
|
||
|
describe 'postgresql_psql:' do
|
||
|
after :all do
|
||
|
# Cleanup after tests have ran
|
||
|
puppet_apply("class { 'postgresql::server': ensure => absent }") do |r|
|
||
|
r.exit_code.should_not == 1
|
||
|
end
|
||
|
end
|
||
|
|
||
|
it 'should run some SQL when the unless query returns no rows' do
|
||
|
pp = <<-EOS
|
||
|
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
|
||
|
|
||
|
puppet_apply(pp) do |r|
|
||
|
r.exit_code.should_not == 1
|
||
|
r.refresh
|
||
|
r.exit_code.should == 2
|
||
|
end
|
||
|
end
|
||
|
|
||
|
it 'should not run SQL when the unless query returns rows' do
|
||
|
pp = <<-EOS
|
||
|
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
|
||
|
|
||
|
puppet_apply(pp) do |r|
|
||
|
r.exit_code.should_not == 1
|
||
|
r.refresh
|
||
|
r.exit_code.should == 0
|
||
|
end
|
||
|
end
|
||
|
|
||
|
end
|