diff --git a/web/config.py b/web/config.py index ce1eedb8f..0622a8fbd 100644 --- a/web/config.py +++ b/web/config.py @@ -760,8 +760,11 @@ if os.path.exists(system_config_dir + '/config_system.py'): if 'PGADMIN_CONFIG_DEFAULT_SERVER' in os.environ: DEFAULT_SERVER = os.environ['PGADMIN_CONFIG_DEFAULT_SERVER'] -# Disable USER_INACTIVITY_TIMEOUT when SERVER_MODE=False +# Set/Reset properties for Desktop Mode if not SERVER_MODE: + # Disable USER_INACTIVITY_TIMEOUT when SERVER_MODE=False USER_INACTIVITY_TIMEOUT = 0 # Enable PSQL in Desktop Mode. ENABLE_PSQL = True + # Make SESSION_EXPIRATION_TIME to 1 week in Desktop mode + SESSION_EXPIRATION_TIME = 7 diff --git a/web/pgadmin/browser/tests/test_set_session_expiration_time.py b/web/pgadmin/browser/tests/test_set_session_expiration_time.py new file mode 100644 index 000000000..244df281f --- /dev/null +++ b/web/pgadmin/browser/tests/test_set_session_expiration_time.py @@ -0,0 +1,47 @@ +########################################################################## +# +# pgAdmin 4 - PostgreSQL Tools +# +# Copyright (C) 2013 - 2021, The pgAdmin Development Team +# This software is released under the PostgreSQL Licence +# +########################################################################## + +from pgadmin.utils.route import BaseTestGenerator +import config + + +class SetSessionExpirationTimeTestCase(BaseTestGenerator): + """ + This class verifies whether session expire time has been appropriately + set to desktop & server mode respectively. + """ + + scenarios = [ + ( + 'TestCase for verifying session expire time is set to 7 days for ' + 'desktop mode', + dict( + session_expiration_time=7, + is_desktop_mode=True + )), + ( + 'TestCase for verifying session expire time is set to 1 day for ' + 'server mode', + dict( + session_expiration_time=1, + is_desktop_mode=False + )), + ] + + def runTest(self): + + if config.SERVER_MODE and not self.is_desktop_mode or \ + not config.SERVER_MODE and self.is_desktop_mode: + self.assertEqual( + self.session_expiration_time, config.SESSION_EXPIRATION_TIME) + else: + self.skipTest( + 'Not recommended to run in {0}'.format( + 'Server Mode' if config.SERVER_MODE is True + else 'Desktop Mode'))