summaryrefslogtreecommitdiff
path: root/chimere/tests.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@peacefrogs.net>2012-05-16 12:56:44 +0200
committerÉtienne Loks <etienne.loks@peacefrogs.net>2012-05-16 12:56:44 +0200
commit9c9796a5bd5ced3ebbe4e2b143906d0bce9f0024 (patch)
tree079bd5fa43869e5794e66f4893c600a9f8e71c37 /chimere/tests.py
parent8bfbb35bb37eb822f4967fc818d5592f40499fe6 (diff)
downloadChimère-9c9796a5bd5ced3ebbe4e2b143906d0bce9f0024.tar.bz2
Chimère-9c9796a5bd5ced3ebbe4e2b143906d0bce9f0024.zip
Fix RSS feeds for django 1.4 - reintegrate them in the main application
Diffstat (limited to 'chimere/tests.py')
-rw-r--r--chimere/tests.py105
1 files changed, 75 insertions, 30 deletions
diff --git a/chimere/tests.py b/chimere/tests.py
index 005cfcb..8ff3d25 100644
--- a/chimere/tests.py
+++ b/chimere/tests.py
@@ -1,42 +1,73 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
+import datetime
+import lxml.etree
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.core.urlresolvers import reverse
from django.test import TestCase
-from chimere.models import Icon, Importer, Category, SubCategory, Marker
+from chimere.models import Area, Icon, Importer, Category, SubCategory, Marker
+
+def area_setup():
+ area_1 = Area.objects.create(name='area 1', order=1, available=True,
+ upper_left_corner='SRID=4326;POINT(-4.907753 48.507656)',
+ lower_right_corner='SRID=4326;POINT(-4.049447 48.279688)')
+ return area_1
+
+def subcategory_setup():
+ 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',)
+ return [subcategory_1, subcategory_2]
+
+def marker_setup(sub_categories=[]):
+ if not sub_categories:
+ sub_categories = subcategory_setup()
+ current_date = datetime.datetime.now()
+ markers = []
+ marker_1 = Marker.objects.create(name="Marker 1", status='A',
+ point='SRID=4326;POINT(-4.5 48.4)',
+ available_date=current_date)
+ marker_1.categories.add(sub_categories[0])
+ markers.append(marker_1)
+ marker_2 = Marker.objects.create(name="Marker 2", status='A',
+ point='SRID=4326;POINT(-3.5 48.4)',
+ available_date=current_date)
+ marker_2.categories.add(sub_categories[1])
+ markers.append(marker_2)
+ marker_3 = Marker.objects.create(name="Marker 3", status='A',
+ point='SRID=4326;POINT(-4.5 48.45)',
+ available_date=current_date - datetime.timedelta(days=60))
+ marker_3.categories.add(sub_categories[1])
+ markers.append(marker_3)
+ return markers
class ImporterTest:
- def _baseSetUp(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',)
- return [subcategory_1, subcategory_2]
-
def test_get(self):
nb_by_cat = {}
for importer, awaited_nb in self.marker_importers:
@@ -63,7 +94,7 @@ class ImporterTest:
class KMLImporterTest(TestCase, ImporterTest):
def setUp(self):
- subcategory_1, subcategory_2 = self._baseSetUp()
+ subcategory_1, subcategory_2 = subcategory_setup()
importer1 = Importer.objects.create(importer_type='KML',
source=test_dir_path+'tests/sample.kml',
filtr="Category 1")
@@ -89,7 +120,7 @@ class KMLImporterTest(TestCase, ImporterTest):
class ShapefileImporterTest(TestCase, ImporterTest):
def setUp(self):
- subcategory_1, subcategory_2 = self._baseSetUp()
+ subcategory_1, subcategory_2 = subcategory_setup()
importer = Importer.objects.create(importer_type='SHP',
source=test_dir_path+'tests/sample.shp.zip', zipped=True)
importer.categories.add(subcategory_1)
@@ -98,7 +129,8 @@ class ShapefileImporterTest(TestCase, ImporterTest):
class OSMImporterTest(TestCase, ImporterTest):
def setUp(self):
- subcategory_1, subcategory_2 = self._baseSetUp()
+ subcategory_1, subcategory_2 = subcategory_setup()
+ markers = marker_setup()
importer1 = Importer.objects.create(importer_type='OSM',
source='OSM',
filtr="node[amenity=pub]"\
@@ -107,3 +139,16 @@ class OSMImporterTest(TestCase, ImporterTest):
self.marker_importers = [(importer1, None)]
+class FeedsTest(TestCase):
+ def setUp(self):
+ self.area = area_setup()
+ self.markers = marker_setup()
+
+ def test_rss(self):
+ # global
+ url = reverse('chimere:feeds-global')
+ response = self.client.get(url)
+ self.assertEqual(200, response.status_code)
+ doc = lxml.etree.fromstring(response.content)
+ self.assertEqual(int(doc.xpath('count(//item)')), len(self.markers))
+