summaryrefslogtreecommitdiff
path: root/chimere/tests.py
diff options
context:
space:
mode:
Diffstat (limited to 'chimere/tests.py')
-rw-r--r--chimere/tests.py61
1 files changed, 41 insertions, 20 deletions
diff --git a/chimere/tests.py b/chimere/tests.py
index c0a13aa..7a3960f 100644
--- a/chimere/tests.py
+++ b/chimere/tests.py
@@ -5,11 +5,13 @@ import os
test_path = os.path.abspath(__file__)
test_dir_path = os.path.dirname(test_path) + os.sep
+from django.conf import settings
from django.test import TestCase
+
from chimere.models import Icon, Importer, Category, SubCategory, Marker
-class KMLImporterTest(TestCase):
- def setUp(self):
+class ImporterTest:
+ def _baseSetUp(self):
category = Category.objects.create(name='Main category',
available=True,
order=1,
@@ -33,29 +35,14 @@ class KMLImporterTest(TestCase):
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)]
+ return [subcategory_1, subcategory_2]
def test_get(self):
nb_by_cat = {}
for importer, awaited_nb in self.marker_importers:
nb, nb_updated, res = importer.manager.get()
+ if awaited_nb == None:
+ continue
self.assertEqual(nb, awaited_nb)
self.assertEqual(nb_updated, 0)
for cat in importer.categories.all():
@@ -69,6 +56,40 @@ class KMLImporterTest(TestCase):
# update
for importer, awaited_nb in self.marker_importers:
nb, nb_updated, res = importer.manager.get()
+ if awaited_nb == None:
+ continue
self.assertEqual(nb, 0)
self.assertEqual(nb_updated, awaited_nb)
+class KMLImporterTest(TestCase, ImporterTest):
+ def setUp(self):
+ subcategory_1, subcategory_2 = self._baseSetUp()
+ 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)]
+
+class OSMImporterTest(TestCase, ImporterTest):
+ def setUp(self):
+ subcategory_1, subcategory_2 = self._baseSetUp()
+ importer1 = Importer.objects.create(importer_type='OSM',
+ source_url=settings.CHIMERE_XAPI_URL,
+ filtr="node[amenity=pub]"\
+ "[bbox=-77.041579,38.885851,-77.007247,38.900881]")
+ importer1.categories.add(subcategory_1)
+
+ self.marker_importers = [(importer1, None)]
+