diff options
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 |
commit | 9c9796a5bd5ced3ebbe4e2b143906d0bce9f0024 (patch) | |
tree | 079bd5fa43869e5794e66f4893c600a9f8e71c37 /chimere/tests.py | |
parent | 8bfbb35bb37eb822f4967fc818d5592f40499fe6 (diff) | |
download | Chimè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.py | 105 |
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)) + |