newer pg module
[mirror/dsa-puppet.git] / 3rdparty / modules / postgresql / spec / unit / defines / validate_db_connection_spec.rb
1 require 'spec_helper'
2
3 describe 'postgresql::validate_db_connection', :type => :define do
4   let :facts do
5     {
6       :osfamily => 'Debian',
7       :operatingsystem => 'Debian',
8       :operatingsystemrelease => '6.0',
9     }
10   end
11
12   let :title do
13     'test'
14   end
15
16   describe 'should work with only default parameters' do
17     it { is_expected.to contain_postgresql__validate_db_connection('test') }
18   end
19
20   describe 'should work with all parameters' do
21     let :params do
22       {
23         :database_host => 'test',
24         :database_name => 'test',
25         :database_password => 'test',
26         :database_username => 'test',
27         :database_port => 5432,
28         :run_as => 'postgresq',
29         :sleep => 4,
30         :tries => 30,
31       }
32     end
33     it { is_expected.to contain_postgresql__validate_db_connection('test') }
34
35     it 'should have proper path for validate command' do
36       is_expected.to contain_exec('validate postgres connection for test@test:5432/test').with({
37         :unless => %r'^/usr/local/bin/validate_postgresql_connection.sh\s+\d+'
38       })
39     end
40   end
41
42   describe 'should work while specifying validate_connection in postgresql::client' do
43
44     let :params do
45       {
46         :database_host => 'test',
47         :database_name => 'test',
48         :database_password => 'test',
49         :database_username => 'test',
50         :database_port => 5432
51       }
52     end
53
54     let :pre_condition do
55       <<-EOS
56         class { 'postgresql::globals':
57           module_workdir => '/var/tmp',
58         } ->
59         class { 'postgresql::client': validcon_script_path => '/opt/something/validate.sh' }
60       EOS
61     end 
62
63     it 'should have proper path for validate command and correct cwd' do
64       is_expected.to contain_exec('validate postgres connection for test@test:5432/test').with({
65         :unless => %r'^/opt/something/validate.sh\s+\d+',
66         :cwd    => '/var/tmp',
67       })
68     end
69
70   end
71
72 end