Test coverage for vnccollab.common.livesearch

vnccollab/      covered 95% (12 of 287 uncovered)
    common/      covered 95% (12 of 287 uncovered)
        livesearch.py      covered 100% (0 of 30 uncovered)

    1: from plone import api
    1: from plone.memoize import ram
       
    1: from vnccollab.common.cache import TimeCacheKey
    1: from vnccollab.common import searchutil
       
       
    1: CACHE_TIME = 15 * 60  # 15 minutes
       
       
    1: cache = TimeCacheKey(CACHE_TIME)
       
       
    1: def get_query(query):
    3:     searchable_text = query.get('SearchableText', '')
    3:     key, val = searchutil._key_and_val_from_searchable_text(searchable_text)
    3:     if key is None or key not in searchutil.SEARCH_KEYS:
    1:         return query
       
    2:     portal_type = query.get('portal_type', [])
       
    2:     if key == 'type':
    1:         types = searchutil._types_from_type_string(val)
   10:         portal_type = [x for x in portal_type if x in types]
    1:         query['portal_type'] = portal_type
    1:         del(query['SearchableText'])
       
    1:     elif key == 'user':
    1:         user_ids = searchutil._user_ids_from_users_string(val)
    1:         query['Creator'] = user_ids
    1:         del(query['SearchableText'])
       
    2:     return query
       
       
    1: def query(params):
    3:     params = get_query(params)
    3:     result = _query(**params)
    3:     return result
       
       
    1: @ram.cache(cache)
       def _query(**params):
    3:     catalog = api.portal.get_tool(name='portal_catalog')
    3:     result = catalog(**params)
    3:     return result