diff options
Diffstat (limited to 'ishtar_common/tests.py')
-rw-r--r-- | ishtar_common/tests.py | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/ishtar_common/tests.py b/ishtar_common/tests.py index f14872295..e8821f18c 100644 --- a/ishtar_common/tests.py +++ b/ishtar_common/tests.py @@ -2060,6 +2060,54 @@ class MergeTest(TestCase): self.assertEqual(self.person_1.merge_candidate.count(), init_mc) +class GDPRTest(TestCase): + def setUp(self): + self.user, created = User.objects.get_or_create(username="username") + self.person_1 = models.Person.objects.create( + name="Boule", + surname=" ", + history_modifier=self.user, + ) + self.person_2 = models.Person.objects.create( + name="Bill", + history_modifier=self.user, + surname="Peyo", + ) + self.person_3 = models.Person.objects.create( + name="George", history_modifier=self.user, + ) + + def test_create_log(self): + nb = models.GDPRLog.objects.count() + nb_person = models.GDPRPerson.objects.count() + + q = models.Person.objects.filter(pk__in=(self.person_1.pk, self.person_2.pk)) + models.GDPRLog.create_log(self.user.pk, "127.0.0.1", "DC", q) + self.assertEqual(models.GDPRLog.objects.count(), nb + 1) + self.assertEqual(models.GDPRPerson.objects.count(), nb_person + 2) + last_log = models.GDPRLog.objects.order_by("-pk").all()[0] + self.assertEqual(last_log.persons.count(), 2) + + nb = models.GDPRLog.objects.count() + nb_person = models.GDPRPerson.objects.count() + q = models.Person.objects.filter(pk__in=(self.person_1.pk, self.person_3.pk)) + models.GDPRLog.create_log(self.user.pk, "127.0.1.1", "DE", q) + self.assertEqual(models.GDPRLog.objects.count(), nb + 1) + self.assertEqual(models.GDPRPerson.objects.count(), nb_person + 1) + last_log = models.GDPRLog.objects.order_by("-pk").all()[0] + self.assertEqual(last_log.persons.count(), 2) + + def test_create_log_performance(self): + persons = [] + for idx in range(5000): + persons.append(models.Person(name=f"George {idx + 1}", raw_name=f"George {idx + 1}")) + models.Person.objects.bulk_create(persons) + n = datetime.datetime.now() + q = models.Person.objects + models.GDPRLog.create_log(self.user.pk, "127.0.0.1", "DE", q) + self.assertTrue((datetime.datetime.now() - n).seconds < 3) + + class ShortMenuTest(TestCase): def setUp(self): self.username = "username666" |