diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2016-02-17 12:55:07 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2016-02-17 12:55:07 +0100 |
commit | b3856fc87277daa856292b71b51381f139c2fdf3 (patch) | |
tree | 5e80fbe23775e8bfe2986f9201c6e32005c2f7ec /ishtar_common/tests.py | |
parent | 6f080a33d88f8245bbd26f917fcce5c58d9f62f7 (diff) | |
download | Ishtar-b3856fc87277daa856292b71b51381f139c2fdf3.tar.bz2 Ishtar-b3856fc87277daa856292b71b51381f139c2fdf3.zip |
Fix cache for multiple instance of ishtar - Database changes for managing modules via profile
Diffstat (limited to 'ishtar_common/tests.py')
-rw-r--r-- | ishtar_common/tests.py | 126 |
1 files changed, 80 insertions, 46 deletions
diff --git a/ishtar_common/tests.py b/ishtar_common/tests.py index 621b05242..4e800b0d5 100644 --- a/ishtar_common/tests.py +++ b/ishtar_common/tests.py @@ -17,10 +17,6 @@ # See the file COPYING for details. -import tempfile, datetime -from zipfile import ZipFile, ZIP_DEFLATED - -from django.conf import settings from django.contrib.auth.models import User from django.contrib.contenttypes.models import ContentType from django.template.defaultfilters import slugify @@ -29,6 +25,10 @@ from django.test import TestCase from ishtar_common import models """ +from django.conf import settings +import tempfile, datetime +from zipfile import ZipFile, ZIP_DEFLATED + from oook_replace.oook_replace import oook_replace class OOOGenerationTest(TestCase): @@ -53,34 +53,36 @@ class OOOGenerationTest(TestCase): class MergeTest(TestCase): def setUp(self): self.user, created = User.objects.get_or_create(username='username') - self.organisation_types = models.OrganizationType.create_default_for_test() + self.organisation_types = \ + models.OrganizationType.create_default_for_test() self.person_types = [models.PersonType.objects.create(label='Admin'), models.PersonType.objects.create(label='User')] self.author_types = [models.AuthorType.objects.create(label='1'), - models.AuthorType.objects.create(label='2'),] + models.AuthorType.objects.create(label='2')] self.company_1 = models.Organization.objects.create( - history_modifier=self.user, name='Franquin Comp.', - organization_type=self.organisation_types[0]) - self.person_1 = models.Person.objects.create(name='Boule', - surname=' ', - history_modifier=self.user, attached_to=self.company_1) + history_modifier=self.user, name='Franquin Comp.', + organization_type=self.organisation_types[0]) + self.person_1 = models.Person.objects.create( + name='Boule', surname=' ', history_modifier=self.user, + attached_to=self.company_1) self.person_1.person_types.add(self.person_types[0]) - self.author_1_pk = models.Author.objects.create(person=self.person_1, - author_type=self.author_types[0]).pk + self.author_1_pk = models.Author.objects.create( + person=self.person_1, author_type=self.author_types[0]).pk self.company_2 = models.Organization.objects.create( - history_modifier=self.user, name='Goscinny Corp.', - organization_type=self.organisation_types[1]) - self.person_2 = models.Person.objects.create(name='Bill', - history_modifier=self.user, surname='Peyo', title='Mr', - attached_to=self.company_2) + history_modifier=self.user, name='Goscinny Corp.', + organization_type=self.organisation_types[1]) + self.person_2 = models.Person.objects.create( + name='Bill', history_modifier=self.user, surname='Peyo', + title='Mr', attached_to=self.company_2) self.person_2.person_types.add(self.person_types[1]) - self.author_2_pk = models.Author.objects.create(person=self.person_2, - author_type=self.author_types[1]).pk - self.person_3 = models.Person.objects.create(name='George', - history_modifier=self.user, attached_to=self.company_1) + self.author_2_pk = models.Author.objects.create( + person=self.person_2, author_type=self.author_types[1]).pk + self.person_3 = models.Person.objects.create( + name='George', history_modifier=self.user, + attached_to=self.company_1) def testPersonMerge(self): self.person_1.merge(self.person_2) @@ -93,9 +95,11 @@ class MergeTest(TestCase): # preserve existing foreign key self.assertEqual(self.person_1.attached_to, self.company_1) # preserve existing many to many - self.assertTrue(self.person_types[0] in self.person_1.person_types.all()) + self.assertTrue(self.person_types[0] + in self.person_1.person_types.all()) # add new many to many - self.assertTrue(self.person_types[1] in self.person_1.person_types.all()) + self.assertTrue(self.person_types[1] + in self.person_1.person_types.all()) # update reverse foreign key association and dont break the existing self.assertEqual(models.Author.objects.get(pk=self.author_1_pk).person, self.person_1) @@ -104,32 +108,37 @@ class MergeTest(TestCase): self.person_3.merge(self.person_1) # manage well empty many to many fields - self.assertTrue(self.person_types[1] in self.person_3.person_types.all()) + self.assertTrue(self.person_types[1] + in self.person_3.person_types.all()) + class ImportKeyTest(TestCase): def testKeys(self): - content_type = ContentType.objects.get_for_model(models.OrganizationType) + content_type = ContentType.objects.get_for_model( + models.OrganizationType) # creation label = u"Ploufé" ot = models.OrganizationType.objects.create(label=label) - self.assertEqual(models.ItemKey.objects.filter(object_id=ot.pk, - key=slugify(label), - content_type=content_type).count(), 1) + self.assertEqual(models.ItemKey.objects.filter( + object_id=ot.pk, key=slugify(label), + content_type=content_type).count(), 1) label_2 = u"Plif" ot_2 = models.OrganizationType.objects.create(label=label_2) - self.assertEqual(models.ItemKey.objects.filter(object_id=ot_2.pk, - key=slugify(label_2), - content_type=content_type).count(), 1) + self.assertEqual(models.ItemKey.objects.filter( + object_id=ot_2.pk, key=slugify(label_2), + content_type=content_type).count(), 1) # replace key ot_2.add_key(slugify(label), force=True) # one key point to only one item - self.assertEqual(models.ItemKey.objects.filter(key=slugify(label), - content_type=content_type).count(), 1) + self.assertEqual(models.ItemKey.objects.filter( + key=slugify(label), + content_type=content_type).count(), 1) # this key point to the right item - self.assertEqual(models.ItemKey.objects.filter(object_id=ot_2.pk, - key=slugify(label), content_type=content_type).count(), 1) + self.assertEqual(models.ItemKey.objects.filter( + object_id=ot_2.pk, key=slugify(label), + content_type=content_type).count(), 1) # modification label_3 = "Yop" @@ -137,14 +146,39 @@ class ImportKeyTest(TestCase): ot_2.txt_idx = slugify(label_3) ot_2.save() # old label not referenced anymore - self.assertEqual(models.ItemKey.objects.filter(object_id=ot_2.pk, - key=slugify(label_2), content_type=content_type).count(), 0) - # forced key association is always here - self.assertEqual(models.ItemKey.objects.filter(object_id=ot_2.pk, - key=slugify(label), content_type=content_type).count(), 1) + self.assertEqual(models.ItemKey.objects.filter( + object_id=ot_2.pk, key=slugify(label_2), + content_type=content_type).count(), 0) + # # forced key association is always here # new key is here - self.assertEqual(models.ItemKey.objects.filter(object_id=ot_2.pk, - key=slugify(label_3), content_type=content_type).count(), 1) - - - + self.assertEqual(models.ItemKey.objects.filter( + object_id=ot_2.pk, key=slugify(label), + content_type=content_type).count(), 1) + self.assertEqual(models.ItemKey.objects.filter( + object_id=ot_2.pk, key=slugify(label_3), + content_type=content_type).count(), 1) + + +class IshtarSiteProfileTest(TestCase): + def testRelevance(self): + profile = models.IshtarSiteProfile.objects.create( + label="Test profile", slug='test-profile') + profile2 = models.IshtarSiteProfile.objects.create( + label="Test profile 2", slug='test-profile-2') + # when no profile is the current, activate by default the first created + self.assertTrue(profile.active and not profile2.active) + profile2.active = True + profile2 = profile2.save() + profile = models.IshtarSiteProfile.objects.get(slug='test-profile') + # only one profile active at a time + self.assertTrue(profile2.active and not profile.active) + # activate find active automatically context records + self.assertFalse(profile.context_record) + profile.find = True + profile = profile.save() + self.assertTrue(profile.context_record) + # activate warehouse active automatically context records and finds + self.assertFalse(profile2.context_record or profile2.find) + profile2.warehouse = True + profile2 = profile2.save() + self.assertTrue(profile2.context_record and profile2.find) |