Пример #1
0
    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
Пример #2
0
    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)
Пример #3
0
def on_leave(data: dict, activity: Activity) -> (int, Union[str, dict, None]):
    return api.on_leave(data, activity)
Пример #4
0
 def leave_room(self, data=None):
     if data is None:
         data = self.activity_for_leave()
     return api.on_leave(data, as_parser(data))