예제 #1
0
 def setUp(self):
     user = get_user_model().objects.create(username="******")
     room = Room()
     room.save()
     room.members.add(user)
     message = Message(room=room, sender=user, text="Notes to myself")
     message.save()
예제 #2
0
 def setUp(self):
     user = get_user_model().objects.create(
         **{get_user_model().USERNAME_FIELD: "user0"})
     room = Room()
     room.save()
     room.members.add(user)
     message = Message(room=room, sender=user, text="Notes to myself")
     message.save()
예제 #3
0
def create_room(user_list):
    for user in user_list:
        if type(user) != get_user_model():
            raise TypeError(
                "Parameters passed to create_room doesn't " +
                "match your project's user model. Please make sure the list " +
                "you passed contains valid settings.AUTH_USER_MODEL objects.")
    rooms_with_member_count = Room.objects.annotate(
        num_members=Count('members'))
    rooms = rooms_with_member_count.filter(num_members=len(user_list))

    for member in user_list:
        rooms = rooms.filter(members=member)
    if rooms.exists():
        room = rooms[0]
        return room.id
    else:
        room = Room()
        room.save()
        room.members.set(user_list)
        room.save()
        return room.id
예제 #4
0
파일: utils.py 프로젝트: alexsilva/chatter
def create_room(user_list, **kwargs):
    """Takes in a list of User objects and returns the UUID of the room created"""
    for user in user_list:
        if not isinstance(user, User):
            raise TypeError(
                "Parameters passed to create_room doesn't "
                "match your project's user model. Please make sure the list "
                "you passed contains valid User objects as defined in your "
                "settings.AUTH_USER_MODEL parameter.")

    rooms = Room.objects.filter(members__in=user_list)

    rooms = rooms.annotate(num_members=Count('members'))
    rooms = rooms.filter(num_members=len(user_list))

    room = rooms.first()

    if not room:
        room = Room(**kwargs)
        room.save()
        room.members.set(user_list)
        room.save()

    return room
예제 #5
0
 def test_invalid_room_id(self):
     print('testing room creation exception with invalid room id')
     room = Room(id="invaliduuid")
     self.assertRaises(ValidationError, room.save)