Example #1
0
    def test_completed_size_limit(self):
        _ACTIVE.clear()
        _COMPLETED.clear()
        meetings = []

        # Until we hit the limit, every meeting that we deactivate should stay in _COMPLETED
        for _ in range(0, _COMPLETED_SIZE):
            meeting = add_meeting("nick", "channel", "network")
            deactivate_meeting(meeting, retain=True)
            meetings.append(meeting)
            assert len(_COMPLETED) == len(meetings)
            for meeting in meetings:
                assert meeting in _COMPLETED

        # the next one we deactivate should roll one item off _COMPLETED
        meeting = add_meeting("nick", "channel", "network")
        deactivate_meeting(meeting, retain=True)
        meetings.append(meeting)
        assert len(_COMPLETED) == len(meetings) - 1
        assert meetings[0] not in _COMPLETED
        for meeting in meetings[1:]:
            assert meeting in _COMPLETED

        # and so forth...
        meeting = add_meeting("nick", "channel", "network")
        deactivate_meeting(meeting, retain=True)
        meetings.append(meeting)
        assert len(_COMPLETED) == len(meetings) - 2
        assert meetings[0] not in _COMPLETED
        assert meetings[1] not in _COMPLETED
        for meeting in meetings[2:]:
            assert meeting in _COMPLETED
Example #2
0
 def test_deactivate_meeting_retained(self):
     _ACTIVE.clear()
     _COMPLETED.clear()
     meeting = add_meeting("nick", "channel", "network")
     deactivate_meeting(meeting, retain=True)
     assert len(_ACTIVE) == 0
     assert meeting in _COMPLETED
Example #3
0
 def test_get_meetings(self):
     _ACTIVE.clear()
     _COMPLETED.clear()
     active1 = add_meeting("a1-nick", "a1-channel", "a1-network")
     active2 = add_meeting("a2-nick", "a2-channel", "a2-network")
     completed1 = add_meeting("c1-nick", "c1-channel", "c1-network")
     completed2 = add_meeting("c2-nick", "c2-channel", "c12-network")
     deactivate_meeting(completed1, retain=True)
     deactivate_meeting(completed2, retain=True)
     assert get_meetings(active=False, completed=False) == []
     assert get_meetings(active=True, completed=False) == [active1, active2]
     assert get_meetings(active=False,
                         completed=True) == [completed1, completed2]
     assert get_meetings(active=True, completed=True) == [
         active1, active2, completed1, completed2
     ]
Example #4
0
 def test_add_meeting(self):
     _ACTIVE.clear()
     _COMPLETED.clear()
     meeting = add_meeting("nick", "channel", "network")
     assert meeting.founder == "nick"
     assert meeting.channel == "channel"
     assert meeting.network == "network"
     assert _ACTIVE[meeting.key()] is meeting
Example #5
0
 def test_get_meeting(self):
     _ACTIVE.clear()
     _COMPLETED.clear()
     assert get_meeting("channel", "network") is None
     meeting = add_meeting("nick", "channel", "network")
     assert get_meeting("channel", "network") is meeting