Esempio n. 1
0
 def test_empty_fields(self):
     """CSV files where some fields are empty"""
     curr_path = os.path.dirname(__file__)
     for filename in self.CSV_EMPTY_FIELDS:
         # Delete existing users and groups
         get_user_model().objects.all().delete()
         Group.objects.all().delete()
         path = os.path.join(curr_path, self.FILE_FOLDER, filename)
         with self.assertRaises(AssertionError):
             create_users_from_csv(path, f"Test-{filename}")
Esempio n. 2
0
    def test_valid_csv(self):
        """Valid CSV file with 3 users"""
        # Delete existing users and groups
        Group.objects.all().delete()
        get_user_model().objects.all().delete()

        group_name = 'Clase ABC curso X/Y'
        curr_path = os.path.dirname(__file__)
        path = os.path.join(curr_path, self.FILE_FOLDER, self.CSV_OK_TEST)

        # Invoking with dry=True does not create users or groups
        old_groups = list(Group.objects.all())
        old_users = list(get_user_model().objects.all())
        create_users_from_csv(path, group_name, dry=True)
        new_groups = list(Group.objects.all())
        new_users = list(get_user_model().objects.all())
        self.assertEqual(old_groups, new_groups)
        self.assertEqual(old_users, new_users)

        # Invoking with dry=False does create a group with the expected users
        create_users_from_csv(path, group_name, dry=False)

        # The new group has 3 members
        new_group = Group.objects.filter(name=group_name)[0]
        self.assertEqual(len(new_group.user_set.all()), 3)

        juan = get_user_model().objects.get(username='******')
        self.assertTrue(juan.check_password('11111111X'))
        self.assertFalse(juan.check_password('11113111X'))
        self.assertEqual(juan.first_name, 'Juan')
        self.assertEqual(juan.last_name, '_')
        self.assertEqual(len(juan.groups.all()), 1)
        self.assertEqual(juan.groups.all()[0], new_group)

        eva = get_user_model().objects.get(username='******')
        self.assertTrue(eva.check_password('22222222X'))
        self.assertFalse(eva.check_password('11113111X'))
        self.assertEqual(eva.first_name, 'EVA MARIA')
        self.assertEqual(eva.last_name, 'MARTIN KEPLER')
        self.assertEqual(len(eva.groups.all()), 1)
        self.assertEqual(eva.groups.all()[0], new_group)

        froilan = get_user_model().objects.get(username='******')
        self.assertTrue(froilan.check_password('33333333X'))
        self.assertFalse(froilan.check_password('11113111X'))
        self.assertEqual(froilan.first_name, 'JUAN FROILAN DE TODOS LOS SANTOS DE JESÚS')
        self.assertEqual(froilan.last_name, 'KUPU KUPI')
        self.assertEqual(len(froilan.groups.all()), 1)
        self.assertEqual(froilan.groups.all()[0], new_group)