def test_get_events(self): events = self.eventstore.get_events(filter=Filter( project_ids=[self.project1.id, self.project2.id], conditions=[["type", "!=", "transaction"] ], # TODO: Remove once errors storage rolled out )) assert len(events) == 3 # Default sort is timestamp desc, event_id desc assert events[0].event_id == "c" * 32 assert events[1].event_id == "b" * 32 assert events[2].event_id == "a" * 32 # No events found project = self.create_project() events = self.eventstore.get_events(filter=Filter( project_ids=[project.id])) assert events == [] # Test with a list of event IDs and project ID filters events = self.eventstore.get_events(filter=Filter( project_ids=[self.project1.id, self.project2.id], event_ids=[ "a" * 32, "b" * 32, "c" * 32, "x" * 32, "y" * 32, "z" * 32 ], )) assert len(events) == 3 assert events[0].event_id == "c" * 32 assert events[1].event_id == "b" * 32 assert events[2].event_id == "a" * 32
def test_get_events(self): events = self.eventstore.get_events(filter=Filter( project_ids=[self.project1.id, self.project2.id])) assert len(events) == 5 # Default sort is timestamp desc, event_id desc assert events[0].event_id == "e" * 32 assert events[1].event_id == "d" * 32 assert events[2].event_id == "c" * 32 assert events[3].event_id == "b" * 32 assert events[4].event_id == "a" * 32 # No events found project = self.create_project() events = self.eventstore.get_events(filter=Filter( project_ids=[project.id])) assert events == [] # Test with a list of event IDs and project ID filters events = self.eventstore.get_events(filter=Filter( project_ids=[self.project1.id, self.project2.id], event_ids=[ "a" * 32, "b" * 32, "c" * 32, "x" * 32, "y" * 32, "z" * 32 ], )) assert len(events) == 3 assert events[0].event_id == "c" * 32 assert events[1].event_id == "b" * 32 assert events[2].event_id == "a" * 32
def test_get_events(self): events = self.eventstore.get_events(filter=Filter( project_ids=[self.project1.id, self.project2.id])) assert len(events) == 4 # Default sort is timestamp desc, event_id desc assert events[0].id == "d" * 32 assert events[1].id == "c" * 32 assert events[2].id == "b" * 32 assert events[3].id == "a" * 32 # No events found project = self.create_project() events = self.eventstore.get_events(filter=Filter( project_ids=[project.id])) assert events == []
def test_get_latest_or_oldest_event_id(self): # Returns a latest/oldest event event = self.eventstore.get_event_by_id(self.project2.id, "b" * 32) filter = Filter(project_ids=[self.project1.id, self.project2.id]) oldest_event = self.eventstore.get_earliest_event_id(event, filter=filter) latest_event = self.eventstore.get_latest_event_id(event, filter=filter) assert oldest_event == (six.text_type(self.project1.id), "a" * 32) assert latest_event == (six.text_type(self.project2.id), "e" * 32) # Returns none when no latest/oldest event that meets conditions event = self.eventstore.get_event_by_id(self.project2.id, "b" * 32) filter = Filter(project_ids=[self.project1.id], group_ids=[self.event2.group_id]) oldest_event = self.eventstore.get_earliest_event_id(event, filter=filter) latest_event = self.eventstore.get_latest_event_id(event, filter=filter) assert oldest_event is None assert latest_event is None
def test_get_next_prev_event_id_public_alias_conditions(self): event = self.eventstore.get_event_by_id(self.project2.id, "b" * 32) filter = Filter( project_ids=[self.project2.id], conditions=[["event.type", "=", "default"], ["project.id", "=", self.project2.id]], ) prev_event = self.eventstore.get_prev_event_id(event, filter=filter) next_event = self.eventstore.get_next_event_id(event, filter=filter) assert prev_event is None assert next_event == (six.text_type(self.project2.id), "c" * 32)
def test_transaction_get_next_prev_event_id(self): _filter = Filter( project_ids=[self.project1.id, self.project2.id], conditions=[["event.type", "=", "transaction"]], ) event = self.eventstore.get_event_by_id(self.project2.id, "e" * 32) prev_event = self.eventstore.get_prev_event_id(event, filter=_filter) next_event = self.eventstore.get_next_event_id(event, filter=_filter) assert prev_event == (str(self.project2.id), "d" * 32) assert next_event is None event = self.eventstore.get_event_by_id(self.project2.id, "d" * 32) prev_event = self.eventstore.get_prev_event_id(event, filter=_filter) next_event = self.eventstore.get_next_event_id(event, filter=_filter) assert prev_event is None assert next_event == (str(self.project2.id), "e" * 32)
def test_get_next_prev_event_id(self): event = self.eventstore.get_event_by_id(self.project2.id, "b" * 32) _filter = Filter(project_ids=[self.project1.id, self.project2.id]) prev_event = self.eventstore.get_prev_event_id(event, filter=_filter) next_event = self.eventstore.get_next_event_id(event, filter=_filter) assert prev_event == (str(self.project1.id), "a" * 32) # Events with the same timestamp are sorted by event_id assert next_event == (str(self.project2.id), "c" * 32) # Returns None if no event assert self.eventstore.get_prev_event_id(None, filter=_filter) is None assert self.eventstore.get_next_event_id(None, filter=_filter) is None
def test_get_unfetched_events(self, get_multi): events = self.eventstore.get_unfetched_events(filter=Filter( project_ids=[self.project1.id])) assert len(events) == 1 assert get_multi.call_count == 0