def is_filter_translators(self): is_filter_translators = { "assigned": (SearchKey("unassigned"), SearchValue(False)), "unassigned": (SearchKey("unassigned"), SearchValue(True)), "inbox": (SearchKey("inbox"), SearchValue(True)), "linked": (SearchKey("linked"), SearchValue(True)), "unlinked": (SearchKey("linked"), SearchValue(False)), } for status_key, status_value in STATUS_QUERY_CHOICES.items(): is_filter_translators[status_key] = (SearchKey("status"), SearchValue(status_value)) return is_filter_translators
def test_is_query_status(self): for status_string, status_val in STATUS_QUERY_CHOICES.items(): assert parse_search_query("is:%s" % status_string) == [ SearchFilter(key=SearchKey(name="status"), operator="=", value=SearchValue(status_val)) ] assert parse_search_query("!is:%s" % status_string) == [ SearchFilter(key=SearchKey(name="status"), operator="!=", value=SearchValue(status_val)) ]
def test_valid(self): for status_string, status_val in STATUS_QUERY_CHOICES.items(): filters = [ SearchFilter(SearchKey("status"), "=", SearchValue(status_string)) ] result = convert_query_values(filters, [self.project], self.user, None) assert result[0].value.raw_value == status_val filters = [ SearchFilter(SearchKey("status"), "=", SearchValue(status_val)) ] result = convert_query_values(filters, [self.project], self.user, None) assert result[0].value.raw_value == status_val
from sentry.search.utils import ( parse_actor_or_none_value, parse_release, parse_status_value, parse_user_value, ) from sentry.utils.compat import map is_filter_translation = { "assigned": ("unassigned", False), "unassigned": ("unassigned", True), "for_review": ("for_review", True), "linked": ("linked", True), "unlinked": ("linked", False), } for status_key, status_value in STATUS_QUERY_CHOICES.items(): is_filter_translation[status_key] = ("status", status_value) issue_search_config = SearchConfig.create_from( default_config, allow_boolean=False, is_filter_translation=is_filter_translation, numeric_keys=default_config.numeric_keys | {"times_seen"}, date_keys=default_config.date_keys | {"active_at", "date"}, key_mappings={ "assigned_to": ["assigned"], "bookmarked_by": ["bookmarks"], "subscribed_by": ["subscribed"], "assigned_or_suggested": ["assigned_or_suggested"], "first_release": ["first-release", "firstRelease"],