wcs: limit forms/tracking codes search engine to agent portal (#30508)

This commit is contained in:
Frédéric Péters 2020-02-25 15:02:35 +01:00
parent 46c3f975ac
commit 0215e2424b
2 changed files with 11 additions and 0 deletions

View File

@ -17,6 +17,7 @@
import hashlib
import django.apps
from django.conf import settings
from django.core.urlresolvers import reverse
from django.utils.encoding import force_bytes
from django.utils.translation import ugettext_lazy as _, pgettext_lazy
@ -36,6 +37,9 @@ class AppConfig(django.apps.AppConfig):
if not services:
return
if not settings.TEMPLATE_VARS.get('is_portal_agent'):
return
engines = {
'tracking-code': {
'url': reverse('wcs-tracking-code-search') + '?q=%(q)s',

View File

@ -833,6 +833,7 @@ def test_cell_assets(app, admin_user):
@wcs_present
def test_tracking_code_search(app, nocache):
settings.TEMPLATE_VARS['is_portal_agent'] = True
assert len(app.get('/api/search/tracking-code/').json.get('data')) == 0
assert app.get('/api/search/tracking-code/').json.get('err') == 0
assert len(app.get('/api/search/tracking-code/?q=123').json.get('data')) == 0
@ -844,6 +845,7 @@ def test_tracking_code_search(app, nocache):
@wcs_present
def test_tracking_code_search_rate_limit(app):
settings.TEMPLATE_VARS['is_portal_agent'] = True
for i in range(3):
assert app.get('/api/search/tracking-code/?q=BBCCDDFF').json.get('err') == 0
assert app.get('/api/search/tracking-code/?q=BBCCDDFF').json.get('err') == 1
@ -873,9 +875,14 @@ def test_tracking_code_search_rate_limit(app):
@wcs_present
def test_wcs_search_engines(app):
settings.TEMPLATE_VARS['is_portal_agent'] = True
search_engines = engines.get_engines()
assert 'tracking-code' in search_engines.keys()
assert len([x for x in search_engines.keys() if x.startswith('formdata:')]) == 2
settings.TEMPLATE_VARS['is_portal_agent'] = False
search_engines = engines.get_engines()
assert 'tracking-code' not in search_engines.keys()
assert len([x for x in search_engines.keys() if x.startswith('formdata:')]) == 0
@wcs_present
def test_backoffice_submission_cell_render(context):