12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- # coding=utf-8
- """
- (c) 2015-2018 - Copyright Red Hat Inc
- Authors:
- Slavek Kabrda <bkabrda@redhat.com>
- """
- from __future__ import unicode_literals
- __requires__ = ['SQLAlchemy >= 0.8']
- import pkg_resources
- import os
- import sys
- from mock import patch
- sys.path.insert(0, os.path.join(os.path.dirname(
- os.path.abspath(__file__)), '..'))
- import pagure.hooks
- import pagure.lib.plugins
- import tests
- class EnabledForAll(pagure.hooks.BaseHook):
- name = "EnabledForAll"
- @classmethod
- def is_enabled_for(cls, project):
- return True
- class DisabledForAll(pagure.hooks.BaseHook):
- name = "DisabledForAll"
- # disabled for all is the default
- class PagureLibtests_plugins(tests.Modeltests):
- """
- Test the pagure.lib.plugins module
- """
- maxDiff = None
- @patch("pagure.lib.plugins.load")
- def test_plugin_is_enabled_for(self, load):
- """ Test the is_enabled_for method of plugins is properly
- handled by pagure.lib.plugins.get_enabled_plugins.
- """
- tests.create_projects(self.session)
- project = pagure.lib.query._get_project(self.session, "test")
- load.return_value = [EnabledForAll]
- self.assertEqual(
- pagure.lib.plugins.get_enabled_plugins(project),
- [(EnabledForAll, None)]
- )
- load.return_value = [DisabledForAll]
- self.assertEqual(
- pagure.lib.plugins.get_enabled_plugins(project),
- []
- )
- @patch("pagure.lib.plugins.load")
- def test_get_plugin_names(self, load):
- """ Test the get_plugin_names method with plugins that don't
- have backref.
- """
- load.return_value = [EnabledForAll]
- self.assertEqual(pagure.lib.plugins.get_plugin_names(), [])
- self.assertEqual(
- pagure.lib.plugins.get_plugin_names(without_backref=True),
- ['EnabledForAll']
- )
|