Hi,
PFA patch to add SSL support for database connection.
RM#2170
Included test to check if current connection is using SSL or not.
--
Regards,
Murtuza Zabuawala
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
diff --git
a/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_add.py
b/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_add.py
index cf1dc9f..cae1df0 100644
---
a/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_add.py
+++
b/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_add.py
@@ -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,
diff --git
a/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_delete.py
b/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_delete.py
index 210e49d..5925a20 100644
---
a/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_delete.py
+++
b/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_delete.py
@@ -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:
diff --git
a/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_get.py
b/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_get.py
index 814508b..f734884 100644
---
a/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_get.py
+++
b/web/pgadmin/browser/server_groups/servers/databases/casts/tests/test_cast_get.py
@@ -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,
diff --git
a/web/pgadmin/browser/server_groups/servers/databases/casts/tests/utils.py
b/web/pgadmin/browser/server_groups/servers/databases/casts/tests/utils.py
index b1875c0..ea49828 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/casts/tests/utils.py
+++ b/web/pgadmin/browser/server_groups/servers/databases/casts/tests/utils.py
@@ -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()
diff --git
a/web/pgadmin/browser/server_groups/servers/databases/event_triggers/tests/utils.py
b/web/pgadmin/browser/server_groups/servers/databases/event_triggers/tests/utils.py
index 1e4040d..ae6b1d7 100644
---
a/web/pgadmin/browser/server_groups/servers/databases/event_triggers/tests/utils.py
+++
b/web/pgadmin/browser/server_groups/servers/databases/event_triggers/tests/utils.py
@@ -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'"
diff --git
a/web/pgadmin/browser/server_groups/servers/databases/extensions/tests/utils.py
b/web/pgadmin/browser/server_groups/servers/databases/extensions/tests/utils.py
index 1bf1216..fa4faba 100644
---
a/web/pgadmin/browser/server_groups/servers/databases/extensions/tests/utils.py
+++
b/web/pgadmin/browser/server_groups/servers/databases/extensions/tests/utils.py
@@ -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'"
diff --git
a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/tests/utils.py
b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/tests/utils.py
index affeac3..dd79134 100644
---
a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/tests/utils.py
+++
b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/tests/utils.py
@@ -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(
diff --git
a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mapping/tests/utils.py
b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mapping/tests/utils.py
index ee13329..3ff2b18 100644
---
a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mapping/tests/utils.py
+++
b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mapping/tests/utils.py
@@ -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"
diff --git
a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/utils.py
b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/utils.py
index 6f429a7..d8a9e0b 100644
---
a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/utils.py
+++
b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/tests/utils.py
@@ -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'"
diff --git
a/web/pgadmin/browser/server_groups/servers/databases/languages/tests/utils.py
b/web/pgadmin/browser/server_groups/servers/databases/languages/tests/utils.py
index a1ef6f9..01125c0 100644
---
a/web/pgadmin/browser/server_groups/servers/databases/languages/tests/utils.py
+++
b/web/pgadmin/browser/server_groups/servers/databases/languages/tests/utils.py
@@ -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)
diff --git
a/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/tests/test_collation_add.py
b/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/tests/test_collation_add.py
index 5f675c3..ee283aa 100644
---
a/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/tests/test_collation_add.py
+++
b/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/tests/test_collation_add.py
@@ -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)
diff --git
a/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/tests/utils.py
b/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/tests/utils.py
index 98bab96..7a55785 100644
---
a/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/tests/utils.py
+++
b/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/tests/utils.py
@@ -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"
diff --git
a/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_configurations/tests/utils.py
b/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_configurations/tests/utils.py
index 4175b19..4e4fd00 100644
---
a/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_configurations/tests/utils.py
+++
b/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_configurations/tests/utils.py
@@ -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(
diff --git
a/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_dictionaries/tests/utils.py
b/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_dictionaries/tests/utils.py
index f2a5780..0fcfff8 100644
---
a/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_dictionaries/tests/utils.py
+++
b/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_dictionaries/tests/utils.py
@@ -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(
diff --git
a/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_parser/tests/utils.py
b/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_parser/tests/utils.py
index 728f551..72ee282 100644
---
a/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_parser/tests/utils.py
+++
b/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_parser/tests/utils.py
@@ -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(
diff --git
a/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_templates/tests/utils.py
b/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_templates/tests/utils.py
index 619fbd6..7fd0873 100644
---
a/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_templates/tests/utils.py
+++
b/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_templates/tests/utils.py
@@ -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(
diff --git
a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/utils.py
b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/utils.py
index 74344f1..77abe53 100644
---
a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/utils.py
+++
b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/utils.py
@@ -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'" %
diff --git
a/web/pgadmin/browser/server_groups/servers/databases/schemas/packages/tests/utils.py
b/web/pgadmin/browser/server_groups/servers/databases/schemas/packages/tests/utils.py
index 24187d6..22ca08c 100644
---
a/web/pgadmin/browser/server_groups/servers/databases/schemas/packages/tests/utils.py
+++
b/web/pgadmin/browser/server_groups/servers/databases/schemas/packages/tests/utils.py
@@ -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)
diff --git
a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/utils.py
b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/utils.py
index d114d50..bec063e 100644
---
a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/utils.py
+++
b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/utils.py
@@ -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)
diff --git
a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/column/tests/utils.py
b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/column/tests/utils.py
index 103ee78..48ba5d3 100644
---
a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/column/tests/utils.py
+++
b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/column/tests/utils.py
@@ -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)
diff --git
a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/foreign_key/tests/utils.py
b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/foreign_key/tests/utils.py
index 6ee4947..7471094 100644
---
a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/foreign_key/tests/utils.py
+++
b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/foreign_key/tests/utils.py
@@ -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'" %
diff --git
a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/index_constraint/tests/utils.py
b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/index_constraint/tests/utils.py
index af3cf0c..f9d7fe5 100644
---
a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/index_constraint/tests/utils.py
+++
b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/index_constraint/tests/utils.py
@@ -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'" %
diff --git
a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/utils.py
b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/utils.py
index 1386068..07d310b 100644
---
a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/utils.py
+++
b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/utils.py
@@ -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)
diff --git
a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/rules/tests/utils.py
b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/rules/tests/utils.py
index 611c6b3..e59701c 100644
---
a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/rules/tests/utils.py
+++
b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/rules/tests/utils.py
@@ -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)
diff --git
a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/tests/utils.py
b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/tests/utils.py
index 0c7aede..017de86 100644
---
a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/tests/utils.py
+++
b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/tests/utils.py
@@ -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()
diff --git
a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/tests/utils.py
b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/tests/utils.py
index b5b042e..05b257c 100644
---
a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/tests/utils.py
+++
b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/tests/utils.py
@@ -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)
diff --git
a/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/test_schema_put.py
b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/test_schema_put.py
index 8835c52..33af1af 100644
---
a/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/test_schema_put.py
+++
b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/test_schema_put.py
@@ -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)
diff --git
a/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/utils.py
b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/utils.py
index fca2add..2061406 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/utils.py
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tests/utils.py
@@ -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)
diff --git
a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/utils.py
b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/utils.py
index 11e8f73..35b8f10 100644
---
a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/utils.py
+++
b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/utils.py
@@ -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)
diff --git
a/web/pgadmin/browser/server_groups/servers/databases/tests/test_db_delete.py
b/web/pgadmin/browser/server_groups/servers/databases/tests/test_db_delete.py
index e9f3946..4fe684c 100644
---
a/web/pgadmin/browser/server_groups/servers/databases/tests/test_db_delete.py
+++
b/web/pgadmin/browser/server_groups/servers/databases/tests/test_db_delete.py
@@ -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)
diff --git
a/web/pgadmin/browser/server_groups/servers/resource_groups/tests/test_resource_groups_add.py
b/web/pgadmin/browser/server_groups/servers/resource_groups/tests/test_resource_groups_add.py
index ab69f0d..740f2cf 100644
---
a/web/pgadmin/browser/server_groups/servers/resource_groups/tests/test_resource_groups_add.py
+++
b/web/pgadmin/browser/server_groups/servers/resource_groups/tests/test_resource_groups_add.py
@@ -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)
diff --git
a/web/pgadmin/browser/server_groups/servers/resource_groups/tests/test_resource_groups_delete.py
b/web/pgadmin/browser/server_groups/servers/resource_groups/tests/test_resource_groups_delete.py
index 3ce9b79..19fea8c 100644
---
a/web/pgadmin/browser/server_groups/servers/resource_groups/tests/test_resource_groups_delete.py
+++
b/web/pgadmin/browser/server_groups/servers/resource_groups/tests/test_resource_groups_delete.py
@@ -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)
diff --git
a/web/pgadmin/browser/server_groups/servers/resource_groups/tests/test_resource_groups_put.py
b/web/pgadmin/browser/server_groups/servers/resource_groups/tests/test_resource_groups_put.py
index 51a80f8..3a97b55 100644
---
a/web/pgadmin/browser/server_groups/servers/resource_groups/tests/test_resource_groups_put.py
+++
b/web/pgadmin/browser/server_groups/servers/resource_groups/tests/test_resource_groups_put.py
@@ -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)
diff --git
a/web/pgadmin/browser/server_groups/servers/resource_groups/tests/tests_resource_groups_get.py
b/web/pgadmin/browser/server_groups/servers/resource_groups/tests/tests_resource_groups_get.py
index 1cae34e..57e7879 100644
---
a/web/pgadmin/browser/server_groups/servers/resource_groups/tests/tests_resource_groups_get.py
+++
b/web/pgadmin/browser/server_groups/servers/resource_groups/tests/tests_resource_groups_get.py
@@ -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)
diff --git
a/web/pgadmin/browser/server_groups/servers/resource_groups/tests/utils.py
b/web/pgadmin/browser/server_groups/servers/resource_groups/tests/utils.py
index 82ff963..5758e5f 100644
--- a/web/pgadmin/browser/server_groups/servers/resource_groups/tests/utils.py
+++ b/web/pgadmin/browser/server_groups/servers/resource_groups/tests/utils.py
@@ -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)
diff --git
a/web/pgadmin/browser/server_groups/servers/roles/tests/test_role_add.py
b/web/pgadmin/browser/server_groups/servers/roles/tests/test_role_add.py
index 03cbd46..b944ab9 100644
--- a/web/pgadmin/browser/server_groups/servers/roles/tests/test_role_add.py
+++ b/web/pgadmin/browser/server_groups/servers/roles/tests/test_role_add.py
@@ -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)
diff --git
a/web/pgadmin/browser/server_groups/servers/roles/tests/test_role_delete.py
b/web/pgadmin/browser/server_groups/servers/roles/tests/test_role_delete.py
index 6084b8f..adbb4e6 100644
--- a/web/pgadmin/browser/server_groups/servers/roles/tests/test_role_delete.py
+++ b/web/pgadmin/browser/server_groups/servers/roles/tests/test_role_delete.py
@@ -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)
diff --git
a/web/pgadmin/browser/server_groups/servers/roles/tests/test_role_get.py
b/web/pgadmin/browser/server_groups/servers/roles/tests/test_role_get.py
index 2a816bb..eddd499 100644
--- a/web/pgadmin/browser/server_groups/servers/roles/tests/test_role_get.py
+++ b/web/pgadmin/browser/server_groups/servers/roles/tests/test_role_get.py
@@ -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)
diff --git
a/web/pgadmin/browser/server_groups/servers/roles/tests/test_role_put.py
b/web/pgadmin/browser/server_groups/servers/roles/tests/test_role_put.py
index 0b7aa5a..a5ed81c 100644
--- a/web/pgadmin/browser/server_groups/servers/roles/tests/test_role_put.py
+++ b/web/pgadmin/browser/server_groups/servers/roles/tests/test_role_put.py
@@ -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)
diff --git a/web/pgadmin/browser/server_groups/servers/roles/tests/utils.py
b/web/pgadmin/browser/server_groups/servers/roles/tests/utils.py
index 24d2879..74b21f5 100644
--- a/web/pgadmin/browser/server_groups/servers/roles/tests/utils.py
+++ b/web/pgadmin/browser/server_groups/servers/roles/tests/utils.py
@@ -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()
diff --git
a/web/pgadmin/browser/server_groups/servers/tablespaces/tests/test_tbspc_add.py
b/web/pgadmin/browser/server_groups/servers/tablespaces/tests/test_tbspc_add.py
index b5a1b83..da29b8c 100644
---
a/web/pgadmin/browser/server_groups/servers/tablespaces/tests/test_tbspc_add.py
+++
b/web/pgadmin/browser/server_groups/servers/tablespaces/tests/test_tbspc_add.py
@@ -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)
diff --git
a/web/pgadmin/browser/server_groups/servers/tablespaces/tests/test_tbspc_delete.py
b/web/pgadmin/browser/server_groups/servers/tablespaces/tests/test_tbspc_delete.py
index 16a37d8..615d298 100644
---
a/web/pgadmin/browser/server_groups/servers/tablespaces/tests/test_tbspc_delete.py
+++
b/web/pgadmin/browser/server_groups/servers/tablespaces/tests/test_tbspc_delete.py
@@ -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)
diff --git
a/web/pgadmin/browser/server_groups/servers/tablespaces/tests/test_tbspc_get.py
b/web/pgadmin/browser/server_groups/servers/tablespaces/tests/test_tbspc_get.py
index 11bd616..ca322d3 100644
---
a/web/pgadmin/browser/server_groups/servers/tablespaces/tests/test_tbspc_get.py
+++
b/web/pgadmin/browser/server_groups/servers/tablespaces/tests/test_tbspc_get.py
@@ -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)
diff --git
a/web/pgadmin/browser/server_groups/servers/tablespaces/tests/test_tbspc_put.py
b/web/pgadmin/browser/server_groups/servers/tablespaces/tests/test_tbspc_put.py
index 5926342..31ea6ab 100644
---
a/web/pgadmin/browser/server_groups/servers/tablespaces/tests/test_tbspc_put.py
+++
b/web/pgadmin/browser/server_groups/servers/tablespaces/tests/test_tbspc_put.py
@@ -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)
diff --git
a/web/pgadmin/browser/server_groups/servers/tablespaces/tests/utils.py
b/web/pgadmin/browser/server_groups/servers/tablespaces/tests/utils.py
index 865531e..eb16beb 100644
--- a/web/pgadmin/browser/server_groups/servers/tablespaces/tests/utils.py
+++ b/web/pgadmin/browser/server_groups/servers/tablespaces/tests/utils.py
@@ -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)
diff --git
a/web/pgadmin/browser/server_groups/servers/tests/test_check_recovery.py
b/web/pgadmin/browser/server_groups/servers/tests/test_check_recovery.py
index 418bc39..b31fcc1 100644
--- a/web/pgadmin/browser/server_groups/servers/tests/test_check_recovery.py
+++ b/web/pgadmin/browser/server_groups/servers/tests/test_check_recovery.py
@@ -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
diff --git
a/web/pgadmin/browser/server_groups/servers/tests/test_check_ssl_connection.py
b/web/pgadmin/browser/server_groups/servers/tests/test_check_ssl_connection.py
new file mode 100644
index 0000000..00041dd
--- /dev/null
+++
b/web/pgadmin/browser/server_groups/servers/tests/test_check_ssl_connection.py
@@ -0,0 +1,46 @@
+##########################################################################
+#
+# pgAdmin 4 - PostgreSQL Tools
+#
+# Copyright (C) 2013 - 2017, The pgAdmin Development Team
+# This software is released under the PostgreSQL Licence
+#
+##########################################################################
+
+import sys
+import traceback
+
+from pgadmin.utils.route import BaseTestGenerator
+from regression.python_test_utils import test_utils
+
+
+class TestSSLConnectionCheck(BaseTestGenerator):
+ """This will check if SSL is used in our database connection"""
+ scenarios = [
+ ("Test for SSL connection check", dict())
+ ]
+
+ def runTest(self):
+ if hasattr(self, "ignore_test"):
+ return
+ supported_modes = ['require', 'verify-ca', 'verify-full']
+ try:
+ 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']
+ ))
+ except:
+ traceback.print_exc(file=sys.stderr)
+ raise
diff --git a/web/pgadmin/feature_tests/connect_to_server_feature_test.py
b/web/pgadmin/feature_tests/connect_to_server_feature_test.py
index 28a6df6..97e96f2 100644
--- a/web/pgadmin/feature_tests/connect_to_server_feature_test.py
+++ b/web/pgadmin/feature_tests/connect_to_server_feature_test.py
@@ -28,7 +28,8 @@ class ConnectsToServerFeatureTest(BaseFeatureTest):
self.server['username'],
self.server['db_password'],
self.server['host'],
- self.server['port'])
+ self.server['port'],
+ self.server['sslmode'])
test_utils.drop_database(connection, "acceptance_test_db")
test_utils.create_database(self.server, "acceptance_test_db")
test_utils.create_table(self.server, "acceptance_test_db",
"test_table")
@@ -49,7 +50,8 @@ class ConnectsToServerFeatureTest(BaseFeatureTest):
self.server['username'],
self.server['db_password'],
self.server['host'],
- self.server['port'])
+ self.server['port'],
+ self.server['sslmode'])
test_utils.drop_database(connection, "acceptance_test_db")
def _connects_to_server(self):
diff --git
a/web/pgadmin/feature_tests/copy_selected_query_results_feature_test.py
b/web/pgadmin/feature_tests/copy_selected_query_results_feature_test.py
index fc754c7..1809d45 100644
--- a/web/pgadmin/feature_tests/copy_selected_query_results_feature_test.py
+++ b/web/pgadmin/feature_tests/copy_selected_query_results_feature_test.py
@@ -31,7 +31,8 @@ class CopySelectedQueryResultsFeatureTest(BaseFeatureTest):
self.server['username'],
self.server['db_password'],
self.server['host'],
- self.server['port'])
+ self.server['port'],
+ self.server['sslmode'])
test_utils.drop_database(connection, "acceptance_test_db")
test_utils.create_database(self.server, "acceptance_test_db")
test_utils.create_table(self.server, "acceptance_test_db",
"test_table")
@@ -170,5 +171,6 @@ class CopySelectedQueryResultsFeatureTest(BaseFeatureTest):
self.server['username'],
self.server['db_password'],
self.server['host'],
- self.server['port'])
+ self.server['port'],
+ self.server['sslmode'])
test_utils.drop_database(connection, "acceptance_test_db")
diff --git a/web/pgadmin/feature_tests/pg_datatype_validation_test.py
b/web/pgadmin/feature_tests/pg_datatype_validation_test.py
index 26c787b..149a496 100644
--- a/web/pgadmin/feature_tests/pg_datatype_validation_test.py
+++ b/web/pgadmin/feature_tests/pg_datatype_validation_test.py
@@ -31,7 +31,8 @@ class PGDataypeFeatureTest(BaseFeatureTest):
self.server['username'],
self.server['db_password'],
self.server['host'],
- self.server['port'])
+ self.server['port'],
+ self.server['sslmode'])
test_utils.drop_database(connection, "acceptance_test_db")
test_utils.create_database(self.server, "acceptance_test_db")
@@ -50,7 +51,8 @@ class PGDataypeFeatureTest(BaseFeatureTest):
self.server['username'],
self.server['db_password'],
self.server['host'],
- self.server['port'])
+ self.server['port'],
+ self.server['sslmode'])
test_utils.drop_database(connection, "acceptance_test_db")
def _connects_to_server(self):
diff --git a/web/pgadmin/feature_tests/query_tool_tests.py
b/web/pgadmin/feature_tests/query_tool_tests.py
index c058287..495e049 100644
--- a/web/pgadmin/feature_tests/query_tool_tests.py
+++ b/web/pgadmin/feature_tests/query_tool_tests.py
@@ -33,7 +33,8 @@ class QueryToolFeatureTest(BaseFeatureTest):
self.server['username'],
self.server['db_password'],
self.server['host'],
- self.server['port'])
+ self.server['port'],
+ self.server['sslmode'])
test_utils.drop_database(connection, "acceptance_test_db")
test_utils.create_database(self.server, "acceptance_test_db")
self.page.wait_for_spinner_to_disappear()
@@ -132,7 +133,8 @@ class QueryToolFeatureTest(BaseFeatureTest):
self.server['username'],
self.server['db_password'],
self.server['host'],
- self.server['port'])
+ self.server['port'],
+ self.server['sslmode'])
test_utils.drop_database(connection, "acceptance_test_db")
def _connects_to_server(self):
diff --git a/web/pgadmin/feature_tests/table_ddl_feature_test.py
b/web/pgadmin/feature_tests/table_ddl_feature_test.py
index 9fb90d6..6d38db2 100644
--- a/web/pgadmin/feature_tests/table_ddl_feature_test.py
+++ b/web/pgadmin/feature_tests/table_ddl_feature_test.py
@@ -23,7 +23,8 @@ class TableDdlFeatureTest(BaseFeatureTest):
self.server['username'],
self.server['db_password'],
self.server['host'],
- self.server['port'])
+ self.server['port'],
+ self.server['sslmode'])
test_utils.drop_database(connection, "acceptance_test_db")
test_utils.create_database(self.server, "acceptance_test_db")
@@ -51,5 +52,6 @@ class TableDdlFeatureTest(BaseFeatureTest):
self.server['username'],
self.server['db_password'],
self.server['host'],
- self.server['port'])
+ self.server['port'],
+ self.server['sslmode'])
test_utils.drop_database(connection, "acceptance_test_db")
diff --git a/web/pgadmin/feature_tests/view_data_dml_queries.py
b/web/pgadmin/feature_tests/view_data_dml_queries.py
index 6454a3e..622387e 100644
--- a/web/pgadmin/feature_tests/view_data_dml_queries.py
+++ b/web/pgadmin/feature_tests/view_data_dml_queries.py
@@ -80,7 +80,8 @@ CREATE TABLE public.defaults
self.server['username'],
self.server['db_password'],
self.server['host'],
- self.server['port'])
+ self.server['port'],
+ self.server['sslmode'])
test_utils.drop_database(connection, "acceptance_test_db")
test_utils.create_database(self.server, "acceptance_test_db")
@@ -114,7 +115,8 @@ CREATE TABLE public.defaults
self.server['username'],
self.server['db_password'],
self.server['host'],
- self.server['port'])
+ self.server['port'],
+ self.server['sslmode'])
test_utils.drop_database(connection, "acceptance_test_db")
@staticmethod
diff --git a/web/pgadmin/feature_tests/xss_checks_panels_and_query_tool_test.py
b/web/pgadmin/feature_tests/xss_checks_panels_and_query_tool_test.py
index ac50ea1..0b4f28b 100644
--- a/web/pgadmin/feature_tests/xss_checks_panels_and_query_tool_test.py
+++ b/web/pgadmin/feature_tests/xss_checks_panels_and_query_tool_test.py
@@ -39,7 +39,8 @@ class CheckForXssFeatureTest(BaseFeatureTest):
self.server['username'],
self.server['db_password'],
self.server['host'],
- self.server['port'])
+ self.server['port'],
+ self.server['sslmode'])
test_utils.drop_database(connection, "acceptance_test_db")
test_utils.create_database(self.server, "acceptance_test_db")
test_utils.create_table(self.server, "acceptance_test_db",
@@ -70,7 +71,8 @@ class CheckForXssFeatureTest(BaseFeatureTest):
self.server['username'],
self.server['db_password'],
self.server['host'],
- self.server['port'])
+ self.server['port'],
+ self.server['sslmode'])
test_utils.drop_database(connection, "acceptance_test_db")
def _connects_to_server(self):
diff --git a/web/regression/python_test_utils/test_utils.py
b/web/regression/python_test_utils/test_utils.py
index f3e7ed0..8f1d15a 100644
--- a/web/regression/python_test_utils/test_utils.py
+++ b/web/regression/python_test_utils/test_utils.py
@@ -25,13 +25,16 @@ SERVER_GROUP = test_setup.config_data['server_group']
file_name = os.path.realpath(__file__)
-def get_db_connection(db, username, password, host, port):
+def get_db_connection(db, username, password, host, port, sslmode="prefer"):
"""This function returns the connection object of psycopg"""
- connection = psycopg2.connect(database=db,
- user=username,
- password=password,
- host=host,
- port=port)
+ connection = psycopg2.connect(
+ database=db,
+ user=username,
+ password=password,
+ host=host,
+ port=port,
+ sslmode=sslmode
+ )
return connection
@@ -116,7 +119,8 @@ def create_database(server, db_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()
@@ -154,7 +158,8 @@ def create_table(server, db_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()
@@ -191,7 +196,8 @@ def create_table_with_query(server, db_name, query):
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()
@@ -211,7 +217,8 @@ def create_constraint(
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()
@@ -234,7 +241,8 @@ def create_debug_function(server, db_name,
function_name="test_func"):
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()
@@ -267,7 +275,8 @@ def drop_debug_function(server, db_name,
function_name="test_func"):
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()
@@ -390,7 +399,8 @@ def create_parent_server_node(server_info):
server_info['username'],
server_info['db_password'],
server_info['host'],
- server_info['port'])
+ server_info['port'],
+ server_info['sslmode'])
schema = regression.schema_utils.create_schema(connection, schema_name)
add_schema_to_parent_node_dict(srv_id, db_id, schema[0],
@@ -413,7 +423,8 @@ def delete_test_server(tester):
servers_dict['username'],
servers_dict['db_password'],
servers_dict['host'],
- servers_dict['port'])
+ servers_dict['port'],
+ servers_dict['sslmode'])
database_name = database["db_name"]
# Drop database
drop_database(connection, database_name)
@@ -422,7 +433,8 @@ def delete_test_server(tester):
servers_dict['username'],
servers_dict['db_password'],
servers_dict['host'],
- servers_dict['port'])
+ servers_dict['port'],
+ servers_dict['sslmode'])
# Delete role
regression.roles_utils.delete_role(connection,
role["role_name"])
@@ -431,7 +443,8 @@ def delete_test_server(tester):
servers_dict['username'],
servers_dict['db_password'],
servers_dict['host'],
- servers_dict['port'])
+ servers_dict['port'],
+ servers_dict['sslmode'])
# Delete tablespace
regression.tablespace_utils.delete_tablespace(
connection, tablespace["tablespace_name"])
@@ -462,7 +475,7 @@ def get_db_server(sid):
conn = sqlite3.connect(config.TEST_SQLITE_PATH)
cur = conn.cursor()
server = cur.execute('SELECT name, host, port, maintenance_db,'
- ' username FROM server where id=%s' % sid)
+ ' username, ssl_mode FROM server where id=%s' % sid)
server = server.fetchone()
if server:
name = server[0]
@@ -470,6 +483,7 @@ def get_db_server(sid):
db_port = server[2]
db_name = server[3]
username = server[4]
+ ssl_mode = server[5]
config_servers = test_setup.config_data['server_credentials']
# Get the db password from config file for appropriate server
db_password = get_db_password(config_servers, name, host, db_port)
@@ -479,7 +493,8 @@ def get_db_server(sid):
username,
db_password,
host,
- db_port)
+ db_port,
+ ssl_mode)
conn.close()
return connection
@@ -625,19 +640,23 @@ class Database:
def __enter__(self):
self.name = "test_db_{0}".format(str(uuid.uuid4())[0:7])
- self.maintenance_connection = get_db_connection(self.server['db'],
- self.server[
- 'username'],
- self.server[
- 'db_password'],
- self.server['host'],
- self.server['port'])
+ self.maintenance_connection = get_db_connection(
+ self.server['db'],
+ self.server['username'],
+ self.server['db_password'],
+ self.server['host'],
+ self.server['port'],
+ self.server['sslmode']
+ )
create_database(self.server, self.name)
- self.connection = get_db_connection(self.name,
- self.server['username'],
- self.server['db_password'],
- self.server['host'],
- self.server['port'])
+ self.connection = get_db_connection(
+ self.name,
+ self.server['username'],
+ self.server['db_password'],
+ self.server['host'],
+ self.server['port'],
+ self.server['sslmode']
+ )
return self.connection, self.name
def __exit__(self, type, value, traceback):