-
Notifications
You must be signed in to change notification settings - Fork 232
/
Copy pathtest_plugin.py
97 lines (71 loc) · 3.6 KB
/
test_plugin.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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
"""Tests for tmuxp plugin API."""
from __future__ import annotations
import pytest
from tmuxp.exc import TmuxpPluginException
from .fixtures.pluginsystem.partials.all_pass import AllVersionPassPlugin
from .fixtures.pluginsystem.partials.libtmux_version_fail import (
LibtmuxVersionFailIncompatiblePlugin,
LibtmuxVersionFailMaxPlugin,
LibtmuxVersionFailMinPlugin,
)
from .fixtures.pluginsystem.partials.tmux_version_fail import (
TmuxVersionFailIncompatiblePlugin,
TmuxVersionFailMaxPlugin,
TmuxVersionFailMinPlugin,
)
from .fixtures.pluginsystem.partials.tmuxp_version_fail import (
TmuxpVersionFailIncompatiblePlugin,
TmuxpVersionFailMaxPlugin,
TmuxpVersionFailMinPlugin,
)
@pytest.fixture(autouse=True)
def autopatch_sitedir(monkeypatch_plugin_test_packages: None) -> None:
"""Fixture automatically used that patches sitedir."""
def test_all_pass() -> None:
"""Plugin for tmuxp that loads successfully."""
AllVersionPassPlugin()
def test_tmux_version_fail_min() -> None:
"""Plugin raises if tmux version is below minimum constraint."""
with pytest.raises(TmuxpPluginException, match=r"Incompatible.*") as exc_info:
TmuxVersionFailMinPlugin()
assert "tmux-min-version-fail" in str(exc_info.value)
def test_tmux_version_fail_max() -> None:
"""Plugin raises if tmux version is above maximum constraint."""
with pytest.raises(TmuxpPluginException, match=r"Incompatible.*") as exc_info:
TmuxVersionFailMaxPlugin()
assert "tmux-max-version-fail" in str(exc_info.value)
def test_tmux_version_fail_incompatible() -> None:
"""Plugin raises if tmuxp version is incompatible."""
with pytest.raises(TmuxpPluginException, match=r"Incompatible.*") as exc_info:
TmuxVersionFailIncompatiblePlugin()
assert "tmux-incompatible-version-fail" in str(exc_info.value)
def test_tmuxp_version_fail_min() -> None:
"""Plugin raises if tmuxp version is below minimum constraint."""
with pytest.raises(TmuxpPluginException, match=r"Incompatible.*") as exc_info:
TmuxpVersionFailMinPlugin()
assert "tmuxp-min-version-fail" in str(exc_info.value)
def test_tmuxp_version_fail_max() -> None:
"""Plugin raises if tmuxp version is above max constraint."""
with pytest.raises(TmuxpPluginException, match=r"Incompatible.*") as exc_info:
TmuxpVersionFailMaxPlugin()
assert "tmuxp-max-version-fail" in str(exc_info.value)
def test_tmuxp_version_fail_incompatible() -> None:
"""Plugin raises if libtmux version is below minimum constraint."""
with pytest.raises(TmuxpPluginException, match=r"Incompatible.*") as exc_info:
TmuxpVersionFailIncompatiblePlugin()
assert "tmuxp-incompatible-version-fail" in str(exc_info.value)
def test_libtmux_version_fail_min() -> None:
"""Plugin raises if libtmux version is below minimum constraint."""
with pytest.raises(TmuxpPluginException, match=r"Incompatible.*") as exc_info:
LibtmuxVersionFailMinPlugin()
assert "libtmux-min-version-fail" in str(exc_info.value)
def test_libtmux_version_fail_max() -> None:
"""Plugin raises if libtmux version is above max constraint."""
with pytest.raises(TmuxpPluginException, match=r"Incompatible.*") as exc_info:
LibtmuxVersionFailMaxPlugin()
assert "libtmux-max-version-fail" in str(exc_info.value)
def test_libtmux_version_fail_incompatible() -> None:
"""Plugin raises if libtmux version is incompatible."""
with pytest.raises(TmuxpPluginException, match=r"Incompatible.*") as exc_info:
LibtmuxVersionFailIncompatiblePlugin()
assert "libtmux-incompatible-version-fail" in str(exc_info.value)