Skip to content

Commit 70170bc

Browse files
add acceptence test for instance test1
1 parent e5b69d7 commit 70170bc

File tree

1 file changed

+161
-0
lines changed

1 file changed

+161
-0
lines changed
+161
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,161 @@
1+
# frozen_string_literal: true
2+
3+
# run a test task
4+
require 'spec_helper_acceptance'
5+
6+
describe 'postgresql instance test1', if: os[:family] == 'redhat' && os[:release].start_with?('8') do
7+
pp = <<-MANIFEST
8+
# set global defaults
9+
class { 'postgresql::globals':
10+
encoding => 'UTF-8',
11+
locale => 'en_US.UTF-8',
12+
manage_package_repo => false,
13+
manage_dnf_module => true,
14+
needs_initdb => true,
15+
version => '13',
16+
}
17+
# stop default main instance
18+
class { 'postgresql::server':
19+
service_ensure => 'stopped',
20+
service_enable => false,
21+
}
22+
# define instance test1
23+
postgresql::server_instance { 'test1':
24+
instance_user => 'ins_test1',
25+
instance_group => 'ins_test1',
26+
instance_directories => {
27+
'/opt/pgsql' => { 'ensure' => 'directory' },
28+
'/opt/pgsql/backup' => { 'ensure' => 'directory' },
29+
'/opt/pgsql/data' => { 'ensure' => 'directory' },
30+
'/opt/pgsql/data/13' => { 'ensure' => 'directory' },
31+
'/opt/pgsql/data/home' => { 'ensure' => 'directory' },
32+
'/opt/pgsql/wal' => { 'ensure' => 'directory' },
33+
'/opt/pgsql/log' => { 'ensure' => 'directory' },
34+
'/opt/pgsql/log/13' => { 'ensure' => 'directory' },
35+
'/opt/pgsql/log/13/test1' => { 'ensure' => 'directory' },
36+
},
37+
config_settings => {
38+
'pg_hba_conf_path' => '/opt/pgsql/data/13/test1/pg_hba.conf',
39+
'postgresql_conf_path' => '/opt/pgsql/data/13/test1/postgresql.conf',
40+
'pg_ident_conf_path' => '/opt/pgsql/data/13/test1/pg_ident.conf',
41+
'datadir' => '/opt/pgsql/data/13/test1',
42+
'service_name' => 'postgresql@13-test1',
43+
'port' => 5433,
44+
'pg_hba_conf_defaults' => false,
45+
'manage_selinux' => true,
46+
},
47+
service_settings => {
48+
'service_name' => 'postgresql@13-test1',
49+
'service_status' => 'systemctl status [email protected]',
50+
'service_ensure' => 'running',
51+
'service_enable' => true,
52+
},
53+
initdb_settings => {
54+
'auth_local' => 'peer',
55+
'auth_host' => 'md5',
56+
'needs_initdb' => true,
57+
'datadir' => '/opt/pgsql/data/13/test1',
58+
'encoding' => 'UTF-8',
59+
'lc_messages' => 'en_US.UTF8',
60+
'locale' => 'en_US.UTF8',
61+
'data_checksums' => false,
62+
'group' => 'postgres',
63+
'user' => 'postgres',
64+
'username' => 'ins_test1',
65+
},
66+
config_entries => {
67+
'authentication_timeout' => {
68+
'value' => '1min',
69+
'comment' => 'a test',
70+
},
71+
'log_statement_stats' => { 'value' => 'off' },
72+
'autovacuum_vacuum_scale_factor' => { 'value' => 0.3 },
73+
},
74+
databases => {
75+
'testdb1' => {
76+
'encoding' => 'UTF8',
77+
'locale' => 'en_US.UTF8',
78+
'owner' => 'dba_test1',
79+
},
80+
'testdb2' => {
81+
'encoding' => 'UTF8',
82+
'locale' => 'en_US.UTF8',
83+
'owner' => 'dba_test1',
84+
},
85+
},
86+
roles => {
87+
'ins_test1' => {
88+
'superuser' => true,
89+
'login' => true,
90+
},
91+
'dba_test1' => {
92+
'createdb' => true,
93+
'login' => true,
94+
},
95+
'app_test1' => { 'login' => true },
96+
'rep_test1' => {
97+
'replication' => true,
98+
'login' => true,
99+
},
100+
'rou_test1' => { 'login' => true },
101+
},
102+
pg_hba_rules => {
103+
'local all INSTANCE user' => {
104+
'type' => 'local',
105+
'database' => 'all',
106+
'user' => 'ins_test1',
107+
'auth_method' => 'peer',
108+
'order' => 1,
109+
},
110+
'local all DB user' => {
111+
'type' => 'local',
112+
'database' => 'all',
113+
'user' => 'dba_test1',
114+
'auth_method' => 'peer',
115+
'order' => 2,
116+
},
117+
'local all APP user' => {
118+
'type' => 'local',
119+
'database' => 'all',
120+
'user' => 'app_test1',
121+
'auth_method' => 'peer',
122+
'order' => 3,
123+
},
124+
'local all READONLY user' => {
125+
'type' => 'local',
126+
'database' => 'all',
127+
'user' => 'rou_test1',
128+
'auth_method' => 'peer',
129+
'order' => 4,
130+
},
131+
'remote all INSTANCE user PGADMIN server' => {
132+
'type' => 'host',
133+
'database' => 'all',
134+
'user' => 'ins_test1',
135+
'address' => '192.168.22.131/32',
136+
'auth_method' => 'md5',
137+
'order' => 5,
138+
},
139+
'local replication INSTANCE user' => {
140+
'type' => 'local',
141+
'database' => 'replication',
142+
'user' => 'ins_test1',
143+
'auth_method' => 'peer',
144+
'order' => 6,
145+
},
146+
'local replication REPLICATION user' => {
147+
'type' => 'local',
148+
'database' => 'replication',
149+
'user' => 'rep_test1',
150+
'auth_method' => 'peer',
151+
'order' => 7,
152+
},
153+
},
154+
}
155+
MANIFEST
156+
157+
it 'installs postgres instance test1' do
158+
export_locales('en_US.UTF-8 ')
159+
apply_manifest(pp, catch_failures: true)
160+
end
161+
end

0 commit comments

Comments
 (0)