newer pg module
[mirror/dsa-puppet.git] / 3rdparty / modules / postgresql / spec / acceptance / 00-utf8_encoding_spec.rb
diff --git a/3rdparty/modules/postgresql/spec/acceptance/00-utf8_encoding_spec.rb b/3rdparty/modules/postgresql/spec/acceptance/00-utf8_encoding_spec.rb
new file mode 100644 (file)
index 0000000..2e7770b
--- /dev/null
@@ -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 '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
+
+
+