diff --git a/ckan/tests/functional/api/test_util.py b/ckan/tests/functional/api/test_util.py index cb1ec33b95f..8bb3e158308 100644 --- a/ckan/tests/functional/api/test_util.py +++ b/ckan/tests/functional/api/test_util.py @@ -124,5 +124,5 @@ def test_status(self): assert_equal(res['locale_default'], 'en') assert_equal(type(res['extensions']), list) - expected_extensions = set(('stats',)) + expected_extensions = set(('stats', 'test_tag_vocab_plugin')) assert_equal(set(res['extensions']), expected_extensions) diff --git a/ckan/tests/functional/test_tag_vocab.py b/ckan/tests/functional/test_tag_vocab.py index 8a6df883a5b..2fa82c9a3e5 100644 --- a/ckan/tests/functional/test_tag_vocab.py +++ b/ckan/tests/functional/test_tag_vocab.py @@ -1,17 +1,11 @@ import json -from pylons import request, tmpl_context as c -from genshi.input import HTML -from genshi.filters import Transformer import paste.fixture from ckan import model -from ckan.logic import get_action -from ckan.logic.converters import convert_to_tags, convert_from_tags, free_tags_only -from ckan.logic.schema import package_form_schema, default_package_schema -from ckan.lib.navl.validators import ignore_missing, keep_extras from ckan.lib.create_test_data import CreateTestData import ckan.lib.helpers as h -from ckan import plugins from ckan.tests import WsgiAppCase +# ensure that test_tag_vocab_plugin is added as a plugin in the testing .ini file +from ckanext.test_tag_vocab_plugin import MockVocabTagsPlugin TEST_VOCAB_NAME = 'test-vocab' @@ -78,6 +72,7 @@ def value__get(self): class TestWUI(WsgiAppCase): @classmethod def setup_class(cls): + MockVocabTagsPlugin().set_active(True) CreateTestData.create(package_type='mock_vocab_tags_plugin') cls.sysadmin_user = model.User.get('testsysadmin') cls.dset = model.Package.get('warandpeace') @@ -109,6 +104,7 @@ def setup_class(cls): @classmethod def teardown_class(cls): + MockVocabTagsPlugin().set_active(False) paste.fixture.Field.classes['select'] = cls.old_select model.repo.rebuild_db() diff --git a/ckanext/test_tag_vocab_plugin.py b/ckanext/test_tag_vocab_plugin.py index ff9044b82b2..10c79470fbb 100644 --- a/ckanext/test_tag_vocab_plugin.py +++ b/ckanext/test_tag_vocab_plugin.py @@ -1,3 +1,7 @@ +''' THIS PLUGIN IS FOR TESTING PURPOSES ONLY. +Currently this is used in tests/functional/test_tag_vocab.py''' + + from pylons import request, tmpl_context as c from genshi.input import HTML from genshi.filters import Transformer @@ -13,7 +17,7 @@ class MockVocabTagsPlugin(plugins.SingletonPlugin): plugins.implements(plugins.IDatasetForm, inherit=True) plugins.implements(plugins.IGenshiStreamFilter) - active = True + active = False def is_fallback(self): return False @@ -44,6 +48,9 @@ def db_to_form_schema(self): }) return schema + def set_active(self, state): + self.active = state + def filter(self, stream): if self.active: routes = request.environ.get('pylons.routes_dict') diff --git a/setup.py b/setup.py index fc5f5845192..00ca8089d84 100644 --- a/setup.py +++ b/setup.py @@ -92,7 +92,7 @@ stats=ckanext.stats.plugin:StatsPlugin publisher_form=ckanext.publisher_form.forms:PublisherForm publisher_dataset_form=ckanext.publisher_form.forms:PublisherDatasetForm - test_tag_vocab=ckanext.test_tag_vocab_plugin:MockVocabTagsPlugin + test_tag_vocab_plugin=ckanext.test_tag_vocab_plugin:MockVocabTagsPlugin [ckan.system_plugins] domain_object_mods = ckan.model.modification:DomainObjectModificationExtension diff --git a/test-core.ini b/test-core.ini index 5a6d2896989..e877c45d5f9 100644 --- a/test-core.ini +++ b/test-core.ini @@ -45,7 +45,7 @@ search_backend = sql # Change API key HTTP header to something non-standard. apikey_header_name = X-Non-Standard-CKAN-API-Key -ckan.plugins = stats test_tag_vocab +ckan.plugins = stats test_tag_vocab_plugin # use so we can check that html is *not* escaped ckan.template_head_end =