Exemple #1
0
class InvitationFactory(DjangoModelFactory):
    class Meta:
        model = 'invitations.Invitation'

    email = Sequence(lambda n: str(n) + faker.email())
    invited_by = SubFactory('karrot.users.factories.UserFactory')
    group = SubFactory('karrot.groups.factories.GroupFactory')
    def setUpBeforeMigration(self, apps):
        User = apps.get_model('users', 'User')
        Group = apps.get_model('groups', 'Group')
        Place = apps.get_model('places', 'Place')
        PickupDateSeries = apps.get_model('places', 'PickupDateSeries')
        PickupDate = apps.get_model('places', 'PickupDate')
        Feedback = apps.get_model('places', 'Feedback')

        self.email = faker.email()
        self.now = datetime.datetime.now(tz=pytz.utc)
        self.date = faker.date_time_between(start_date='now',
                                            end_date='+24h',
                                            tzinfo=pytz.utc)
        self.group_name = 'Group ' + faker.name()
        self.place_name = 'Place ' + faker.name()

        user = User.objects.create(email=self.email, display_name='Peter')
        group = Group.objects.create(name=self.group_name)
        place = Place.objects.create(name=self.place_name, group=group)
        pickup_date_series = PickupDateSeries.objects.create(
            place=place, start_date=self.now)
        pickup_date = PickupDate.objects.create(series=pickup_date_series,
                                                place=place,
                                                date=self.date)
        pickup_date.collectors.add(user)
        Feedback.objects.create(given_by=user, about=pickup_date)
    def setUpBeforeMigration(self, apps):
        logging.disable(logging.CRITICAL)
        self.email = faker.email()
        User = apps.get_model('users', 'User')
        History = apps.get_model('history', 'History')
        Group = apps.get_model('groups', 'Group')
        GroupMembership = apps.get_model('groups', 'GroupMembership')
        self.user = User.objects.create(email=self.email, display_name='Peter')
        self.group = Group.objects.create(
            name=faker.name(),
            description=faker.sentence(nb_words=40),
            public_description=faker.sentence(nb_words=20),
        )
        membership = GroupMembership.objects.create(group=self.group,
                                                    user=self.user)
        self.membership_id = membership.id
        self.history = History.objects.create(
            typus=HistoryTypus.GROUP_CREATE,
            group=self.group,
            payload={},
        )
        self.history.users.add(self.user)
        self.history.save()

        self.history.date = timezone.now() - relativedelta(days=100)
        self.history.save()

        self.user.created_at = timezone.now() - relativedelta(days=200)
        self.user.save()
    def setUpBeforeMigration(self, apps):
        User = apps.get_model('users', 'User')
        Group = apps.get_model('groups', 'Group')
        Place = apps.get_model('places', 'Place')
        Conversation = apps.get_model('conversations', 'Conversation')
        PickupDate = apps.get_model('pickups', 'PickupDate')
        Application = apps.get_model('applications', 'Application')
        ContentType = apps.get_model('contenttypes', 'ContentType')

        self.group = Group.objects.create(name='hello')
        target_type = ContentType.objects.get(app_label='groups',
                                              model='group')
        self.group_conversation = Conversation.objects.create(
            target_type=target_type, target_id=self.group.id)

        self.none_conversation = Conversation.objects.create()

        self.private_conversation = Conversation.objects.create(
            is_private=True)

        place = Place.objects.create(group=self.group)
        pickup = PickupDate.objects.create(place=place,
                                           date=to_range(timezone.now()))
        target_type = ContentType.objects.get(app_label='pickups',
                                              model='pickupdate')
        self.pickup_conversation = Conversation.objects.create(
            target_type=target_type, target_id=pickup.id)

        user = User.objects.create(email=faker.email())
        application = Application.objects.create(user=user, group=self.group)
        target_type = ContentType.objects.get(app_label='applications',
                                              model='application')
        self.application_conversation = Conversation.objects.create(
            target_type=target_type, target_id=application.id)
Exemple #5
0
 def test_superusers_have_all_perms(self):
     email = faker.email()
     superuser = get_user_model().objects.create_superuser(email, 'foo')
     self.assertTrue(superuser.has_perm('eating horses'))
     self.assertTrue(
         superuser.has_perm('eating this specific horse',
                            'I am a kind and gentle horse'))
     self.assertTrue(superuser.has_module_perms('lunar'))
    def setUpBeforeMigration(self, apps):
        User = apps.get_model('users', 'User')

        self.user_not_verified = User.objects.create(
            email=faker.email(),
            activation_key='123',
            key_expires_at=timezone.now() + timedelta(minutes=1),
            mail_verified=False)
        self.user_verified = User.objects.create(email=faker.email(),
                                                 activation_key='',
                                                 key_expires_at=None,
                                                 mail_verified=True)
        self.user_code_expired = User.objects.create(
            email=faker.email(),
            activation_key='123',
            key_expires_at=timezone.now() - timedelta(minutes=1),
            mail_verified=False)
Exemple #7
0
 def setUp(self):
     self.verified_user = VerifiedUserFactory()
     self.another_user = VerifiedUserFactory()
     self.old_email = self.verified_user.email
     self.new_email = faker.email()
     self.password = self.verified_user.display_name
     self.url = '/api/auth/email/'
     self.url_patch = '/api/auth/user/'
     mail.outbox = []
Exemple #8
0
 def test_normal_users_have_no_perms(self):
     email = faker.email()
     user = get_user_model().objects.create_user(email,
                                                 'foo',
                                                 display_name='I am normal')
     self.assertFalse(user.has_perm('eating horses'))
     self.assertFalse(
         user.has_perm('eating this specific horse',
                       'I am a kind and gentle horse'))
     self.assertFalse(user.has_module_perms('lunar'))
Exemple #9
0
    def test_changing_sensitive_fields_is_forbidden(self):
        self.client.force_login(user=self.verified_user)
        response = self.client.get(self.url_patch)
        original = response.data

        response = self.client.patch(self.url_patch, {'unverified_email': faker.email()})
        self.assertEqual(response.data['unverified_email'], original['unverified_email'])

        response = self.client.patch(self.url_patch, {'mail_verified': False})
        self.assertEqual(response.data['mail_verified'], True)
Exemple #10
0
 def setUp(self):
     self.user = UserFactory()
     self.url = '/api/auth/user/'
     self.user_data = {
         'email': faker.email(),
         'password': faker.name(),
         'display_name': faker.name(),
         'address': faker.address(),
         'latitude': faker.latitude(),
         'longitude': faker.longitude()
     }
     mail.outbox = []
 def make_user():
     response = c.post(
         '/api/auth/user/', {
             'email': str(timezone.now().microsecond) + faker.email(),
             'password': default_password,
             'display_name': faker.name(),
             'description': 'I am a fake user',
             'mobile_number': faker.phone_number()
         })
     if response.status_code != 201:
         raise Exception('could not make user', response.data)
     print('created user:'******'email'])
     return response.data
    def setUpBeforeMigration(self, apps):
        User = apps.get_model('users', 'User')
        Conversation = apps.get_model('conversations', 'Conversation')
        ConversationParticipant = apps.get_model('conversations',
                                                 'ConversationParticipant')

        user = User.objects.create(email=faker.email(),
                                   display_name=faker.name())
        conversation = Conversation.objects.create()
        self.non_muted_id = ConversationParticipant.objects.create(
            user=user, conversation=conversation).id

        conversation = Conversation.objects.create()
        self.muted_id = ConversationParticipant.objects.create(
            user=user, conversation=conversation, email_notifications=False).id
Exemple #13
0
 def setUp(self):
     self.user = UserFactory()
     self.user.photo = 'photo.jpg'
     self.user.save()
     self.user2 = UserFactory()
     self.url = '/api/users/'
     self.user_data = {
         'email': faker.email(),
         'password': faker.name(),
         'display_name': faker.name(),
         'address': faker.address(),
         'latitude': faker.latitude(),
         'longitude': faker.longitude()
     }
     self.group = GroupFactory(members=[self.user, self.user2])
     self.another_common_group = GroupFactory(members=[self.user, self.user2])
     self.user_in_another_group = UserFactory()
     self.another_group = GroupFactory(members=[self.user_in_another_group])
     mail.outbox = []
Exemple #14
0
class UserFactory(DjangoModelFactory):
    class Meta:
        model = get_user_model()
        strategy = CREATE_STRATEGY

    is_active = True
    is_staff = False
    display_name = LazyAttribute(lambda _: faker.name())
    email = Sequence(lambda n: str(n) + faker.email())
    description = LazyAttribute(lambda _: faker.text())

    # Use display_name as password, as it is readable
    password = PostGeneration(
        lambda obj, *args, **kwargs: obj.set_password(obj.display_name))

    @classmethod
    def _create(cls, model_class, *args, **kwargs):
        manager = cls._get_manager(model_class)
        user = manager.create_user(*args, **kwargs)
        return user
    def setUpBeforeMigration(self, apps):
        self.Reaction = Reaction = apps.get_model(
            'conversations', 'ConversationMessageReaction')
        User = apps.get_model('users', 'User')
        Message = apps.get_model('conversations', 'ConversationMessage')
        Conversation = apps.get_model('conversations', 'Conversation')

        user = User.objects.create(email=faker.email())
        conversation = Conversation.objects.create()
        message = Message.objects.create(conversation=conversation,
                                         author=user)
        self.reaction = Reaction.objects.create(message=message,
                                                user=user,
                                                name='laughing')
        self.alias_reaction = Reaction.objects.create(message=message,
                                                      user=user,
                                                      name='boat')
        self.duplicate_alias_reaction = Reaction.objects.create(
            message=message, user=user, name='satisfied')
        self.unknown_reaction = Reaction.objects.create(message=message,
                                                        user=user,
                                                        name='flag_de')
Exemple #16
0
 def setUpBeforeMigration(self, apps):
     logging.disable(logging.CRITICAL)
     self.email = faker.email()
     User = apps.get_model('users', 'User')
     User.objects.create(email=self.email, display_name='Peter')
Exemple #17
0
 def test_create_superuser(self):
     email = faker.email()
     get_user_model().objects.create_superuser(email, 'letmein')
     self.assertEqual(get_user_model().objects.filter(email=email).count(),
                      1)