Support SSL in the regression tests. Fixes #2170

This commit is contained in:
Murtuza Zabuawala
2017-07-18 15:23:11 +01:00
committed by Dave Page
parent 6396b8ce18
commit bab3da24e6
55 changed files with 266 additions and 119 deletions

View File

@@ -52,7 +52,8 @@ class CastsAddTestCase(BaseTestGenerator):
self.server['username'],
self.server['db_password'],
self.server['host'],
self.server['port'])
self.server['port'],
self.server['sslmode'])
cast_utils.drop_cast(connection, self.data["srctyp"],
self.data["trgtyp"])
database_utils.disconnect_database(self, self.server_id,

View File

@@ -48,7 +48,8 @@ class CastsDeleteTestCase(BaseTestGenerator):
self.server['username'],
self.server['db_password'],
self.server['host'],
self.server['port'])
self.server['port'],
self.server['sslmode'])
response = cast_utils.verify_cast(connection, self.source_type,
self.target_type)
if len(response) == 0:

View File

@@ -58,7 +58,8 @@ class CastsGetTestCase(BaseTestGenerator):
self.server['username'],
self.server['db_password'],
self.server['host'],
self.server['port'])
self.server['port'],
self.server['sslmode'])
cast_utils.drop_cast(connection, self.source_type,
self.target_type)
database_utils.disconnect_database(self, self.server_id,

View File

@@ -43,7 +43,8 @@ def create_cast(server, source_type, target_type):
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
old_isolation_level = connection.isolation_level
connection.set_isolation_level(0)
pg_cursor = connection.cursor()

View File

@@ -37,7 +37,8 @@ def create_event_trigger(server, db_name, schema_name, func_name,
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
old_isolation_level = connection.isolation_level
connection.set_isolation_level(0)
pg_cursor = connection.cursor()
@@ -77,7 +78,8 @@ def verify_event_trigger(server, db_name, trigger_name):
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
pg_cursor = connection.cursor()
pg_cursor.execute(
"SELECT oid FROM pg_event_trigger WHERE evtname = '%s'"

View File

@@ -43,7 +43,8 @@ def create_extension(server, db_name, extension_name, schema_name):
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
old_isolation_level = connection.isolation_level
connection.set_isolation_level(0)
pg_cursor = connection.cursor()
@@ -83,7 +84,8 @@ def verify_extension(server, db_name, extension_name):
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
pg_cursor = connection.cursor()
pg_cursor.execute(
@@ -111,7 +113,8 @@ def drop_extension(server, db_name, extension_name):
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
pg_cursor = connection.cursor()
pg_cursor.execute(
"SELECT * FROM pg_extension WHERE extname='%s'"

View File

@@ -31,7 +31,8 @@ def create_fsrv(server, db_name, fsrv_name, fdw_name):
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
old_isolation_level = connection.isolation_level
connection.set_isolation_level(0)
pg_cursor = connection.cursor()
@@ -67,7 +68,8 @@ def verify_fsrv(server, db_name , fsrv_name):
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
pg_cursor = connection.cursor()
pg_cursor.execute(

View File

@@ -33,7 +33,8 @@ def create_user_mapping(server, db_name, fsrv_name):
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
old_isolation_level = connection.isolation_level
connection.set_isolation_level(0)
pg_cursor = connection.cursor()
@@ -73,7 +74,8 @@ def verify_user_mapping(server, db_name, fsrv_name):
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
pg_cursor = connection.cursor()
pg_cursor.execute(
"select umid from pg_user_mappings where srvname = '%s' order by"

View File

@@ -58,7 +58,8 @@ def create_fdw(server, db_name, fdw_name):
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
old_isolation_level = connection.isolation_level
connection.set_isolation_level(0)
pg_cursor = connection.cursor()
@@ -96,7 +97,8 @@ def verify_fdw(server, db_name, fdw_name):
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
pg_cursor = connection.cursor()
pg_cursor.execute(
"SELECT oid FROM pg_foreign_data_wrapper WHERE fdwname = '%s'"

View File

@@ -32,7 +32,8 @@ def create_language(server, db_name, lang_name):
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
pg_cursor = connection.cursor()
query = ("CREATE TRUSTED PROCEDURAL LANGUAGE %s "
@@ -67,7 +68,8 @@ def verify_language(server, db_name, lang_name):
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
pg_cursor = connection.cursor()
pg_cursor.execute("SELECT oid from pg_language where lanname='%s'" %
lang_name)
@@ -94,7 +96,8 @@ def delete_language(server, db_name, lang_name):
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
pg_cursor = connection.cursor()
pg_cursor.execute("SELECT * from pg_language where lanname='%s'" %
lang_name)

View File

@@ -35,7 +35,8 @@ class CollationAddTestCase(BaseTestGenerator):
self.server['username'],
self.server['db_password'],
self.server['host'],
self.server['port'])
self.server['port'],
self.server['sslmode'])
self.schema_details = schema_utils.create_schema(connection,
self.schema_name)

View File

@@ -22,7 +22,8 @@ def create_collation(server, schema_name, coll_name, db_name):
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
pg_cursor = connection.cursor()
pg_cursor.execute('CREATE COLLATION %s.%s FROM pg_catalog."POSIX"' %
(schema_name, coll_name))
@@ -46,7 +47,8 @@ def verify_collation(server, db_name, coll_name):
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
pg_cursor = connection.cursor()
# Get 'oid' from newly created database
pg_cursor.execute("SELECT coll.oid, coll.collname FROM"

View File

@@ -27,7 +27,8 @@ def create_fts_configuration(server, db_name, schema_name, fts_conf_name):
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
pg_cursor = connection.cursor()
query = "CREATE TEXT SEARCH CONFIGURATION " + schema_name + "." + fts_conf_name + \
@@ -69,7 +70,8 @@ def verify_fts_configuration(server, db_name, fts_conf_name):
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
pg_cursor = connection.cursor()
pg_cursor.execute(

View File

@@ -26,7 +26,8 @@ def create_fts_dictionary(server, db_name, schema_name, fts_dict_name):
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
pg_cursor = connection.cursor()
query = "CREATE TEXT SEARCH DICTIONARY %s.%s (TEMPLATE = simple)" % (
@@ -68,7 +69,8 @@ def verify_fts_dict(server, db_name, fts_dict_name):
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
pg_cursor = connection.cursor()
pg_cursor.execute(

View File

@@ -26,7 +26,8 @@ def create_fts_parser(server, db_name, schema_name, fts_parser_name):
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
pg_cursor = connection.cursor()
query = "DROP TEXT SEARCH PARSER IF EXISTS " + schema_name + "." + fts_parser_name
@@ -72,7 +73,8 @@ def verify_fts_parser(server, db_name, fts_parser_name):
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
pg_cursor = connection.cursor()
pg_cursor.execute(

View File

@@ -26,7 +26,8 @@ def create_fts_template(server, db_name, schema_name, fts_temp_name):
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
pg_cursor = connection.cursor()
query = "DROP TEXT SEARCH TEMPLATE IF EXISTS " + schema_name + "." + fts_temp_name
@@ -69,7 +70,8 @@ def verify_fts_template(server, db_name, fts_temp_name):
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
pg_cursor = connection.cursor()
pg_cursor.execute(

View File

@@ -23,7 +23,8 @@ def create_trigger_function(server, db_name, schema_name, func_name,
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
pg_cursor = connection.cursor()
r_type = "event_trigger"
if server_version != 0:
@@ -53,7 +54,8 @@ def create_trigger_function_with_trigger(server, db_name, schema_name,
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
pg_cursor = connection.cursor()
query = "CREATE FUNCTION "+schema_name+"."+func_name+"()" \
" RETURNS trigger LANGUAGE 'plpgsql' STABLE LEAKPROOF" \
@@ -78,7 +80,8 @@ def verify_trigger_function(server, db_name, func_name):
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
pg_cursor = connection.cursor()
pg_cursor.execute("SELECT pro.oid, pro.proname FROM"
" pg_proc pro WHERE pro.proname='%s'" %

View File

@@ -34,7 +34,8 @@ def create_package(server, db_name, schema_name, pkg_name, proc_name):
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
pg_cursor = connection.cursor()
query = "CREATE OR REPLACE PACKAGE %s.%s IS PROCEDURE %s(); END %s; " \
"CREATE OR REPLACE PACKAGE BODY %s.%s IS PROCEDURE %s() IS BEGIN " \
@@ -71,7 +72,8 @@ def verify_package(server, db_name, pkg_name):
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
pg_cursor = connection.cursor()
pg_cursor.execute("SELECT oid FROM pg_namespace WHERE nspname='%s'" %
pkg_name)

View File

@@ -34,7 +34,8 @@ def create_sequences(server, db_name, schema_name, sequence_name):
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
pg_cursor = connection.cursor()
query = "CREATE SEQUENCE %s.%s START 101" % (schema_name,
sequence_name)
@@ -70,7 +71,8 @@ def verify_sequence(server, db_name, sequence_name):
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
pg_cursor = connection.cursor()
pg_cursor.execute("select * from pg_class where relname='%s'" %
sequence_name)

View File

@@ -36,7 +36,8 @@ def create_column(server, db_name, schema_name, table_name, col_name):
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
old_isolation_level = connection.isolation_level
connection.set_isolation_level(0)
pg_cursor = connection.cursor()
@@ -76,7 +77,8 @@ def verify_column(server, db_name, col_name):
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
pg_cursor = connection.cursor()
pg_cursor.execute("select * from pg_attribute where attname='%s'" %
col_name)

View File

@@ -37,7 +37,8 @@ def create_foreignkey(server, db_name, schema_name, local_table_name,
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
old_isolation_level = connection.isolation_level
connection.set_isolation_level(0)
pg_cursor = connection.cursor()
@@ -78,7 +79,8 @@ def verify_foreignkey(server, db_name, local_table_name):
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
pg_cursor = connection.cursor()
pg_cursor.execute(
"SELECT oid FROM pg_constraint where conname='%s_id_fkey'" %

View File

@@ -39,7 +39,8 @@ def create_index_constraint(server, db_name, schema_name, table_name,
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
old_isolation_level = connection.isolation_level
connection.set_isolation_level(0)
pg_cursor = connection.cursor()
@@ -76,7 +77,8 @@ def verify_index_constraint(server, db_name, table_name):
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
pg_cursor = connection.cursor()
pg_cursor.execute(
"SELECT oid FROM pg_constraint where conname='%s'" %

View File

@@ -39,7 +39,8 @@ def create_index(server, db_name, schema_name, table_name, index_name,
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
old_isolation_level = connection.isolation_level
connection.set_isolation_level(0)
pg_cursor = connection.cursor()
@@ -80,7 +81,8 @@ def verify_index(server, db_name, index_name):
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
pg_cursor = connection.cursor()
pg_cursor.execute("select * from pg_class where relname='%s'" %
index_name)

View File

@@ -36,7 +36,8 @@ def create_rule(server, db_name, schema_name, table_name, rule_name):
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
old_isolation_level = connection.isolation_level
connection.set_isolation_level(0)
pg_cursor = connection.cursor()
@@ -76,7 +77,8 @@ def verify_rule(server, db_name, rule_name):
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
pg_cursor = connection.cursor()
pg_cursor.execute("select * from pg_rewrite where rulename='%s'" %
rule_name)

View File

@@ -34,7 +34,8 @@ def create_table(server, db_name, schema_name, table_name):
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
old_isolation_level = connection.isolation_level
connection.set_isolation_level(0)
pg_cursor = connection.cursor()
@@ -75,7 +76,8 @@ def verify_table(server, db_name, table_id):
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
pg_cursor = connection.cursor()
pg_cursor.execute("SELECT * FROM pg_class tb WHERE tb.oid=%s" %
table_id)
@@ -107,7 +109,8 @@ def create_table_for_partition(server, db_name, schema_name, table_name,
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
old_isolation_level = connection.isolation_level
connection.set_isolation_level(0)
pg_cursor = connection.cursor()

View File

@@ -39,7 +39,8 @@ def create_trigger(server, db_name, schema_name, table_name, trigger_name,
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
old_isolation_level = connection.isolation_level
connection.set_isolation_level(0)
pg_cursor = connection.cursor()
@@ -80,7 +81,8 @@ def verify_trigger(server, db_name, trigger_name):
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
pg_cursor = connection.cursor()
pg_cursor.execute("SELECT oid FROM pg_trigger where tgname='%s'" %
trigger_name)

View File

@@ -34,7 +34,8 @@ class SchemaPutTestCase(BaseTestGenerator):
self.server['username'],
self.server['db_password'],
self.server['host'],
self.server['port'])
self.server['port'],
self.server['sslmode'])
self.schema_details = schema_utils.create_schema(connection,
self.schema_name)

View File

@@ -75,7 +75,8 @@ def verify_schemas(server, db_name, schema_name):
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
pg_cursor = connection.cursor()
pg_cursor.execute("SELECT * FROM pg_namespace sch"
" WHERE sch.nspname='%s'" % schema_name)

View File

@@ -36,7 +36,8 @@ def create_view(server, db_name, schema_name, sql_query, view_name):
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
old_isolation_level = connection.isolation_level
connection.set_isolation_level(0)
pg_cursor = connection.cursor()
@@ -74,7 +75,8 @@ def verify_view(server, db_name, view_name):
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
pg_cursor = connection.cursor()
pg_cursor.execute("select oid from pg_class where relname='%s'" %
view_name)

View File

@@ -50,5 +50,6 @@ class DatabaseDeleteTestCase(BaseTestGenerator):
self.server['username'],
self.server['db_password'],
self.server['host'],
self.server['port'])
self.server['port'],
self.server['sslmode'])
utils.drop_database(connection, self.db_name)

View File

@@ -58,6 +58,7 @@ class ResourceGroupsAddTestCase(BaseTestGenerator):
self.server['username'],
self.server['db_password'],
self.server['host'],
self.server['port'])
self.server['port'],
self.server['sslmode'])
resource_groups_utils.delete_resource_group(connection,
self.resource_group)

View File

@@ -60,6 +60,7 @@ class ResourceGroupsDeleteTestCase(BaseTestGenerator):
self.server['username'],
self.server['db_password'],
self.server['host'],
self.server['port'])
self.server['port'],
self.server['sslmode'])
resource_groups_utils.delete_resource_group(connection,
self.resource_group)

View File

@@ -65,6 +65,7 @@ class ResourceGroupsPutTestCase(BaseTestGenerator):
self.server['username'],
self.server['db_password'],
self.server['host'],
self.server['port'])
self.server['port'],
self.server['sslmode'])
resource_groups_utils.delete_resource_group(connection,
self.resource_group_name)

View File

@@ -60,6 +60,7 @@ class ResourceGroupsGetTestCase(BaseTestGenerator):
self.server['username'],
self.server['db_password'],
self.server['host'],
self.server['port'])
self.server['port'],
self.server['sslmode'])
resource_groups_utils.delete_resource_group(connection,
self.resource_group)

View File

@@ -30,7 +30,8 @@ def create_resource_groups(server, resource_group_name):
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
old_isolation_level = connection.isolation_level
connection.set_isolation_level(0)
pg_cursor = connection.cursor()
@@ -64,7 +65,8 @@ def verify_resource_group(server, resource_group_name):
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
pg_cursor = connection.cursor()
pg_cursor.execute("SELECT * FROM edb_resource_group WHERE "
"rgrpname='%s'" % resource_group_name)

View File

@@ -53,5 +53,6 @@ class LoginRoleAddTestCase(BaseTestGenerator):
self.server['username'],
self.server['db_password'],
self.server['host'],
self.server['port'])
self.server['port'],
self.server['sslmode'])
roles_utils.delete_role(connection, self.role_name)

View File

@@ -44,6 +44,7 @@ class LoginRoleDeleteTestCase(BaseTestGenerator):
self.server['username'],
self.server['db_password'],
self.server['host'],
self.server['port'])
self.server['port'],
self.server['sslmode'])
roles_utils.delete_role(connection, self.role_name)

View File

@@ -44,5 +44,6 @@ class LoginRoleGetTestCase(BaseTestGenerator):
self.server['username'],
self.server['db_password'],
self.server['host'],
self.server['port'])
self.server['port'],
self.server['sslmode'])
roles_utils.delete_role(connection, self.role_name)

View File

@@ -53,6 +53,7 @@ class LoginRolePutTestCase(BaseTestGenerator):
self.server['username'],
self.server['db_password'],
self.server['host'],
self.server['port'])
self.server['port'],
self.server['sslmode'])
roles_utils.delete_role(connection, self.role_name)

View File

@@ -36,7 +36,8 @@ def verify_role(server, role_name):
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
pg_cursor = connection.cursor()
pg_cursor.execute(
"SELECT * from pg_catalog.pg_roles pr WHERE pr.rolname='%s'" %
@@ -100,7 +101,8 @@ def create_role(server, role_name):
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
pg_cursor = connection.cursor()
pg_cursor.execute("CREATE ROLE %s LOGIN" % role_name)
connection.commit()

View File

@@ -68,5 +68,6 @@ class TableSpaceAddTestCase(BaseTestGenerator):
self.server['username'],
self.server['db_password'],
self.server['host'],
self.server['port'])
self.server['port'],
self.server['sslmode'])
tablespace_utils.delete_tablespace(connection, self.tablespace_name)

View File

@@ -62,6 +62,7 @@ class TableSpaceDeleteTestCase(BaseTestGenerator):
self.server['username'],
self.server['db_password'],
self.server['host'],
self.server['port'])
self.server['port'],
self.server['sslmode'])
tablespace_utils.delete_tablespace(connection, self.tablespace_name)

View File

@@ -62,5 +62,6 @@ class TablespaceGetTestCase(BaseTestGenerator):
self.server['username'],
self.server['db_password'],
self.server['host'],
self.server['port'])
self.server['port'],
self.server['sslmode'])
tablespace_utils.delete_tablespace(connection, self.tablespace_name)

View File

@@ -63,5 +63,6 @@ class TableSpaceUpdateTestCase(BaseTestGenerator):
self.server['username'],
self.server['db_password'],
self.server['host'],
self.server['port'])
self.server['port'],
self.server['sslmode'])
tablespace_utils.delete_tablespace(connection, self.tablespace_name)

View File

@@ -50,7 +50,8 @@ def create_tablespace(server, test_tablespace_name):
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
old_isolation_level = connection.isolation_level
connection.set_isolation_level(0)
pg_cursor = connection.cursor()
@@ -88,7 +89,8 @@ def verify_table_space(server, test_tablespace_name):
server['username'],
server['db_password'],
server['host'],
server['port'])
server['port'],
server['sslmode'])
pg_cursor = connection.cursor()
pg_cursor.execute("SELECT * FROM pg_tablespace ts WHERE"
" ts.spcname='%s'" % test_tablespace_name)

View File

@@ -16,7 +16,8 @@ class TestCheckRecovery(BaseTestGenerator):
self.server['username'],
self.server['db_password'],
self.server['host'],
self.server['port']).cursor()
self.server['port'],
self.server['sslmode']).cursor()
if cursor is not None and cursor.connection is not None:
server_version = cursor.connection.server_version

View File

@@ -0,0 +1,39 @@
##########################################################################
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2017, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
from pgadmin.utils.route import BaseTestGenerator
from regression.python_test_utils import test_utils
class TestSSLConnection(BaseTestGenerator):
"""This will check if SSL is used in our database connection"""
scenarios = [
("Test for SSL connection", dict())
]
def runTest(self):
if hasattr(self, "ignore_test"):
return
supported_modes = ['require', 'verify-ca', 'verify-full']
if self.server['sslmode'] in supported_modes:
with test_utils.Database(self.server) as (
connection, database_name
):
cursor = connection.cursor()
cursor.execute("CREATE EXTENSION sslinfo")
connection.commit()
cursor.execute("SELECT ssl_is_used()")
is_ssl_used = cursor.fetchone()[0]
self.assertEquals(True, is_ssl_used)
else:
self.skipTest("Cannot run SSL connection check test "
"with '{0}' sslmode".format(
self.server['sslmode']
))