aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Eisentraut <peter@eisentraut.org>2019-01-28 14:34:15 +0100
committerPeter Eisentraut <peter@eisentraut.org>2019-01-29 13:05:54 +0100
commit18059543e76aeb6b3cf3a5513e69daf222d3558e (patch)
tree8af5d4b7a7c352cb8e1c2cb36314c51185bcbf11
parentbdd6e9ba171765ae34d320e1be17717620cb491c (diff)
downloadpostgresql-18059543e76aeb6b3cf3a5513e69daf222d3558e.tar.gz
postgresql-18059543e76aeb6b3cf3a5513e69daf222d3558e.zip
Add tests for pg_stat_ssl system view
Reviewed-by: Kyotaro HORIGUCHI <horiguchi.kyotaro@lab.ntt.co.jp> Discussion: https://www.postgresql.org/message-id/flat/398754d8-6bb5-c5cf-e7b8-22e5f0983caf@2ndquadrant.com/
-rw-r--r--src/test/ssl/t/001_ssltests.pl22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/test/ssl/t/001_ssltests.pl b/src/test/ssl/t/001_ssltests.pl
index 2b875a3c956..74a5da578a2 100644
--- a/src/test/ssl/t/001_ssltests.pl
+++ b/src/test/ssl/t/001_ssltests.pl
@@ -8,7 +8,7 @@ use File::Copy;
if ($ENV{with_openssl} eq 'yes')
{
- plan tests => 65;
+ plan tests => 71;
}
else
{
@@ -309,6 +309,16 @@ test_connect_fails(
qr/SSL error/,
"does not connect with client-side CRL");
+# pg_stat_ssl
+command_like([
+ 'psql', '-X', '-A', '-F', ',', '-P', 'null=_null_',
+ '-d', "$common_connstr sslrootcert=invalid",
+ '-c', "SELECT * FROM pg_stat_ssl WHERE pid = pg_backend_pid()"
+ ],
+ qr{^pid,ssl,version,cipher,bits,compression,clientdn\n
+ ^\d+,t,TLSv[\d.]+,[\w-]+,\d+,f,$}mx,
+ 'pg_stat_ssl view without client certificate');
+
### Server-side tests.
###
### Test certificate authorization.
@@ -331,6 +341,16 @@ test_connect_ok(
"user=ssltestuser sslcert=ssl/client.crt sslkey=ssl/client_tmp.key",
"certificate authorization succeeds with correct client cert");
+# pg_stat_ssl
+command_like([
+ 'psql', '-X', '-A', '-F', ',', '-P', 'null=_null_',
+ '-d', "$common_connstr user=ssltestuser sslcert=ssl/client.crt sslkey=ssl/client_tmp.key",
+ '-c', "SELECT * FROM pg_stat_ssl WHERE pid = pg_backend_pid()"
+ ],
+ qr{^pid,ssl,version,cipher,bits,compression,clientdn\n
+ ^\d+,t,TLSv[\d.]+,[\w-]+,\d+,f,/CN=ssltestuser$}mx,
+ 'pg_stat_ssl with client certificate');
+
# client key with wrong permissions
test_connect_fails(
$common_connstr,