Skip to content

Commit

Permalink
test(inspec): add tests for multiple ports and postgres versions
Browse files Browse the repository at this point in the history
* 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`
  • Loading branch information
myii committed May 6, 2019
1 parent 49fdd33 commit bf6a653
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 2 deletions.
9 changes: 8 additions & 1 deletion test/integration/default/controls/command_spec.rb
Original file line number Diff line number Diff line change
@@ -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
Expand Down
11 changes: 10 additions & 1 deletion test/integration/default/controls/services_spec.rb
Original file line number Diff line number Diff line change
@@ -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'
Expand All @@ -13,7 +21,8 @@
it { should be_running }
end

describe port(5432) do
describe port(pg_port) do
it { should be_listening }
end
end
end
1 change: 1 addition & 0 deletions test/integration/default/inspec.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,4 @@ supports:
- os-name: centos
- os-name: fedora
- os-name: opensuse
- os-name: suse
9 changes: 9 additions & 0 deletions test/salt/pillar/postgres.sls
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
# Port to use for the cluster -- can be used to provide a non-standard port
# NOTE: If already set in the minion config, that value takes priority

{%- if not (grains.os_family == 'Debian' or grains.osfinger == 'Leap-15') %}
postgres.port: '5432'
{%- else %}
postgres.port: '5433'
{%- endif %}

postgres:
# UPSTREAM REPO
Expand All @@ -10,7 +15,11 @@ postgres:
{%- else %}
use_upstream_repo: True
# Version to install from upstream repository (if upstream_repo: True)
{%- if not (grains.os_family == 'Debian') %}
version: '9.6'
{%- else %}
version: '10'
{%- endif %}
# # Set True to add a file in /etc/profile.d adding the bin dir in $PATH
# # as packages from upstream put them somewhere like /usr/pgsql-10/bin
# add_profile: False
Expand Down

0 comments on commit bf6a653

Please sign in to comment.