Exemple #1
0
    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
Exemple #2
0
    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
Exemple #3
0
    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 == []
Exemple #4
0
    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
Exemple #5
0
    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)
Exemple #6
0
    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)
Exemple #7
0
    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
Exemple #8
0
 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