def test_multiple_events(self): self.events = [] def callback(event): self.events.append(event) sse = MockSSEClient([ _sseclient.Event.parse( 'event: put\ndata: {"path":"/foo","data":"testevent1"}\n\n'), _sseclient.Event.parse( 'event: put\ndata: {"path":"/bar","data":{"a": 1}}\n\n'), ]) registration = db.ListenerRegistration(callback, sse) self.wait_for(self.events, count=2) registration.close() assert sse.closed assert len(self.events) == 2 event = self.events[0] assert event.event_type == 'put' assert event.path == '/foo' assert event.data == 'testevent1' event = self.events[1] assert event.event_type == 'put' assert event.path == '/bar' assert event.data == {'a': 1}
def test_single_event(self): self.events = [] def callback(event): self.events.append(event) sse = MockSSEClient([ _sseclient.Event.parse('event: put\ndata: {"path":"/","data":"testevent"}\n\n') ]) registration = db.ListenerRegistration(callback, sse) self.wait_for(self.events) registration.close() assert sse.closed assert len(self.events) == 1 event = self.events[0] assert event.event_type == 'put' assert event.path == '/' assert event.data == 'testevent'