-
Notifications
You must be signed in to change notification settings - Fork 617
/
Copy pathcascade_dependencies_test.py
35 lines (26 loc) · 1.06 KB
/
cascade_dependencies_test.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import os
import pathlib
from unittest import mock
import pytest
extra_plugin_dir = os.path.join(
os.path.dirname(os.path.realpath(__file__)), "cascade_dependent_plugins"
)
orig_path_glob = pathlib.Path.glob
def reordered_plugin_files(self, pattern):
if self.name == "cascade_dependent_plugins":
yield pathlib.Path(extra_plugin_dir + "/parent2.plug")
yield pathlib.Path(extra_plugin_dir + "/child1.plug")
yield pathlib.Path(extra_plugin_dir + "/child2.plug")
yield pathlib.Path(extra_plugin_dir + "/parent1.plug")
return
yield from orig_path_glob(self, pattern)
@pytest.fixture
def mock_before_bot_load():
patcher = mock.patch.object(pathlib.Path, "glob", reordered_plugin_files)
patcher.start()
yield
patcher.stop()
def test_dependency_commands(mock_before_bot_load, testbot):
assert "Hello from Child1" in testbot.exec_command("!parent1 to child1")
assert "Hello from Child2" in testbot.exec_command("!parent1 to child2")
assert "Hello from Parent1" in testbot.exec_command("!parent2 to parent1")