committed by
GitHub
4 changed files with 105 additions and 7 deletions
@ -0,0 +1,47 @@ |
|||
import pytest |
|||
from disco.bot.plugin import Plugin, register_plugin_base_class, find_loadable_plugins |
|||
|
|||
|
|||
def _test_module(**kwargs): |
|||
class MyTestModule(object): |
|||
pass |
|||
|
|||
m = MyTestModule() |
|||
|
|||
for k, v in kwargs.items(): |
|||
setattr(m, k, v) |
|||
|
|||
return m |
|||
|
|||
|
|||
def test_shallow_attribute_deprecated(): |
|||
class MyPluginBaseClass(Plugin): |
|||
_shallow = True |
|||
|
|||
class RegularPlugin(Plugin): |
|||
pass |
|||
|
|||
with pytest.warns(DeprecationWarning): |
|||
plugins = list(find_loadable_plugins(_test_module( |
|||
MyPluginBaseClass=MyPluginBaseClass, |
|||
RegularPlugin=RegularPlugin, |
|||
))) |
|||
|
|||
assert plugins == [RegularPlugin] |
|||
|
|||
|
|||
def test_register_plugin_base_class(): |
|||
class MyPluginBaseClass(Plugin): |
|||
pass |
|||
|
|||
class RegularPlugin(MyPluginBaseClass): |
|||
pass |
|||
|
|||
register_plugin_base_class(MyPluginBaseClass) |
|||
|
|||
plugins = list(find_loadable_plugins(_test_module( |
|||
MyPluginBaseClass=MyPluginBaseClass, |
|||
RegularPlugin=RegularPlugin, |
|||
))) |
|||
|
|||
assert plugins == [RegularPlugin] |
Loading…
Reference in new issue