def test_leave_without_target_id(self): self.assert_in_room(False) act = self.activity_for_join() api.on_join(act, as_parser(act)) self.assert_in_room(True) act = self.activity_for_leave(skip={'target'}) try: api.on_leave(act, as_parser(act)) self.fail('should raise exception, not target') except AttributeError: pass
def test_leave_different_room_stays_in_current(self): self.assert_in_room(False) act = self.activity_for_join() api.on_join(act, as_parser(act)) self.assert_in_room(True) tmp_room_id = str(uuid()) self.create_room(tmp_room_id, tmp_room_id) self.set_room_name(tmp_room_id, tmp_room_id) data = self.activity_for_leave() data['target']['id'] = tmp_room_id response_data = api.on_leave(data, as_parser(data)) self.assertEqual(200, response_data[0]) self.assert_in_room(True)
def on_leave(data: dict, activity: Activity) -> (int, Union[str, dict, None]): return api.on_leave(data, activity)
def leave_room(self, data=None): if data is None: data = self.activity_for_leave() return api.on_leave(data, as_parser(data))