Exemplo n.º 1
0
def test_searches_parsers_params_parser_filter_and_query_string_space(
        dummy_request):
    from snovault.elasticsearch.searches.parsers import ParamsParser
    dummy_request.environ['QUERY_STRING'] = (
        'type=File&status=released&file_type=bed+bed3%2B')
    p = ParamsParser(dummy_request)
    assert p.get_key_filters(key='file_type',
                             params=p.get_must_match_filters()) == [
                                 ('file_type', 'bed bed3+')
                             ]
    assert p.get_search_term_filters() == []
    assert p.get_query_string(params=p.get_search_term_filters()) == ''
    assert p.get_query_string(params=p.get_key_filters(
        key='file_type')) == 'file_type=bed+bed3%2B'
Exemplo n.º 2
0
def test_searches_parsers_params_parser_keys_filters_not_flag(dummy_request):
    from snovault.elasticsearch.searches.parsers import ParamsParser
    dummy_request.environ['QUERY_STRING'] = (
        'status=released&status!=submitted&type=File&file_format%21=bigWig')
    p = ParamsParser(dummy_request)
    assert p.get_not_keys_filters() == [('status', 'released'),
                                        ('status!', 'submitted'),
                                        ('type', 'File'),
                                        ('file_format!', 'bigWig')]
    assert p.get_not_keys_filters(not_keys=['status']) == [('type', 'File'),
                                                           ('file_format!',
                                                            'bigWig')]
    assert p.get_not_keys_filters(not_keys=['status', 'file_format']) == [
        ('type', 'File')
    ]
    assert p.get_not_keys_filters(
        not_keys=['status', 'file_format', 'type']) == []
    assert p.get_keys_filters(keys=['status']) == [('status', 'released'),
                                                   ('status!', 'submitted')]
    assert p.get_keys_filters(keys=['status', 'file_format']) == [
        ('status', 'released'), ('status!', 'submitted'),
        ('file_format!', 'bigWig')
    ]
    assert p.get_must_not_match_filters(params=p.get_keys_filters(
        keys=['status', 'file_format'])) == [('status!', 'submitted'),
                                             ('file_format!', 'bigWig')]
    assert p.get_must_match_filters(params=p.get_keys_filters(
        keys=['status', 'file_format'])) == [('status', 'released')]
    assert p.get_query_string(params=p.get_must_match_filters(
        params=p.get_keys_filters(
            keys=['status', 'file_format']))) == 'status=released'
Exemplo n.º 3
0
def test_searches_parsers_params_parser_get_query_string(dummy_request):
    from snovault.elasticsearch.searches.parsers import ParamsParser
    dummy_request.environ['QUERY_STRING'] = (
        'type=File&file_format%21=bigWig&file_type%21=bigBed+tss_peak'
        '&file_format_type=bed3%2B')
    p = ParamsParser(dummy_request)
    assert dummy_request.environ['QUERY_STRING'] == p.get_query_string()
Exemplo n.º 4
0
def test_searches_parsers_params_parser_filter_and_query_string(dummy_request):
    from snovault.elasticsearch.searches.parsers import ParamsParser
    dummy_request.environ['QUERY_STRING'] = (
        'type=File&file_format%21=bigWig&file_type%21=bigBed+tss_peak'
        '&file_format_type=bed3%2B')
    p = ParamsParser(dummy_request)
    assert p.get_type_filters() == [('type', 'File')]
    assert p.get_query_string(params=p.get_type_filters()) == 'type=File'
    assert p.get_must_not_match_filters() == [('file_format!', 'bigWig'),
                                              ('file_type!', 'bigBed tss_peak')
                                              ]
    assert p.get_query_string(params=p.get_must_not_match_filters(
    )) == 'file_format%21=bigWig&file_type%21=bigBed+tss_peak'
    assert p.get_must_match_filters() == [('type', 'File'),
                                          ('file_format_type', 'bed3+')]
    assert p.get_query_string(params=p.get_must_match_filters()
                              ) == 'type=File&file_format_type=bed3%2B'
    assert dummy_request.environ['QUERY_STRING'] == p.get_query_string()