def test_simple_use_snql(self) -> None: one_min_ago = iso_format(before_now(minutes=1)) event_1 = self.store_event( data={"fingerprint": ["group-1"], "message": "hello", "timestamp": one_min_ago}, project_id=self.project.id, ) event_2 = self.store_event( data={"fingerprint": ["group-2"], "message": "hello", "timestamp": one_min_ago}, project_id=self.project.id, ) results = snuba.bulk_raw_query( [ snuba.SnubaQueryParams( start=timezone.now() - timedelta(days=1), end=timezone.now(), selected_columns=["event_id", "group_id", "timestamp"], filter_keys={"project_id": [self.project.id], "group_id": [event_1.group.id]}, ), snuba.SnubaQueryParams( start=timezone.now() - timedelta(days=1), end=timezone.now(), selected_columns=["event_id", "group_id", "timestamp"], filter_keys={"project_id": [self.project.id], "group_id": [event_2.group.id]}, ), ], use_snql=True, ) assert [{(item["group_id"], item["event_id"]) for item in r["data"]} for r in results] == [ {(event_1.group.id, event_1.event_id)}, {(event_2.group.id, event_2.event_id)}, ]
def test_simple(self): one_min_ago = iso_format(before_now(minutes=1)) event_1 = self.store_event( data={"fingerprint": ["group-1"], "message": "hello", "timestamp": one_min_ago}, project_id=self.project.id, ) event_2 = self.store_event( data={"fingerprint": ["group-2"], "message": "hello", "timestamp": one_min_ago}, project_id=self.project.id, ) results = snuba.bulk_raw_query( [ snuba.SnubaQueryParams( start=timezone.now() - timedelta(days=1), end=timezone.now(), selected_columns=["event_id", "issue", "timestamp"], filter_keys={"project_id": [self.project.id], "issue": [event_1.group.id]}, ), snuba.SnubaQueryParams( start=timezone.now() - timedelta(days=1), end=timezone.now(), selected_columns=["event_id", "issue", "timestamp"], filter_keys={"project_id": [self.project.id], "issue": [event_2.group.id]}, ), ] ) assert [ {"issue": r["data"][0]["issue"], "event_id": r["data"][0]["event_id"]} for r in results ] == [ {"issue": event_1.group.id, "event_id": event_1.event_id}, {"issue": event_2.group.id, "event_id": event_2.event_id}, ]
def test_simple(self): one_min_ago = (timezone.now() - timedelta(minutes=1)).isoformat()[:19] event_1 = self.store_event( data={ 'fingerprint': ['group-1'], 'message': 'hello', 'timestamp': one_min_ago, }, project_id=self.project.id, ) event_2 = self.store_event( data={ 'fingerprint': ['group-2'], 'message': 'hello', 'timestamp': one_min_ago, }, project_id=self.project.id, ) results = snuba.bulk_raw_query([ snuba.SnubaQueryParams( start=timezone.now() - timedelta(days=1), end=timezone.now(), selected_columns=['event_id', 'issue', 'timestamp'], filter_keys={ 'project_id': [self.project.id], 'issue': [event_1.group.id] }, ), snuba.SnubaQueryParams( start=timezone.now() - timedelta(days=1), end=timezone.now(), selected_columns=['event_id', 'issue', 'timestamp'], filter_keys={ 'project_id': [self.project.id], 'issue': [event_2.group.id] }, ), ]) assert [{ 'issue': r['data'][0]['issue'], 'event_id': r['data'][0]['event_id'] } for r in results] == [ { 'issue': event_1.group.id, 'event_id': event_1.event_id }, { 'issue': event_2.group.id, 'event_id': event_2.event_id }, ]
def test_cache(self, _bulk_snuba_query): one_min_ago = iso_format(before_now(minutes=1)) event_1 = self.store_event( data={"fingerprint": ["group-1"], "message": "hello", "timestamp": one_min_ago}, project_id=self.project.id, ) event_2 = self.store_event( data={"fingerprint": ["group-2"], "message": "hello", "timestamp": one_min_ago}, project_id=self.project.id, ) params = [ snuba.SnubaQueryParams( start=timezone.now() - timedelta(days=1), end=timezone.now(), selected_columns=["event_id", "group_id", "timestamp"], filter_keys={"project_id": [self.project.id], "group_id": [event_1.group.id]}, ), snuba.SnubaQueryParams( start=timezone.now() - timedelta(days=1), end=timezone.now(), selected_columns=["event_id", "group_id", "timestamp"], filter_keys={"project_id": [self.project.id], "group_id": [event_2.group.id]}, ), ] results = snuba.bulk_raw_query( copy.deepcopy(params), use_cache=True, ) assert [{(item["group_id"], item["event_id"]) for item in r["data"]} for r in results] == [ {(event_1.group.id, event_1.event_id)}, {(event_2.group.id, event_2.event_id)}, ] assert _bulk_snuba_query.call_count == 1 _bulk_snuba_query.reset_mock() # # Make sure this doesn't appear in the cached results self.store_event( data={"fingerprint": ["group-2"], "message": "hello there", "timestamp": one_min_ago}, project_id=self.project.id, ) results = snuba.bulk_raw_query( copy.deepcopy(params), use_cache=True, ) assert [{(item["group_id"], item["event_id"]) for item in r["data"]} for r in results] == [ {(event_1.group.id, event_1.event_id)}, {(event_2.group.id, event_2.event_id)}, ] assert _bulk_snuba_query.call_count == 0