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