Exemplo n.º 1
0
 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
Exemplo n.º 2
0
 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))
         ]
Exemplo n.º 3
0
    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
Exemplo n.º 4
0
def parse_status_value(value):
    if value in STATUS_QUERY_CHOICES:
        return STATUS_QUERY_CHOICES[value]
    if value in STATUS_QUERY_CHOICES.values():
        return value
    raise ValueError("Invalid status value")
Exemplo n.º 5
0
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"],