361 |
361 |
assert resp.text.count('<li') == 0
|
362 |
362 |
|
363 |
363 |
|
364 |
|
def test_search_on_root_page_api(app):
|
|
364 |
def test_search_on_root_page_api(settings, app):
|
|
365 |
settings.KNOWN_SERVICES = {}
|
|
366 |
|
365 |
367 |
# not indexed: with sub_slug
|
366 |
368 |
page = Page.objects.create(title='example page', slug='example-page', sub_slug='foo')
|
367 |
369 |
TextCell.objects.create(page=page, placeholder='content', text='<p>foobar baz</p>', order=0)
|
... | ... | |
574 |
576 |
assert 'Content indexing has been scheduled' not in resp.text
|
575 |
577 |
|
576 |
578 |
|
577 |
|
def test_wcs_search_engines(app):
|
578 |
|
with override_settings(KNOWN_SERVICES={}):
|
579 |
|
search_engines = engines.get_engines()
|
580 |
|
assert 'tracking-code' not in search_engines.keys()
|
581 |
|
assert len([x for x in search_engines.keys() if x.startswith('formdata:')]) == 0
|
|
579 |
def test_wcs_search_engines(settings, app):
|
|
580 |
settings.KNOWN_SERVICES = {}
|
|
581 |
search_engines = engines.get_engines()
|
|
582 |
assert 'tracking-code' not in search_engines.keys()
|
|
583 |
assert len([x for x in search_engines.keys() if x.startswith('formdata:')]) == 0
|
|
584 |
assert len([x for x in search_engines.keys() if x.startswith('cards:')]) == 0
|
|
585 |
|
|
586 |
settings.KNOWN_SERVICES = {'wcs': {'default': {'title': 'test', 'url': 'http://127.0.0.1:8999/'}}}
|
582 |
587 |
|
583 |
|
for key, engine in engines.get_engines().items():
|
|
588 |
settings.TEMPLATE_VARS['is_portal_agent'] = False
|
|
589 |
search_engines = engines.get_engines()
|
|
590 |
assert len([x for x in search_engines.keys() if x.startswith('formdata:')]) == 0
|
|
591 |
|
|
592 |
settings.TEMPLATE_VARS['is_portal_agent'] = True
|
|
593 |
search_engines = engines.get_engines()
|
|
594 |
assert len([x for x in search_engines.keys() if x.startswith('formdata:')]) == 1
|
|
595 |
for key, engine in search_engines.items():
|
584 |
596 |
if key.startswith('formdata:'):
|
585 |
597 |
assert '&include-anonymised=off' in engine['url']
|
586 |
598 |
|
|
599 |
# create a page with sub_slug to enable card engines
|
|
600 |
Page.objects.create(slug='foo', title='Foo', sub_slug='(?P<foo_id>[a-z0-9]+')
|
|
601 |
with mock.patch('combo.apps.wcs.utils.get_wcs_json') as mock_wcs:
|
|
602 |
# no card model found
|
|
603 |
mock_wcs.return_value = {}
|
|
604 |
search_engines = engines.get_engines()
|
|
605 |
assert len([x for x in search_engines.keys() if x.startswith('cards:')]) == 0
|
|
606 |
assert mock_wcs.call_args_list[0][0][1] == 'api/cards/@list'
|
|
607 |
mock_wcs.return_value = {'data': []}
|
|
608 |
search_engines = engines.get_engines()
|
|
609 |
assert len([x for x in search_engines.keys() if x.startswith('cards:')]) == 0
|
587 |
610 |
|
588 |
|
def test_profile_search_engines(app):
|
589 |
|
search_engines = engines.get_engines()
|
590 |
|
assert 'users' not in search_engines.keys()
|
591 |
|
with override_settings(KNOWN_SERVICES={'authentic': {'default': {'title': 'authentic', 'url': 'https://authentic/'}}}):
|
|
611 |
# card model found, but related page does not exist
|
|
612 |
mock_wcs.return_value = {'data': [{'id': 'bar', 'text': 'Bar'}]}
|
592 |
613 |
search_engines = engines.get_engines()
|
593 |
|
assert 'users' not in search_engines.keys()
|
|
614 |
assert len([x for x in search_engines.keys() if x.startswith('cards:')]) == 0
|
594 |
615 |
|
595 |
|
page = Page(slug='users', title='Users', sub_slug='(?P<name_id>[a-z0-9]+)')
|
596 |
|
page.save()
|
|
616 |
# related page exists
|
|
617 |
Page.objects.create(slug='bar', title='Bar', sub_slug='(?P<bar_id>[a-z0-9]+')
|
597 |
618 |
search_engines = engines.get_engines()
|
598 |
|
assert 'users' in search_engines.keys()
|
|
619 |
assert len([x for x in search_engines.keys() if x.startswith('cards:')]) == 1
|
|
620 |
assert 'cards:c21f969b:bar' in search_engines.keys()
|
|
621 |
card_engine = search_engines['cards:c21f969b:bar']
|
|
622 |
assert card_engine['url'] == 'http://127.0.0.1:8999/api/cards/bar/list?NameID={{ user_nameid }}&q=%(q)s'
|
|
623 |
assert card_engine['hit_url_template'] == '/bar/{{ id }}'
|
|
624 |
|
|
625 |
|
|
626 |
def test_profile_search_engines(settings, app):
|
|
627 |
settings.KNOWN_SERVICES = {}
|
|
628 |
search_engines = engines.get_engines()
|
|
629 |
assert 'users' not in search_engines.keys()
|
|
630 |
|
|
631 |
settings.KNOWN_SERVICES = {'authentic': {'default': {'title': 'authentic', 'url': 'https://authentic/'}}}
|
|
632 |
search_engines = engines.get_engines()
|
|
633 |
assert 'users' not in search_engines.keys()
|
|
634 |
|
|
635 |
page = Page(slug='users', title='Users', sub_slug='(?P<name_id>[a-z0-9]+)')
|
|
636 |
page.save()
|
|
637 |
search_engines = engines.get_engines()
|
|
638 |
assert 'users' in search_engines.keys()
|
599 |
639 |
|
600 |
640 |
|
601 |
641 |
def test_private_search(app):
|
602 |
|
-
|