0003-misc-add-site-option-to-force-lazy-evaluation-29951.patch
tests/test_form_pages.py | ||
---|---|---|
58 | 58 | |
59 | 59 |
def pytest_generate_tests(metafunc): |
60 | 60 |
if 'pub' in metafunc.fixturenames: |
61 |
metafunc.parametrize('pub', ['pickle', 'sql', 'pickle-templates'], indirect=True) |
|
61 |
metafunc.parametrize('pub', ['pickle', 'sql', 'pickle-templates', 'pickle-lazy'], indirect=True)
|
|
62 | 62 | |
63 | 63 |
@pytest.fixture |
64 | 64 |
def pub(request, emails): |
65 | 65 |
pub = create_temporary_pub( |
66 | 66 |
sql_mode=bool('sql' in request.param), |
67 |
templates_mode=bool('templates' in request.param) |
|
67 |
templates_mode=bool('templates' in request.param), |
|
68 |
lazy_mode=bool('lazy' in request.param), |
|
68 | 69 |
) |
69 | 70 |
pub.cfg['identification'] = {'methods': ['password']} |
70 | 71 |
pub.cfg['language'] = {'language': 'en'} |
tests/utilities.py | ||
---|---|---|
37 | 37 |
sql_app_dir = None |
38 | 38 |
sql_db_name = None |
39 | 39 |
templates_app_dir = None |
40 |
lazy_app_dir = None |
|
40 | 41 | |
41 | 42 |
known_elements = KnownElements() |
42 | 43 | |
43 |
def create_temporary_pub(sql_mode=False, templates_mode=False): |
|
44 |
def create_temporary_pub(sql_mode=False, templates_mode=False, lazy_mode=False):
|
|
44 | 45 |
if sql_mode is True: |
45 | 46 |
if pytest.config.getoption('without_postgresql_tests'): |
46 | 47 |
pytest.skip("unsupported configuration") |
... | ... | |
50 | 51 |
cleanup() |
51 | 52 |
if templates_mode and known_elements.templates_app_dir: |
52 | 53 |
APP_DIR = known_elements.templates_app_dir |
53 |
elif (not sql_mode and not templates_mode) and known_elements.pickle_app_dir:
|
|
54 |
APP_DIR = known_elements.pickle_app_dir
|
|
55 |
elif sql_mode is True and known_elements.sql_app_dir:
|
|
54 |
elif lazy_mode and known_elements.lazy_app_dir:
|
|
55 |
APP_DIR = known_elements.lazy_app_dir
|
|
56 |
elif sql_mode and known_elements.sql_app_dir: |
|
56 | 57 |
APP_DIR = known_elements.sql_app_dir |
58 |
elif not (templates_mode or lazy_mode or sql_mode) and known_elements.pickle_app_dir: |
|
59 |
APP_DIR = known_elements.pickle_app_dir |
|
57 | 60 |
else: |
58 | 61 |
APP_DIR = tempfile.mkdtemp() |
59 | 62 |
if templates_mode: |
60 | 63 |
known_elements.templates_app_dir = APP_DIR |
61 |
elif sql_mode is True: |
|
64 |
elif lazy_mode: |
|
65 |
known_elements.lazy_app_dir = APP_DIR |
|
66 |
elif sql_mode: |
|
62 | 67 |
known_elements.sql_app_dir = APP_DIR |
63 |
elif sql_mode is False:
|
|
68 |
else: |
|
64 | 69 |
known_elements.pickle_app_dir = APP_DIR |
65 | 70 | |
66 | 71 |
compat.CompatWcsPublisher.APP_DIR = APP_DIR |
... | ... | |
105 | 110 |
fd.write('formdef-captcha-option = true\n') |
106 | 111 |
fd.write('formdef-appearance-keywords = true\n') |
107 | 112 |
fd.write('workflow-resubmit-action = true\n') |
113 |
if lazy_mode: |
|
114 |
fd.write('force-lazy-mode = true\n') |
|
108 | 115 |
if sql_mode: |
109 | 116 |
fd.write('postgresql = true\n') |
110 | 117 |
wcs/qommon/substitution.py | ||
---|---|---|
104 | 104 |
def get_context_variables(self, mode=None): |
105 | 105 |
if self._forced_mode: |
106 | 106 |
mode = self._forced_mode |
107 |
lazy = mode in get_publisher().get_lazy_variables_modes() if mode else False |
|
107 |
lazy = get_publisher().has_site_option('force-lazy-mode') |
|
108 |
if not lazy and mode: |
|
109 |
lazy = mode in get_publisher().get_lazy_variables_modes() |
|
108 | 110 |
d = getattr(self, '_cache_context_variables%r' % lazy, None) |
109 | 111 |
if d is not None: |
110 | 112 |
return d |
111 |
- |