|
17 | 17 | from libtmux.server import Server
|
18 | 18 |
|
19 | 19 |
|
| 20 | +class FreezeTestFixture(t.NamedTuple): |
| 21 | + """Test fixture for tmuxp freeze command tests.""" |
| 22 | + |
| 23 | + test_id: str |
| 24 | + cli_args: list[str] |
| 25 | + inputs: list[str] |
| 26 | + |
| 27 | + |
| 28 | +class FreezeOverwriteTestFixture(t.NamedTuple): |
| 29 | + """Test fixture for tmuxp freeze overwrite command tests.""" |
| 30 | + |
| 31 | + test_id: str |
| 32 | + cli_args: list[str] |
| 33 | + inputs: list[str] |
| 34 | + |
| 35 | + |
| 36 | +FREEZE_TEST_FIXTURES: list[FreezeTestFixture] = [ |
| 37 | + FreezeTestFixture( |
| 38 | + test_id="freeze_named_session", |
| 39 | + cli_args=["freeze", "myfrozensession"], |
| 40 | + inputs=["y\n", "./la.yaml\n", "y\n"], |
| 41 | + ), |
| 42 | + FreezeTestFixture( |
| 43 | + test_id="freeze_named_session_exists", |
| 44 | + cli_args=["freeze", "myfrozensession"], |
| 45 | + inputs=["y\n", "./exists.yaml\n", "./la.yaml\n", "y\n"], |
| 46 | + ), |
| 47 | + FreezeTestFixture( |
| 48 | + test_id="freeze_current_session", |
| 49 | + cli_args=["freeze"], |
| 50 | + inputs=["y\n", "./la.yaml\n", "y\n"], |
| 51 | + ), |
| 52 | + FreezeTestFixture( |
| 53 | + test_id="freeze_current_session_exists", |
| 54 | + cli_args=["freeze"], |
| 55 | + inputs=["y\n", "./exists.yaml\n", "./la.yaml\n", "y\n"], |
| 56 | + ), |
| 57 | +] |
| 58 | + |
| 59 | + |
| 60 | +FREEZE_OVERWRITE_TEST_FIXTURES: list[FreezeOverwriteTestFixture] = [ |
| 61 | + FreezeOverwriteTestFixture( |
| 62 | + test_id="force_overwrite_named_session", |
| 63 | + cli_args=["freeze", "mysession", "--force"], |
| 64 | + inputs=["\n", "\n", "y\n", "./exists.yaml\n", "y\n"], |
| 65 | + ), |
| 66 | + FreezeOverwriteTestFixture( |
| 67 | + test_id="force_overwrite_current_session", |
| 68 | + cli_args=["freeze", "--force"], |
| 69 | + inputs=["\n", "\n", "y\n", "./exists.yaml\n", "y\n"], |
| 70 | + ), |
| 71 | +] |
| 72 | + |
| 73 | + |
20 | 74 | @pytest.mark.parametrize(
|
21 |
| - ("cli_args", "inputs"), |
22 |
| - [ |
23 |
| - (["freeze", "myfrozensession"], ["y\n", "./la.yaml\n", "y\n"]), |
24 |
| - ( # Exists |
25 |
| - ["freeze", "myfrozensession"], |
26 |
| - ["y\n", "./exists.yaml\n", "./la.yaml\n", "y\n"], |
27 |
| - ), |
28 |
| - ( # Imply current session if not entered |
29 |
| - ["freeze"], |
30 |
| - ["y\n", "./la.yaml\n", "y\n"], |
31 |
| - ), |
32 |
| - (["freeze"], ["y\n", "./exists.yaml\n", "./la.yaml\n", "y\n"]), # Exists |
33 |
| - ], |
| 75 | + list(FreezeTestFixture._fields), |
| 76 | + FREEZE_TEST_FIXTURES, |
| 77 | + ids=[test.test_id for test in FREEZE_TEST_FIXTURES], |
34 | 78 | )
|
35 | 79 | def test_freeze(
|
36 | 80 | server: Server,
|
| 81 | + test_id: str, |
37 | 82 | cli_args: list[str],
|
38 | 83 | inputs: list[str],
|
39 | 84 | tmp_path: pathlib.Path,
|
@@ -72,20 +117,13 @@ def test_freeze(
|
72 | 117 |
|
73 | 118 |
|
74 | 119 | @pytest.mark.parametrize(
|
75 |
| - ("cli_args", "inputs"), |
76 |
| - [ |
77 |
| - ( # Overwrite |
78 |
| - ["freeze", "mysession", "--force"], |
79 |
| - ["\n", "\n", "y\n", "./exists.yaml\n", "y\n"], |
80 |
| - ), |
81 |
| - ( # Imply current session if not entered |
82 |
| - ["freeze", "--force"], |
83 |
| - ["\n", "\n", "y\n", "./exists.yaml\n", "y\n"], |
84 |
| - ), |
85 |
| - ], |
| 120 | + list(FreezeOverwriteTestFixture._fields), |
| 121 | + FREEZE_OVERWRITE_TEST_FIXTURES, |
| 122 | + ids=[test.test_id for test in FREEZE_OVERWRITE_TEST_FIXTURES], |
86 | 123 | )
|
87 | 124 | def test_freeze_overwrite(
|
88 | 125 | server: Server,
|
| 126 | + test_id: str, |
89 | 127 | cli_args: list[str],
|
90 | 128 | inputs: list[str],
|
91 | 129 | tmp_path: pathlib.Path,
|
|
0 commit comments