test(inspec): add tests for multiple ports and postgres versions

* Fix `opensuse-leap-15` (enable `suse` and workaround `service` bug)
* Use port `5433` for `debian` and `opensuse-leap-15`
* Use upstream repo version `10` for `debian`
This commit is contained in:
Imran Iqbal
2019-05-02 01:29:47 +01:00
parent 49fdd3333b
commit bf6a653e0b
4 changed files with 28 additions and 2 deletions

View File

@@ -1,7 +1,14 @@
# Overide by OS
pg_port = '5432'
if os[:family] == 'debian' or os[:name] == 'suse'
pg_port = '5433'
end
control 'Postgres command' do
title 'should match desired lines'
describe command(%q{su - postgres -c 'psql -qtc "\l+ db2"'}) do
# Can't use `%Q` here due to the `\`
describe command(%q{su - postgres -c 'psql -p} + pg_port + %q{ -qtc "\l+ db2"'}) do
its(:stdout) { should match(/.*db2.*my_space/) }
# its(:stdout) { should match(/db2.*remoteUser.*UTF8.*en_US\.UTF-8.*en_US\.UTF-8.*my_space/) }
end

View File

@@ -1,9 +1,17 @@
# Overide by OS
service_name = 'postgresql'
pg_port = 5432
if os[:name] == 'centos' and os[:release].start_with?('6')
service_name = 'postgresql-9.6'
elsif os[:family] == 'debian' or os[:name] == 'suse'
pg_port = 5433
end
# Temporary `if` due to `opensuse-leap-15` bug re: `service`
if os[:name] == 'suse'
puts "[Skip `service`-based tests due to `opensuse-leap-15` detection bug (see https://github.com/inspec/train/issues/377)]"
puts "[Skip `service`-based tests due to `opensuse-leap-15` bug]"
else
control 'Postgres service' do
impact 0.5
title 'should be running and enabled'
@@ -13,7 +21,8 @@ control 'Postgres service' do
it { should be_running }
end
describe port(5432) do
describe port(pg_port) do
it { should be_listening }
end
end
end