--- /dev/null
+require 'spec_helper_acceptance'
+
+# These tests are designed to ensure that the module, when ran with defaults,
+# sets up everything correctly and allows us to connect to Postgres.
+describe 'postgresql::server', :unless => UNSUPPORTED_PLATFORMS.include?(fact('osfamily')) do
+ it 'with defaults' do
+ pp = <<-EOS
+ class { 'postgresql::globals':
+ encoding => 'UTF8',
+ locale => 'en_NG',
+ } ->
+ class { 'postgresql::server': }
+ EOS
+
+ apply_manifest(pp, :catch_failures => true)
+ apply_manifest(pp, :catch_changes => true)
+ end
+
+ describe port(5432) do
+ it { is_expected.to be_listening }
+ end
+
+ it 'can connect with psql' do
+ psql('--command="\l" postgres', 'postgres') do |r|
+ expect(r.stdout).to match(/List of databases/)
+ end
+ end
+
+ it 'must set UTF8 as template1 encoding' do
+ psql('--command="SELECT pg_encoding_to_char(encoding) FROM pg_database WHERE datname=\'template1\'"') do |r|
+ expect(r.stdout).to match(/UTF8/)
+ end
+ end
+end
+
+
+