diff options
author | Étienne Loks <etienne.loks@peacefrogs.net> | 2012-03-17 00:50:25 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2012-03-17 00:50:25 +0100 |
commit | 00d67d1cca3c788c09e6f8e58ef5dd598dbd0259 (patch) | |
tree | 0dcecf3b7cf49ccd5e6b74f646e456fb749142f4 /chimere/tests.py | |
parent | 105149b7810cc459662368d6275e88ba328e44d0 (diff) | |
download | Chimère-00d67d1cca3c788c09e6f8e58ef5dd598dbd0259.tar.bz2 Chimère-00d67d1cca3c788c09e6f8e58ef5dd598dbd0259.zip |
Add a test file (inly testing import)
Diffstat (limited to 'chimere/tests.py')
-rw-r--r-- | chimere/tests.py | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/chimere/tests.py b/chimere/tests.py new file mode 100644 index 0000000..c0a13aa --- /dev/null +++ b/chimere/tests.py @@ -0,0 +1,74 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +import os +test_path = os.path.abspath(__file__) +test_dir_path = os.path.dirname(test_path) + os.sep + +from django.test import TestCase +from chimere.models import Icon, Importer, Category, SubCategory, Marker + +class KMLImporterTest(TestCase): + def setUp(self): + category = Category.objects.create(name='Main category', + available=True, + order=1, + description='') + + icon = Icon.objects.create(name='Default icon', + image='icons/marker.png', + height=25, + width=21) + + subcategory_1 = SubCategory.objects.create(category=category, + name='Subcategory 1', + available=True, + icon=icon, + order=1, + item_type='M',) + + subcategory_2 = SubCategory.objects.create(category=category, + name='Subcategory 2', + available=True, + icon=icon, + order=1, + item_type='M',) + + importer1 = Importer.objects.create(importer_type='KML', + source_url=test_dir_path+'sample.kml', + filtr="//kml:Folder/kml:name[text()='Category 1']/../kml:Placemark") + importer1.categories.add(subcategory_1) + + importer2 = Importer.objects.create(importer_type='KML', + source_url=test_dir_path+'sample.kml', + filtr="//kml:Folder/kml:name[text()='Subcategory 1']/../kml:Placemark") + importer2.categories.add(subcategory_1) + importer2.categories.add(subcategory_2) + + importer3 = Importer.objects.create(importer_type='KML', + source_url=test_path+'sample.kml', + filtr="//kml:Folder/kml:name[text()='Subcategory 3']/../kml:Placemark") + importer3.categories.add(subcategory_2) + + self.marker_importers = [(importer1, 1), (importer2, 2), (importer3, 0)] + + def test_get(self): + nb_by_cat = {} + for importer, awaited_nb in self.marker_importers: + nb, nb_updated, res = importer.manager.get() + self.assertEqual(nb, awaited_nb) + self.assertEqual(nb_updated, 0) + for cat in importer.categories.all(): + if cat not in nb_by_cat: + nb_by_cat[cat] = 0 + nb_by_cat[cat] += nb + for cat in nb_by_cat: + self.assertEqual(nb_by_cat[cat], + Marker.objects.filter(categories__pk=cat.pk).count()) + + # update + for importer, awaited_nb in self.marker_importers: + nb, nb_updated, res = importer.manager.get() + self.assertEqual(nb, 0) + self.assertEqual(nb_updated, awaited_nb) + |