diff options
Diffstat (limited to 'ishtar_common/tests.py')
| -rw-r--r-- | ishtar_common/tests.py | 25 | 
1 files changed, 25 insertions, 0 deletions
| diff --git a/ishtar_common/tests.py b/ishtar_common/tests.py index b056359ec..3289ad8f6 100644 --- a/ishtar_common/tests.py +++ b/ishtar_common/tests.py @@ -20,11 +20,13 @@  from bs4 import BeautifulSoup as Soup  import csv  import datetime +import importlib  import io  import json  import os  import shutil  from io import StringIO +import zipfile  from django.apps import apps @@ -46,6 +48,7 @@ from django.test.runner import DiscoverRunner  from ishtar_common import models  from ishtar_common import views  from ishtar_common.apps import admin_site +from ishtar_common.serializers import type_model_serialization  from ishtar_common.utils import post_save_geo, update_data, move_dict_data, \      rename_and_simplify_media_name, try_fix_file @@ -544,6 +547,28 @@ class CacheTest(TestCase):          self.assertIn(b'href="/operation_modification/', response.content) +class SerializationTest(TestCase): +    fixtures = [settings.ROOT_PATH + +                '../fixtures/initial_data-auth-fr.json', +                settings.ROOT_PATH + +                '../ishtar_common/fixtures/initial_data-fr.json',] + +    def test_type_serialization(self): +        json_result = type_model_serialization() +        for k in json_result.keys(): +            module_name, model_name = k.split("__") +            module = importlib.import_module(module_name + ".models") +            model = getattr(module, model_name) +            self.assertEqual(model.objects.count(), +                             len(json.loads(json_result[k]))) + +    def test_type_serialization_zip(self): +        # only check the validity of the zip, the content is tested above +        zip_filename = type_model_serialization(archive=True) +        with zipfile.ZipFile(zip_filename, "r") as zip_file: +            self.assertIsNone(zip_file.testzip()) + +  class AccessControlTest(TestCase):      def test_administrator(self):          admin, created = models.PersonType.objects.get_or_create( | 
