diff --git a/web/pgadmin/browser/server_groups/servers/__init__.py b/web/pgadmin/browser/server_groups/servers/__init__.py index 13a7e06b9..28f0c6f29 100644 --- a/web/pgadmin/browser/server_groups/servers/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/__init__.py @@ -1069,7 +1069,8 @@ class ServerNode(PGChildNodeView): tunnel_username=data.get('tunnel_username', None), tunnel_authentication=data.get('tunnel_authentication', 0), tunnel_identity_file=data.get('tunnel_identity_file', None), - shared=data.get('shared', None) + shared=data.get('shared', None), + passfile=data.get('passfile', None) ) db.session.add(server) db.session.commit() diff --git a/web/pgadmin/browser/server_groups/servers/tests/servers_test_data.json b/web/pgadmin/browser/server_groups/servers/tests/servers_test_data.json index 855fba055..08174dc60 100644 --- a/web/pgadmin/browser/server_groups/servers/tests/servers_test_data.json +++ b/web/pgadmin/browser/server_groups/servers/tests/servers_test_data.json @@ -186,6 +186,56 @@ "expected_data": { "status_code": 200 } + }, + { + "name": "Add server with ssl", + "url": "/browser/server/obj/", + "is_positive_test": true, + "owner_server": true, + "test_data": { + "sslcert": "postgres.crt", + "sslkey": "postgres.key", + "sslrootcert": "root.crt", + "sslmode": "prefer", + "sslcompression": true, + "sslcrl": "postgres.crl" + + }, + "mocking_required": false, + "mock_data": {}, + "expected_data": { + "status_code": 200 + } + }, + { + "name": "Add server with advanced properties", + "url": "/browser/server/obj/", + "is_positive_test": true, + "owner_server": true, + "test_data": { + "passfile": "test.pgpass", + "hostaddr": "127.0.0.1" + }, + "mocking_required": false, + "mock_data": {}, + "expected_data": { + "status_code": 200 + } + }, + { + "name": "Add server with background/foreground color", + "url": "/browser/server/obj/", + "is_positive_test": true, + "owner_server": true, + "test_data": { + "fgcolor":"#FF9900", + "bgcolor": "#00FF00" + }, + "mocking_required": false, + "mock_data": {}, + "expected_data": { + "status_code": 200 + } } ], "is_password_saved": [ @@ -687,6 +737,89 @@ "expected_data": { "status_code": 200 } + }, + { + "name": "update ssl properties of server", + "url": "/browser/server/obj/", + "is_positive_test": true, + "owner_server": true, + "test_data": { + "sslcert": "postgres_01.crt", + "sslkey": "postgres_01.key", + "sslrootcert": "root_01.crt", + "sslmode": "allow", + "sslcompression": false, + "sslcrl": "postgres.crl" + }, + "mocking_required": false, + "mock_data": {}, + "expected_data": { + "status_code": 200 + } + }, + { + "name": "update advanced properties of server", + "url": "/browser/server/obj/", + "is_positive_test": true, + "owner_server": true, + "test_data": { + "passfile": "test_01.pgpass", + "hostaddr": "127.0.0.1" + }, + "mocking_required": false, + "mock_data": {}, + "expected_data": { + "status_code": 200 + } + }, + { + "name": "remove ssl properties from server", + "url": "/browser/server/obj/", + "is_positive_test": true, + "owner_server": true, + "test_data": { + "sslcert": "", + "sslkey": "", + "sslrootcert": "", + "sslmode": "prefer", + "sslcompression": false, + "sslcrl": "" + }, + "mocking_required": false, + "mock_data": {}, + "expected_data": { + "status_code": 200 + } + }, + { + "name": "remove advanced properties from server", + "url": "/browser/server/obj/", + "is_positive_test": true, + "owner_server": true, + "test_data": { + "passfile": "", + "hostaddr": "" + }, + "mocking_required": false, + "mock_data": {}, + "expected_data": { + "status_code": 200 + } + }, + { + "name": "Update server with background/foreground color", + "url": "/browser/server/obj/", + "is_positive_test": true, + "owner_server": true, + "test_data": { + "fgcolor":"#B6D7A8", + "bgcolor": "#0C343D" + }, + "mocking_required": false, + "mock_data": {}, + "expected_data": { + "status_code": 200 + } } ], "update_shared_server": [ diff --git a/web/pgadmin/browser/server_groups/servers/tests/test_add_server.py b/web/pgadmin/browser/server_groups/servers/tests/test_add_server.py index ee6bf9f92..6f6165e37 100644 --- a/web/pgadmin/browser/server_groups/servers/tests/test_add_server.py +++ b/web/pgadmin/browser/server_groups/servers/tests/test_add_server.py @@ -62,6 +62,30 @@ class AddServerTest(BaseTestGenerator): self.server['connect_now'] = self.test_data['connect_now'] self.server['password'] = self.server['db_password'] + # SSL properties + if 'sslcert' in self.test_data: + self.server['sslcert'] = self.test_data['sslcert'] + if 'sslkey' in self.test_data: + self.server['sslkey'] = self.test_data['sslkey'] + if 'sslrootcert' in self.test_data: + self.server['sslrootcert'] = self.test_data['sslrootcert'] + if 'sslmode' in self.test_data: + self.server['sslmode'] = self.test_data['sslmode'] + if 'sslcompression' in self.test_data: + self.server['sslcompression'] = self.test_data['sslcompression'] + + # Advanced tab properties + if 'passfile' in self.test_data: + self.server['passfile'] = self.test_data['passfile'] + if 'hostaddr' in self.test_data: + self.server['hostaddr'] = self.test_data['hostaddr'] + + # Background/Foreground color + if 'fgcolor' in self.test_data: + self.server['fgcolor'] = self.test_data['fgcolor'] + if 'bgcolor' in self.test_data: + self.server['bgcolor'] = self.test_data['bgcolor'] + if self.is_positive_test: if hasattr(self, 'with_save'): self.server['save_password'] = self.with_save