From 7bb24b2dd86da7d7afdb2b6a36944396c7c607df Mon Sep 17 00:00:00 2001 From: Dominik Moritz Date: Fri, 16 Nov 2012 23:41:27 +0100 Subject: [PATCH] json preview tests --- ckanext/jsonpreview/tests/test_preview.py | 41 +++++++++++++++++++++-- ckanext/resourceproxy/tests/test_proxy.py | 6 ++-- 2 files changed, 42 insertions(+), 5 deletions(-) diff --git a/ckanext/jsonpreview/tests/test_preview.py b/ckanext/jsonpreview/tests/test_preview.py index 52db1691576..4ef842de425 100644 --- a/ckanext/jsonpreview/tests/test_preview.py +++ b/ckanext/jsonpreview/tests/test_preview.py @@ -1,16 +1,42 @@ -from ckan import plugins +import pylons + +import paste.fixture +from paste.deploy import appconfig + +import ckan.logic as l +import ckan.model as model import ckan.tests as tests +import ckan.plugins as plugins import ckanext.jsonpreview.plugin as previewplugin +from ckan.lib.create_test_data import CreateTestData +from ckan.config.middleware import make_app class TestJsonPreview(tests.WsgiAppCase): @classmethod def setup_class(cls): - plugins.load('json_preview') + config = appconfig('config:test.ini', relative_to=tests.conf_dir) + config.local_conf['ckan.plugins'] = 'json_preview' + wsgiapp = make_app(config.global_conf, **config.local_conf) + cls.app = paste.fixture.TestApp(wsgiapp) cls.p = previewplugin.JsonPreview() + # create test resource + CreateTestData.create() + + context = { + 'model': model, + 'session': model.Session, + 'user': model.User.get('testsysadmin').name + } + + cls.package = model.Package.get('annakarenina') + cls.resource = l.get_action('resource_show')(context, {'id': cls.package.resources[1].id}) + cls.resource['url'] = pylons.config.get('ckan.site_url', '//localhost:5000') + l.action.update.resource_update(context, cls.resource) + @classmethod def teardown_class(cls): plugins.reset() @@ -45,3 +71,14 @@ def test_can_preview(self): } } assert not self.p.can_preview(data_dict) + + def test_js_included(self): + res_id = self.resource['id'] + pack_id = self.package.name + url = '/dataset/{0}/resource/{1}/preview'.format(pack_id, res_id) + result = self.app.get(url, status='*') + + assert result.status == 200, result.status + assert 'preview_json.js' in result.body, result.body + assert 'preload_resource' in result.body, result.body + assert 'data-module="jsonpreview"' in result.body, result.body diff --git a/ckanext/resourceproxy/tests/test_proxy.py b/ckanext/resourceproxy/tests/test_proxy.py index 8887808faf7..f3f0c5100e9 100644 --- a/ckanext/resourceproxy/tests/test_proxy.py +++ b/ckanext/resourceproxy/tests/test_proxy.py @@ -2,16 +2,16 @@ import subprocess import requests import time -import urllib2 import unittest +import paste.fixture +from paste.deploy import appconfig + import ckan.logic as l import ckan.model as model import ckan.tests as tests import ckan.plugins as plugins from ckan.lib.create_test_data import CreateTestData -from paste.deploy import appconfig -import paste.fixture from ckan.config.middleware import make_app import ckanext.resourceproxy.plugin as proxy