def test_auth_plugin_override(self): package_list_original = new_authz.is_authorized('package_list', {}) with plugins.use_plugin('auth_plugin'): assert new_authz.is_authorized('package_list', {}) != package_list_original assert new_authz.is_authorized('package_list', {}) == package_list_original
def test_notified_on_unload(observer): with plugins.use_plugin("action_plugin") as action: observer.reset_calls() assert observer.before_load.calls == [] assert observer.after_load.calls == [] assert observer.before_unload.calls == _make_calls(action) assert observer.after_unload.calls == _make_calls(action)
def test_action_plugin_override(): status_show_original = logic.get_action("status_show")(None, {}) with plugins.use_plugin("action_plugin"): assert ( logic.get_action("status_show")(None, {}) != status_show_original ) assert logic.get_action("status_show")(None, {}) == status_show_original
def test_mapper_plugin_fired(self): with plugins.use_plugin('mapper_plugin') as mapper_plugin: CreateTestData.create_arbitrary([{'name':u'testpkg'}]) # remove this data CreateTestData.delete() assert len(mapper_plugin.added) == 2 # resource group table added automatically assert mapper_plugin.added[0].name == 'testpkg'
def test_mapper_plugin_fired_on_insert(self): with plugins.use_plugin('mapper_plugin') as mapper_plugin: CreateTestData.create_arbitrary([{'name': u'testpkg'}]) assert mapper_plugin.calls == [ ('before_insert', 'testpkg'), ('after_insert', 'testpkg'), ]
def test_action_plugin_override(self): status_show_original = logic.get_action('status_show')(None, {}) with plugins.use_plugin('action_plugin'): assert logic.get_action('status_show')(None, {}) != status_show_original assert logic.get_action('status_show')(None, {}) == status_show_original
def test_notified_on_unload(self): with plugins.use_plugin('action_plugin') as action: observer = self.observer observer.reset_calls() assert observer.before_load.calls == [] assert observer.after_load.calls == [] assert observer.before_unload.calls == _make_calls(action) assert observer.after_unload.calls == _make_calls(action)
def test_notified_on_load(self): observer = self.observer observer.reset_calls() with plugins.use_plugin('action_plugin'): assert_equal(get_calls(observer.before_load), ['action_plugin']) assert_equal(get_calls(observer.after_load), ['action_plugin']) assert_equal(get_calls(observer.before_unload), []) assert_equal(get_calls(observer.after_unload), [])
def test_signals_setup_teardown(): """Plugin connects listeners when loaded and disconnects, when unloaded. """ assert list(isignal_number.receivers_for(10)) == [] with p.use_plugin(u'example_isignal'): assert len(list(isignal_number.receivers_for(10))) == 2 assert list(isignal_number.receivers_for(10)) == []
def test_search_plugin_hooks(self): with p.use_plugin('test_package_controller_plugin') as plugin: offset = url_for(controller='package', action='search') app = self._get_test_app() app.get(offset) # get redirected ... assert plugin.calls['before_search'] == 1, plugin.calls assert plugin.calls['after_search'] == 1, plugin.calls
def test_routes_plugin_fired(self): with plugins.use_plugin('routes_plugin'): pca = PluginGlobals.env['pca'] routes_plugin_idx = pca.singleton_services[ pca.plugin_registry['RoutesPlugin']] routes_plugin = PluginGlobals.plugin_instances[routes_plugin_idx] assert routes_plugin.calls_made == ['before_map', 'after_map'], \ routes_plugin.calls_made
def test_search_plugin_hooks(self): with p.use_plugin("test_package_controller_plugin") as plugin: offset = url_for(controller="package", action="search") app = self._get_test_app() app.get(offset) # get redirected ... assert plugin.calls["before_search"] == 1, plugin.calls assert plugin.calls["after_search"] == 1, plugin.calls
def test_mapper_plugin_fired_on_delete(self): with plugins.use_plugin('mapper_plugin') as mapper_plugin: CreateTestData.create_arbitrary([{'name': u'testpkg'}]) mapper_plugin.calls = [] # remove this data user = factories.User() context = {'user': user['name']} logic.get_action('package_delete')(context, {'id': 'testpkg'}) # state=deleted doesn't trigger before_delete() assert_equal(mapper_plugin.calls, []) from ckan import model # purging the package does trigger before_delete() model.Package.get('testpkg').purge() model.Session.commit() model.Session.remove() assert_equal(mapper_plugin.calls, [('before_delete', 'testpkg'), ('after_delete', 'testpkg')])
def test_disabled_by_default(): with p.use_plugin("datastore"): with pytest.raises(KeyError, match=u"Action 'datastore_search_sql' not found"): p.toolkit.get_action("datastore_search_sql")
def test_routes_plugin_fired(self): with plugins.use_plugin('routes_plugin'): routes_plugin = PluginGlobals.env_registry['pca'].plugin_registry['RoutesPlugin'].__instance__ assert routes_plugin.calls_made == ['before_map', 'after_map'], \ routes_plugin.calls_made
def test_enabled_sql_search(): with p.use_plugin("datastore"): p.toolkit.get_action("datastore_search_sql")
def test_only_configured_plugins_loaded(self): with plugins.use_plugin('mapper_plugin') as p: # MapperPlugin should be loaded as it is listed in assert p in plugins.PluginImplementations(plugins.IMapper) # MapperPlugin2 and RoutesPlugin should NOT be loaded assert len(plugins.PluginImplementations(plugins.IMapper)) == 1
def test_enabled_sql_search(self): config['ckan.datastore.sqlsearch.enabled'] = True with p.use_plugin('datastore') as the_plugin: p.toolkit.get_action('datastore_search_sql')
def setup_class(cls): with p.use_plugin('datastore') as the_plugin: legacy = the_plugin.legacy_mode if legacy: raise nose.SkipTest("SQL tests are not supported in legacy mode")
def test_auth_plugin_override(): package_list_original = authz.is_authorized("package_list", {}) with plugins.use_plugin("auth_plugin"): assert authz.is_authorized("package_list", {}) != package_list_original assert authz.is_authorized("package_list", {}) == package_list_original
def test_notified_on_load(observer): with plugins.use_plugin("action_plugin"): assert get_calls(observer.before_load) == ["action_plugin"] assert get_calls(observer.after_load) == ["action_plugin"] assert get_calls(observer.before_unload) == [] assert get_calls(observer.after_unload) == []