-
Notifications
You must be signed in to change notification settings - Fork 610
/
Copy pathdb_deferred_spec.rb
33 lines (28 loc) · 1.03 KB
/
db_deferred_spec.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# frozen_string_literal: true
require 'spec_helper_acceptance'
describe 'postgresql::server::db:' do
let(:user) { 'user_test' }
let(:password) { 'deferred_password_test' }
let(:database) { 'test_database' }
let(:pp_one) do
<<-MANIFEST.unindent
$user = #{user}
$password = #{password}
$database = #{database}
include postgresql::server
postgresql::server::db { $database:
user => $user,
password => Deferred('unwrap', [$password]),
}
MANIFEST
end
it 'creates a database with with the password in the deferred function' do
if run_shell('puppet --version').stdout[0].to_i < 7
skip # Deferred function fixes only in puppet 7, see https://tickets.puppetlabs.com/browse/PUP-11518
end
apply_manifest(pp_one)
psql_cmd = "PGPASSWORD=#{password} PGUSER=#{user} PGDATABASE=#{database} psql -h 127.0.0.1 -d postgres -c '\\q'"
run_shell("cd /tmp; su #{shellescape('postgres')} -c #{shellescape(psql_cmd)}",
acceptable_exit_codes: [0])
end
end