diff --git a/spec/acceptance/00-utf8_encoding_spec.rb b/spec/acceptance/00-utf8_encoding_spec.rb new file mode 100644 index 0000000..c0a00b4 --- /dev/null +++ b/spec/acceptance/00-utf8_encoding_spec.rb @@ -0,0 +1,37 @@ +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 'postgres::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 + + +