diff --git a/euscanwww/djeuscan/tests/__init__.py b/euscanwww/djeuscan/tests/__init__.py index 79bc9db..30a7e5b 100644 --- a/euscanwww/djeuscan/tests/__init__.py +++ b/euscanwww/djeuscan/tests/__init__.py @@ -30,3 +30,4 @@ class SystemTestCase(unittest.TestCase): from test_models import * from test_views import * +from test_charts import * diff --git a/euscanwww/djeuscan/tests/test_charts.py b/euscanwww/djeuscan/tests/test_charts.py new file mode 100644 index 0000000..5d19259 --- /dev/null +++ b/euscanwww/djeuscan/tests/test_charts.py @@ -0,0 +1,15 @@ +from euscanwww.djeuscan.tests import SystemTestCase + + +class ChartTests(SystemTestCase): + """ + Test main pages + """ + + def test_statistics(self): + response = self.get("statistics") + self.assertEqual(response.status_code, 200) + + def test_pie_versions(self): + response = self.get("chart", chart="pie-versions") + self.assertEqual(response.status_code, 200) diff --git a/euscanwww/djeuscan/urls.py b/euscanwww/djeuscan/urls.py index 3ba8a3a..1715c69 100644 --- a/euscanwww/djeuscan/urls.py +++ b/euscanwww/djeuscan/urls.py @@ -5,57 +5,59 @@ from feeds import PackageFeed, CategoryFeed, HerdFeed, MaintainerFeed, \ package_patterns = patterns('djeuscan.views', url(r'^(?P[\w+][\w+.-]*)/(?P[\w+][\w+.-]*)/feed/$', PackageFeed(), name='package_feed'), - (r'^(?P[\w+][\w+.-]*)/(?P[\w+][\w+.-]*)/$', 'package'), + url(r'^(?P[\w+][\w+.-]*)/(?P[\w+][\w+.-]*)/$', + 'package', name="package"), ) categories_patterns = patterns('djeuscan.views', - (r'^(?P[\w+][\w+.-]*)/(view/)?$', 'category'), + url(r'^(?P[\w+][\w+.-]*)/(view/)?$', 'category', + name="category"), url(r'^(?P[\w+][\w+.-]*)/feed/$', CategoryFeed(), name='category_feed'), - (r'^(?P[\w+][\w+.-]*)/charts/(?P[\w\-]+).png$', - 'chart_category'), - (r'^$', 'categories'), + url(r'^(?P[\w+][\w+.-]*)/charts/(?P[\w\-]+).png$', + 'chart_category', name="chart_category"), + url(r'^$', 'categories', name="categories"), ) herds_patterns = patterns('djeuscan.views', - (r'^(?P[\@\{\}\w+.-]*)/(view/)?$', 'herd'), + url(r'^(?P[\@\{\}\w+.-]*)/(view/)?$', 'herd', name="herd"), url(r'^(?P[\@\{\}\w+.-]*)/feed/$', HerdFeed(), name='herd_feed'), - (r'^(?P[\@\{\}\w+.-]*)/charts/(?P[\w\-]+).png$', - 'chart_herd'), - (r'^$', 'herds'), + url(r'^(?P[\@\{\}\w+.-]*)/charts/(?P[\w\-]+).png$', + 'chart_herd', name="chart_herd"), + url(r'^$', 'herds', name="herds"), ) maintainers_patterns = patterns('djeuscan.views', - (r'^(?P\d+)/(view/)?$', 'maintainer'), + url(r'^(?P\d+)/(view/)?$', 'maintainer', name="maintainer"), url(r'^(?P\d+)/feed/$', MaintainerFeed(), name='maintainer_feed'), - (r'^(?P\d+)/charts/(?P[\w\-]+).png$', - 'chart_maintainer'), - (r'^$', 'maintainers'), + url(r'^(?P\d+)/charts/(?P[\w\-]+).png$', + 'chart_maintainer', name="chart_maintainer"), + url(r'^$', 'maintainers', name="maintainers"), ) overlays_patterns = patterns('djeuscan.views', - (r'^(?P[\w+][\w+.-]*)/(view/)?$', 'overlay'), - (r'^$', 'overlays'), + url(r'^(?P[\w+][\w+.-]*)/(view/)?$', 'overlay', name="overlay"), + url(r'^$', 'overlays', name="overlays"), ) urlpatterns = patterns('djeuscan.views', # Global stuff - (r'^api/', include('djeuscan.api.urls')), + url(r'^api/', include('djeuscan.api.urls')), url(r'^$', 'index', name="index"), url(r'^feed/$', GlobalFeed(), name='global_feed'), - (r'^about/$', 'about'), - (r'^about/api$', 'api'), - (r'^statistics/$', 'statistics'), - (r'^statistics/charts/(?P[\w\-]+).png$', 'chart'), - (r'^world/$', 'world'), - (r'^world/scan/$', 'world_scan'), + url(r'^about/$', 'about', name="about"), + url(r'^about/api$', 'api', name="api"), + url(r'^statistics/$', 'statistics', name="statistics"), + url(r'^statistics/charts/(?P[\w\-]+).png$', 'chart', name="chart"), + url(r'^world/$', 'world', name="world"), + url(r'^world/scan/$', 'world_scan', name="world_scan"), # Real data - (r'^categories/', include(categories_patterns)), - (r'^herds/', include(herds_patterns)), - (r'^maintainers/', include(maintainers_patterns)), - (r'^overlays/', include(overlays_patterns)), - (r'^package/', include(package_patterns)), + url(r'^categories/', include(categories_patterns)), + url(r'^herds/', include(herds_patterns)), + url(r'^maintainers/', include(maintainers_patterns)), + url(r'^overlays/', include(overlays_patterns)), + url(r'^package/', include(package_patterns)), ) diff --git a/euscanwww/euscanwww/urls.py b/euscanwww/euscanwww/urls.py index 10abd70..767d375 100644 --- a/euscanwww/euscanwww/urls.py +++ b/euscanwww/euscanwww/urls.py @@ -9,8 +9,8 @@ urlpatterns = patterns('', # Uncomment the admin/doc line below to enable admin documentation: # (r'^admin/doc/', include('django.contrib.admindocs.urls')), - (r'^admin/', include(admin.site.urls)), - (r'^', include('djeuscan.urls')), + url(r'^admin/', include(admin.site.urls)), + url(r'^', include('djeuscan.urls')), ) diff --git a/euscanwww/runtests.py b/euscanwww/runtests.py index a1edf91..65d55b9 100644 --- a/euscanwww/runtests.py +++ b/euscanwww/runtests.py @@ -13,7 +13,7 @@ settings.configure( }, INSTALLED_APPS=['euscanwww', 'djeuscan'], ROOT_URLCONF='euscanwww.euscanwww.urls', - EUSCAN_ROOT=os.path.dirname(os.path.dirname(os.path.abspath(__file__))), + EUSCAN_ROOT=os.path.join(dirname(dirname(abspath(__file__))), "euscanwww"), ) diff --git a/setup.py b/setup.py index 9cffb6c..9dd2e14 100755 --- a/setup.py +++ b/setup.py @@ -86,7 +86,7 @@ setup( ('master' if __version__ == '9999' else ('euscan-%s' % __version__)) ), install_requires=['Django==1.4', 'django-annoying', 'South', - 'django-piston', 'BeautifulSoup'], + 'django-piston', 'BeautifulSoup', "matplotlib"], package_dir={'': 'pym'}, packages=packages, package_data={},