Example #1
0
 def setUp(self):
     fltrs = [
         filters.String('string_field', 'string_param'),
         filters.Int('int_field', 'int_param')
     ]
     self.filter = filters.Keyword(fltrs, 'field', 'param')
     self.query = mock.Mock()
Example #2
0
 def setUp(self):
     self.params = {}
     self.query = mock.Mock()
     self.filters = [
         filters.String('string_field', 'string_param'),
         filters.Int('int_field', 'int_param'),
         filters.Boolean('bool_field', 'bool_param'),
     ]
Example #3
0
    filters.String('impact_beta_version_indices', 'beta'),
    filters.String('fuzzer_name_indices', 'fuzzer'),
    filters.String('job_type', 'job'),
]

FILTERS = [
    filters.String('impact_version_indices', 'impact'),
    filters.Boolean('has_bug_flag', 'issue'),
    filters.Boolean('open', 'open'),
    filters.Boolean('security_flag', 'security'),
    filters.Keyword(KEYWORD_FILTERS, 'keywords', 'q'),
    filters.NegativeBoolean('one_time_crasher_flag', 'reproducible'),
    filters.String('job_type', 'job'),
    filters.String('fuzzer_name_indices', 'fuzzer'),
    filters.String('project_name', 'project'),
    filters.Int('crash_revision', 'revision_greater_than', operator='>')
]


def add_filters(query, params):
    """Add filters based on params."""
    if not filters.has_params(params, FILTERS) and not params.get('showall'):
        params['open'] = 'yes'

    query.filter('status', 'Processed')
    query.filter('is_a_duplicate_flag', False)

    # For queries that use inequality we need to order by that field. Otherwise,
    # use the timestamp.
    if 'revision_greater_than' in params:
        query.order('crash_revision', is_desc=True)
Example #4
0
 def test_operator(self):
     fltr = filters.Int('field', 'param', operator='>')
     fltr.add(self.query, {'param': '0'})
     self.query.assert_has_calls(
         [mock.call.filter('field', 0, operator='>')])
Example #5
0
 def setUp(self):
     self.filter = filters.Int('field', 'param')
     self.query = mock.Mock()