diff --git a/tests/test_formdef.py b/tests/test_formdef.py index c613406df..2c818ecb7 100644 --- a/tests/test_formdef.py +++ b/tests/test_formdef.py @@ -135,6 +135,18 @@ def test_substitution_variables(pub): assert formdef.get_substitution_variables()['form_option_bar'] == 'Bar' assert formdef.get_substitution_variables()['form_option_bar_raw'] == 'bar' +def test_urls(pub): + FormDef.wipe() + formdef = FormDef() + formdef.name = 'foo' + formdef.store() + assert formdef.get_url() == 'http://example.net/foo/' + assert formdef.get_url(backoffice=True) == 'http://example.net/backoffice/management/foo/' + del pub.cfg['misc']['frontoffice-url'] + del pub.cfg['misc']['backoffice-url'] + assert formdef.get_url() == 'https://example.net/foo/' + assert formdef.get_url(backoffice=True) == 'https://example.net/backoffice/management/foo/' + def test_schema_with_date_variable(pub): FormDef.wipe() formdef = FormDef() diff --git a/tests/utilities.py b/tests/utilities.py index 45cffaa76..6fa342111 100644 --- a/tests/utilities.py +++ b/tests/utilities.py @@ -118,32 +118,30 @@ def create_temporary_pub(sql_mode=False, templates_mode=False, lazy_mode=False): # make sure site options are not cached pub.site_options = None + pub.cfg = {} + pub.cfg['misc'] = { + 'charset': 'utf-8', + 'backoffice-url': 'http://example.net/backoffice', + 'frontoffice-url': 'http://example.net', + } + pub.cfg['language'] = {'language': 'en'} + + if templates_mode: + pub.cfg['branding'] = {'theme': 'django'} + else: + pub.cfg['branding'] = {'theme': 'default'} + + pub.write_cfg() + if not created: - pub.cfg = {} if sql_mode: pub.cfg['postgresql'] = {'database': known_elements.sql_db_name, 'user': os.environ['USER']} - pub.cfg['misc'] = {'charset': 'utf-8'} - pub.cfg['language'] = {'language': 'en'} - if templates_mode: - pub.cfg['branding'] = {'theme': 'django'} - pub.write_cfg() - else: - pub.cfg['branding'] = {'theme': 'default'} - pub.write_cfg() - pub.write_cfg() return pub os.symlink(os.path.join(os.path.dirname(__file__), 'templates'), os.path.join(pub.app_dir, 'templates')) - if templates_mode: - pub.cfg['branding'] = {'theme': 'django'} - pub.write_cfg() - else: - pub.cfg['branding'] = {'theme': 'default'} - pub.write_cfg() - if sql_mode: conn = psycopg2.connect(user=os.environ['USER']) conn.set_isolation_level(psycopg2.extensions.ISOLATION_LEVEL_AUTOCOMMIT) @@ -154,7 +152,6 @@ def create_temporary_pub(sql_mode=False, templates_mode=False, lazy_mode=False): cur.close() pub.cfg['postgresql'] = {'database': dbname, 'user': os.environ['USER']} - pub.cfg['misc'] = {'charset': 'utf-8'} pub.write_cfg() sql.do_user_table() diff --git a/wcs/qommon/publisher.py b/wcs/qommon/publisher.py index f508264b6..e49794350 100644 --- a/wcs/qommon/publisher.py +++ b/wcs/qommon/publisher.py @@ -124,7 +124,7 @@ class QommonPublisher(Publisher, object): else: return '%s://%s%s' % (req.get_scheme(), req.get_server(), urllib.quote(req.environ.get('SCRIPT_NAME'))) - return 'http://%s' % os.path.basename(get_publisher().app_dir) + return 'https://%s' % os.path.basename(get_publisher().app_dir) def get_backoffice_url(self): backoffice_url = get_cfg('misc', {}).get('backoffice-url', None) @@ -134,7 +134,7 @@ class QommonPublisher(Publisher, object): if req: return '%s://%s%s/backoffice' % (req.get_scheme(), req.get_server(), urllib.quote(req.environ.get('SCRIPT_NAME'))) - return 'http://%s/backoffice' % os.path.basename(self.app_dir) + return 'https://%s/backoffice' % os.path.basename(self.app_dir) def get_global_eval_dict(self): from . import evalutils as utils