diff --git a/web/pgadmin/misc/file_manager/tests/test_file_encoding_round_trip.py b/web/pgadmin/misc/file_manager/tests/test_file_encoding_round_trip.py index d1c1a9985..15402637c 100644 --- a/web/pgadmin/misc/file_manager/tests/test_file_encoding_round_trip.py +++ b/web/pgadmin/misc/file_manager/tests/test_file_encoding_round_trip.py @@ -19,6 +19,7 @@ import tempfile import unittest from unittest.mock import patch +import config from pgadmin.misc.file_manager import Filemanager from pgadmin.utils.constants import MY_STORAGE from pgadmin.utils.route import BaseTestGenerator @@ -77,6 +78,11 @@ class TestFileEncodingRoundTrip(BaseTestGenerator): def _path(self, name): return os.path.join(self.storage_dir, name.lstrip('/')) + def _file_name(self, name): + # In server mode a path is relative to the storage directory; in + # desktop mode there is no storage directory and a path is absolute. + return name if config.SERVER_MODE else self._path(name) + def _post(self, url, payload): with contextlib.ExitStack() as stack: stack.enter_context( @@ -90,12 +96,13 @@ class TestFileEncodingRoundTrip(BaseTestGenerator): content_type='application/json') def runTest(self): - response = self._post(LOAD_FILE_URL, {'file_name': self.load}) + response = self._post(LOAD_FILE_URL, + {'file_name': self._file_name(self.load)}) self.assertEqual(response.status_code, 200) loaded = response.data.decode('utf-8') response = self._post(SAVE_FILE_URL, { - 'file_name': self.save, + 'file_name': self._file_name(self.save), 'file_content': loaded if self.edit is None else self.edit, }) self.assertEqual(response.status_code, 200) diff --git a/web/pgadmin/misc/file_manager/tests/test_filemanager_security.py b/web/pgadmin/misc/file_manager/tests/test_filemanager_security.py index 26815e10a..1d57ce0f7 100644 --- a/web/pgadmin/misc/file_manager/tests/test_filemanager_security.py +++ b/web/pgadmin/misc/file_manager/tests/test_filemanager_security.py @@ -684,10 +684,13 @@ class TestSaveFileWritesRegularFile(_SaveFileMixin, BaseTestGenerator): scenarios = [('default', dict())] def runTest(self): - response = self._save_file("/ok.sql", "SELECT 1;") + target = os.path.join(self.storage_dir, "ok.sql") + # In desktop mode there is no storage directory and a path is + # absolute. + response = self._save_file( + "/ok.sql" if config.SERVER_MODE else target, "SELECT 1;") self.assertEqual(response.status_code, 200) - target = os.path.join(self.storage_dir, "ok.sql") with open(target, "rb") as f: self.assertEqual(f.read(), b"SELECT 1;") # In server mode the helper opens with mode 0o600; pin it so the