Marco Ricci commited on 2024-09-11 21:00:34
Zeige 2 geänderte Dateien mit 42 Einfügungen und 61 Löschungen.
Rename the `isolated_config` to `isolated_vault_config`, which sets the `derivepassphrase vault` configuration files, and avoid config file manipulation in "vanilla" `isolated_config`. Update tests to use `isolated_config` where feasible.
| ... | ... |
@@ -545,7 +545,6 @@ def phrase_from_key(key: bytes) -> bytes: |
| 545 | 545 |
def isolated_config( |
| 546 | 546 |
monkeypatch: pytest.MonkeyPatch, |
| 547 | 547 |
runner: click.testing.CliRunner, |
| 548 |
- config: Any, |
|
| 549 | 548 |
) -> Iterator[None]: |
| 550 | 549 |
prog_name = cli.PROG_NAME |
| 551 | 550 |
env_name = prog_name.replace(' ', '_').upper() + '_PATH'
|
| ... | ... |
@@ -554,6 +553,16 @@ def isolated_config( |
| 554 | 553 |
monkeypatch.setenv('USERPROFILE', os.getcwd())
|
| 555 | 554 |
monkeypatch.delenv(env_name, raising=False) |
| 556 | 555 |
os.makedirs(os.path.dirname(cli._config_filename()), exist_ok=True) |
| 556 |
+ yield |
|
| 557 |
+ |
|
| 558 |
+ |
|
| 559 |
+@contextlib.contextmanager |
|
| 560 |
+def isolated_vault_config( |
|
| 561 |
+ monkeypatch: pytest.MonkeyPatch, |
|
| 562 |
+ runner: click.testing.CliRunner, |
|
| 563 |
+ config: Any, |
|
| 564 |
+) -> Iterator[None]: |
|
| 565 |
+ with isolated_config(monkeypatch=monkeypatch, runner=runner): |
|
| 557 | 566 |
with open(cli._config_filename(), 'w', encoding='UTF-8') as outfile: |
| 558 | 567 |
json.dump(config, outfile) |
| 559 | 568 |
yield |
| ... | ... |
@@ -205,7 +205,6 @@ class TestCLI: |
| 205 | 205 |
with tests.isolated_config( |
| 206 | 206 |
monkeypatch=monkeypatch, |
| 207 | 207 |
runner=runner, |
| 208 |
- config={'services': {}},
|
|
| 209 | 208 |
): |
| 210 | 209 |
_result = runner.invoke( |
| 211 | 210 |
cli.derivepassphrase_vault, ['--help'], catch_exceptions=False |
| ... | ... |
@@ -231,7 +230,6 @@ class TestCLI: |
| 231 | 230 |
with tests.isolated_config( |
| 232 | 231 |
monkeypatch=monkeypatch, |
| 233 | 232 |
runner=runner, |
| 234 |
- config={'services': {}},
|
|
| 235 | 233 |
): |
| 236 | 234 |
_result = runner.invoke( |
| 237 | 235 |
cli.derivepassphrase_vault, |
| ... | ... |
@@ -254,7 +252,6 @@ class TestCLI: |
| 254 | 252 |
with tests.isolated_config( |
| 255 | 253 |
monkeypatch=monkeypatch, |
| 256 | 254 |
runner=runner, |
| 257 |
- config={'services': {}},
|
|
| 258 | 255 |
): |
| 259 | 256 |
_result = runner.invoke( |
| 260 | 257 |
cli.derivepassphrase_vault, |
| ... | ... |
@@ -303,7 +300,7 @@ class TestCLI: |
| 303 | 300 |
config: _types.VaultConfig, |
| 304 | 301 |
) -> None: |
| 305 | 302 |
runner = click.testing.CliRunner(mix_stderr=False) |
| 306 |
- with tests.isolated_config( |
|
| 303 |
+ with tests.isolated_vault_config( |
|
| 307 | 304 |
monkeypatch=monkeypatch, runner=runner, config=config |
| 308 | 305 |
): |
| 309 | 306 |
monkeypatch.setattr( |
| ... | ... |
@@ -330,7 +327,7 @@ class TestCLI: |
| 330 | 327 |
self, monkeypatch: pytest.MonkeyPatch |
| 331 | 328 |
) -> None: |
| 332 | 329 |
runner = click.testing.CliRunner(mix_stderr=False) |
| 333 |
- with tests.isolated_config( |
|
| 330 |
+ with tests.isolated_vault_config( |
|
| 334 | 331 |
monkeypatch=monkeypatch, |
| 335 | 332 |
runner=runner, |
| 336 | 333 |
config={'services': {DUMMY_SERVICE: DUMMY_CONFIG_SETTINGS}},
|
| ... | ... |
@@ -404,7 +401,7 @@ class TestCLI: |
| 404 | 401 |
) |
| 405 | 402 |
monkeypatch.setattr(ssh_agent.SSHAgentClient, 'sign', sign) |
| 406 | 403 |
runner = click.testing.CliRunner(mix_stderr=False) |
| 407 |
- with tests.isolated_config( |
|
| 404 |
+ with tests.isolated_vault_config( |
|
| 408 | 405 |
monkeypatch=monkeypatch, runner=runner, config=config |
| 409 | 406 |
): |
| 410 | 407 |
_result = runner.invoke( |
| ... | ... |
@@ -425,7 +422,7 @@ class TestCLI: |
| 425 | 422 |
monkeypatch: pytest.MonkeyPatch, |
| 426 | 423 |
) -> None: |
| 427 | 424 |
runner = click.testing.CliRunner(mix_stderr=False) |
| 428 |
- with tests.isolated_config( |
|
| 425 |
+ with tests.isolated_vault_config( |
|
| 429 | 426 |
monkeypatch=monkeypatch, |
| 430 | 427 |
runner=runner, |
| 431 | 428 |
config={
|
| ... | ... |
@@ -474,7 +471,6 @@ class TestCLI: |
| 474 | 471 |
with tests.isolated_config( |
| 475 | 472 |
monkeypatch=monkeypatch, |
| 476 | 473 |
runner=runner, |
| 477 |
- config={'services': {}},
|
|
| 478 | 474 |
): |
| 479 | 475 |
for value in '-42', 'invalid': |
| 480 | 476 |
_result = runner.invoke( |
| ... | ... |
@@ -506,7 +502,7 @@ class TestCLI: |
| 506 | 502 |
) -> None: |
| 507 | 503 |
monkeypatch.setattr(cli, '_prompt_for_passphrase', tests.auto_prompt) |
| 508 | 504 |
runner = click.testing.CliRunner(mix_stderr=False) |
| 509 |
- with tests.isolated_config( |
|
| 505 |
+ with tests.isolated_vault_config( |
|
| 510 | 506 |
monkeypatch=monkeypatch, |
| 511 | 507 |
runner=runner, |
| 512 | 508 |
config={'global': {'phrase': 'abc'}, 'services': {}},
|
| ... | ... |
@@ -532,7 +528,7 @@ class TestCLI: |
| 532 | 528 |
empty_stderr=True |
| 533 | 529 |
), 'expected clean exit' |
| 534 | 530 |
if check_success: |
| 535 |
- with tests.isolated_config( |
|
| 531 |
+ with tests.isolated_vault_config( |
|
| 536 | 532 |
monkeypatch=monkeypatch, |
| 537 | 533 |
runner=runner, |
| 538 | 534 |
config={'global': {'phrase': 'abc'}, 'services': {}},
|
| ... | ... |
@@ -567,7 +563,6 @@ class TestCLI: |
| 567 | 563 |
with tests.isolated_config( |
| 568 | 564 |
monkeypatch=monkeypatch, |
| 569 | 565 |
runner=runner, |
| 570 |
- config={'services': {}},
|
|
| 571 | 566 |
): |
| 572 | 567 |
_result = runner.invoke( |
| 573 | 568 |
cli.derivepassphrase_vault, |
| ... | ... |
@@ -585,9 +580,7 @@ class TestCLI: |
| 585 | 580 |
monkeypatch: pytest.MonkeyPatch, |
| 586 | 581 |
) -> None: |
| 587 | 582 |
runner = click.testing.CliRunner(mix_stderr=False) |
| 588 |
- with tests.isolated_config( |
|
| 589 |
- monkeypatch=monkeypatch, runner=runner, config={'services': {}}
|
|
| 590 |
- ): |
|
| 583 |
+ with tests.isolated_config(monkeypatch=monkeypatch, runner=runner): |
|
| 591 | 584 |
_result = runner.invoke( |
| 592 | 585 |
cli.derivepassphrase_vault, |
| 593 | 586 |
['--import', '-'], |
| ... | ... |
@@ -604,9 +597,7 @@ class TestCLI: |
| 604 | 597 |
monkeypatch: pytest.MonkeyPatch, |
| 605 | 598 |
) -> None: |
| 606 | 599 |
runner = click.testing.CliRunner(mix_stderr=False) |
| 607 |
- with tests.isolated_config( |
|
| 608 |
- monkeypatch=monkeypatch, runner=runner, config={'services': {}}
|
|
| 609 |
- ): |
|
| 600 |
+ with tests.isolated_config(monkeypatch=monkeypatch, runner=runner): |
|
| 610 | 601 |
_result = runner.invoke( |
| 611 | 602 |
cli.derivepassphrase_vault, |
| 612 | 603 |
['--import', '-'], |
| ... | ... |
@@ -623,12 +614,11 @@ class TestCLI: |
| 623 | 614 |
monkeypatch: pytest.MonkeyPatch, |
| 624 | 615 |
) -> None: |
| 625 | 616 |
runner = click.testing.CliRunner(mix_stderr=False) |
| 626 |
- # `isolated_config` validates the configuration. So, to pass an |
|
| 627 |
- # actual broken configuration, we must open the configuration file |
|
| 628 |
- # ourselves afterwards, inside the context. |
|
| 629 |
- with tests.isolated_config( |
|
| 630 |
- monkeypatch=monkeypatch, runner=runner, config={'services': {}}
|
|
| 631 |
- ): |
|
| 617 |
+ # `isolated_vault_config` validates the configuration. So, to |
|
| 618 |
+ # pass an actual broken configuration, we must open the |
|
| 619 |
+ # configuration file ourselves afterwards, inside the context. |
|
| 620 |
+ # We also might as well use `isolated_config` instead. |
|
| 621 |
+ with tests.isolated_config(monkeypatch=monkeypatch, runner=runner): |
|
| 632 | 622 |
with open( |
| 633 | 623 |
cli._config_filename(), 'w', encoding='UTF-8' |
| 634 | 624 |
) as outfile: |
| ... | ... |
@@ -649,9 +639,7 @@ class TestCLI: |
| 649 | 639 |
monkeypatch: pytest.MonkeyPatch, |
| 650 | 640 |
) -> None: |
| 651 | 641 |
runner = click.testing.CliRunner(mix_stderr=False) |
| 652 |
- with tests.isolated_config( |
|
| 653 |
- monkeypatch=monkeypatch, runner=runner, config={'services': {}}
|
|
| 654 |
- ): |
|
| 642 |
+ with tests.isolated_config(monkeypatch=monkeypatch, runner=runner): |
|
| 655 | 643 |
with contextlib.suppress(FileNotFoundError): |
| 656 | 644 |
os.remove(cli._config_filename()) |
| 657 | 645 |
_result = runner.invoke( |
| ... | ... |
@@ -667,7 +655,7 @@ class TestCLI: |
| 667 | 655 |
monkeypatch: pytest.MonkeyPatch, |
| 668 | 656 |
) -> None: |
| 669 | 657 |
runner = click.testing.CliRunner(mix_stderr=False) |
| 670 |
- with tests.isolated_config( |
|
| 658 |
+ with tests.isolated_vault_config( |
|
| 671 | 659 |
monkeypatch=monkeypatch, runner=runner, config={}
|
| 672 | 660 |
): |
| 673 | 661 |
_result = runner.invoke( |
| ... | ... |
@@ -686,9 +674,7 @@ class TestCLI: |
| 686 | 674 |
monkeypatch: pytest.MonkeyPatch, |
| 687 | 675 |
) -> None: |
| 688 | 676 |
runner = click.testing.CliRunner(mix_stderr=False) |
| 689 |
- with tests.isolated_config( |
|
| 690 |
- monkeypatch=monkeypatch, runner=runner, config={'services': {}}
|
|
| 691 |
- ): |
|
| 677 |
+ with tests.isolated_config(monkeypatch=monkeypatch, runner=runner): |
|
| 692 | 678 |
with contextlib.suppress(FileNotFoundError): |
| 693 | 679 |
os.remove(cli._config_filename()) |
| 694 | 680 |
os.makedirs(cli._config_filename()) |
| ... | ... |
@@ -708,9 +694,7 @@ class TestCLI: |
| 708 | 694 |
monkeypatch: pytest.MonkeyPatch, |
| 709 | 695 |
) -> None: |
| 710 | 696 |
runner = click.testing.CliRunner(mix_stderr=False) |
| 711 |
- with tests.isolated_config( |
|
| 712 |
- monkeypatch=monkeypatch, runner=runner, config={'services': {}}
|
|
| 713 |
- ): |
|
| 697 |
+ with tests.isolated_config(monkeypatch=monkeypatch, runner=runner): |
|
| 714 | 698 |
dname = os.path.dirname(cli._config_filename()) |
| 715 | 699 |
_result = runner.invoke( |
| 716 | 700 |
cli.derivepassphrase_vault, |
| ... | ... |
@@ -728,9 +712,7 @@ class TestCLI: |
| 728 | 712 |
monkeypatch: pytest.MonkeyPatch, |
| 729 | 713 |
) -> None: |
| 730 | 714 |
runner = click.testing.CliRunner(mix_stderr=False) |
| 731 |
- with tests.isolated_config( |
|
| 732 |
- monkeypatch=monkeypatch, runner=runner, config={'services': {}}
|
|
| 733 |
- ): |
|
| 715 |
+ with tests.isolated_config(monkeypatch=monkeypatch, runner=runner): |
|
| 734 | 716 |
with contextlib.suppress(FileNotFoundError): |
| 735 | 717 |
shutil.rmtree('.derivepassphrase')
|
| 736 | 718 |
with open('.derivepassphrase', 'w', encoding='UTF-8') as outfile:
|
| ... | ... |
@@ -755,7 +737,7 @@ class TestCLI: |
| 755 | 737 |
contents go here |
| 756 | 738 |
""" |
| 757 | 739 |
runner = click.testing.CliRunner(mix_stderr=False) |
| 758 |
- with tests.isolated_config( |
|
| 740 |
+ with tests.isolated_vault_config( |
|
| 759 | 741 |
monkeypatch=monkeypatch, |
| 760 | 742 |
runner=runner, |
| 761 | 743 |
config={'global': {'phrase': 'abc'}, 'services': {}},
|
| ... | ... |
@@ -779,7 +761,7 @@ contents go here |
| 779 | 761 |
self, monkeypatch: pytest.MonkeyPatch |
| 780 | 762 |
) -> None: |
| 781 | 763 |
runner = click.testing.CliRunner(mix_stderr=False) |
| 782 |
- with tests.isolated_config( |
|
| 764 |
+ with tests.isolated_vault_config( |
|
| 783 | 765 |
monkeypatch=monkeypatch, |
| 784 | 766 |
runner=runner, |
| 785 | 767 |
config={'global': {'phrase': 'abc'}, 'services': {}},
|
| ... | ... |
@@ -800,7 +782,7 @@ contents go here |
| 800 | 782 |
self, monkeypatch: pytest.MonkeyPatch |
| 801 | 783 |
) -> None: |
| 802 | 784 |
runner = click.testing.CliRunner(mix_stderr=False) |
| 803 |
- with tests.isolated_config( |
|
| 785 |
+ with tests.isolated_vault_config( |
|
| 804 | 786 |
monkeypatch=monkeypatch, |
| 805 | 787 |
runner=runner, |
| 806 | 788 |
config={'global': {'phrase': 'abc'}, 'services': {}},
|
| ... | ... |
@@ -824,7 +806,7 @@ contents go here |
| 824 | 806 |
self, monkeypatch: pytest.MonkeyPatch |
| 825 | 807 |
) -> None: |
| 826 | 808 |
runner = click.testing.CliRunner(mix_stderr=False) |
| 827 |
- with tests.isolated_config( |
|
| 809 |
+ with tests.isolated_vault_config( |
|
| 828 | 810 |
monkeypatch=monkeypatch, |
| 829 | 811 |
runner=runner, |
| 830 | 812 |
config={'global': {'phrase': 'abc'}, 'services': {}},
|
| ... | ... |
@@ -890,7 +872,7 @@ contents go here |
| 890 | 872 |
result_config: Any, |
| 891 | 873 |
) -> None: |
| 892 | 874 |
runner = click.testing.CliRunner(mix_stderr=False) |
| 893 |
- with tests.isolated_config( |
|
| 875 |
+ with tests.isolated_vault_config( |
|
| 894 | 876 |
monkeypatch=monkeypatch, |
| 895 | 877 |
runner=runner, |
| 896 | 878 |
config={'global': {'phrase': 'abc'}, 'services': {}},
|
| ... | ... |
@@ -933,7 +915,7 @@ contents go here |
| 933 | 915 |
err_text: str, |
| 934 | 916 |
) -> None: |
| 935 | 917 |
runner = click.testing.CliRunner(mix_stderr=False) |
| 936 |
- with tests.isolated_config( |
|
| 918 |
+ with tests.isolated_vault_config( |
|
| 937 | 919 |
monkeypatch=monkeypatch, |
| 938 | 920 |
runner=runner, |
| 939 | 921 |
config={'global': {'phrase': 'abc'}, 'services': {}},
|
| ... | ... |
@@ -957,7 +939,7 @@ contents go here |
| 957 | 939 |
monkeypatch: pytest.MonkeyPatch, |
| 958 | 940 |
) -> None: |
| 959 | 941 |
runner = click.testing.CliRunner(mix_stderr=False) |
| 960 |
- with tests.isolated_config( |
|
| 942 |
+ with tests.isolated_vault_config( |
|
| 961 | 943 |
monkeypatch=monkeypatch, |
| 962 | 944 |
runner=runner, |
| 963 | 945 |
config={'global': {'phrase': 'abc'}, 'services': {}},
|
| ... | ... |
@@ -983,7 +965,7 @@ contents go here |
| 983 | 965 |
monkeypatch: pytest.MonkeyPatch, |
| 984 | 966 |
) -> None: |
| 985 | 967 |
runner = click.testing.CliRunner(mix_stderr=False) |
| 986 |
- with tests.isolated_config( |
|
| 968 |
+ with tests.isolated_vault_config( |
|
| 987 | 969 |
monkeypatch=monkeypatch, |
| 988 | 970 |
runner=runner, |
| 989 | 971 |
config={'global': {'phrase': 'abc'}, 'services': {}},
|
| ... | ... |
@@ -1004,7 +986,7 @@ contents go here |
| 1004 | 986 |
monkeypatch: pytest.MonkeyPatch, |
| 1005 | 987 |
) -> None: |
| 1006 | 988 |
runner = click.testing.CliRunner(mix_stderr=False) |
| 1007 |
- with tests.isolated_config( |
|
| 989 |
+ with tests.isolated_vault_config( |
|
| 1008 | 990 |
monkeypatch=monkeypatch, |
| 1009 | 991 |
runner=runner, |
| 1010 | 992 |
config={'global': {'phrase': 'abc'}, 'services': {}},
|
| ... | ... |
@@ -1027,7 +1009,7 @@ contents go here |
| 1027 | 1009 |
try_race_free_implementation: bool, |
| 1028 | 1010 |
) -> None: |
| 1029 | 1011 |
runner = click.testing.CliRunner(mix_stderr=False) |
| 1030 |
- with tests.isolated_config( |
|
| 1012 |
+ with tests.isolated_vault_config( |
|
| 1031 | 1013 |
monkeypatch=monkeypatch, |
| 1032 | 1014 |
runner=runner, |
| 1033 | 1015 |
config={'global': {'phrase': 'abc'}, 'services': {}},
|
| ... | ... |
@@ -1051,7 +1033,7 @@ contents go here |
| 1051 | 1033 |
monkeypatch: pytest.MonkeyPatch, |
| 1052 | 1034 |
) -> None: |
| 1053 | 1035 |
runner = click.testing.CliRunner(mix_stderr=False) |
| 1054 |
- with tests.isolated_config( |
|
| 1036 |
+ with tests.isolated_vault_config( |
|
| 1055 | 1037 |
monkeypatch=monkeypatch, |
| 1056 | 1038 |
runner=runner, |
| 1057 | 1039 |
config={'global': {'phrase': 'abc'}, 'services': {}},
|
| ... | ... |
@@ -1078,7 +1060,6 @@ contents go here |
| 1078 | 1060 |
with tests.isolated_config( |
| 1079 | 1061 |
monkeypatch=monkeypatch, |
| 1080 | 1062 |
runner=runner, |
| 1081 |
- config={'services': {}},
|
|
| 1082 | 1063 |
): |
| 1083 | 1064 |
_result = runner.invoke( |
| 1084 | 1065 |
cli.derivepassphrase_vault, [], catch_exceptions=False |
| ... | ... |
@@ -1095,7 +1076,6 @@ contents go here |
| 1095 | 1076 |
with tests.isolated_config( |
| 1096 | 1077 |
monkeypatch=monkeypatch, |
| 1097 | 1078 |
runner=runner, |
| 1098 |
- config={'services': {}},
|
|
| 1099 | 1079 |
): |
| 1100 | 1080 |
_result = runner.invoke( |
| 1101 | 1081 |
cli.derivepassphrase_vault, |
| ... | ... |
@@ -1115,7 +1095,6 @@ contents go here |
| 1115 | 1095 |
with tests.isolated_config( |
| 1116 | 1096 |
monkeypatch=monkeypatch, |
| 1117 | 1097 |
runner=runner, |
| 1118 |
- config={'services': {}},
|
|
| 1119 | 1098 |
): |
| 1120 | 1099 |
os.remove('.derivepassphrase/settings.json')
|
| 1121 | 1100 |
os.rmdir('.derivepassphrase')
|
| ... | ... |
@@ -1155,7 +1134,6 @@ contents go here |
| 1155 | 1134 |
with tests.isolated_config( |
| 1156 | 1135 |
monkeypatch=monkeypatch, |
| 1157 | 1136 |
runner=runner, |
| 1158 |
- config={'services': {}},
|
|
| 1159 | 1137 |
): |
| 1160 | 1138 |
_save_config = cli._save_config |
| 1161 | 1139 |
|
| ... | ... |
@@ -1188,7 +1166,6 @@ contents go here |
| 1188 | 1166 |
with tests.isolated_config( |
| 1189 | 1167 |
monkeypatch=monkeypatch, |
| 1190 | 1168 |
runner=runner, |
| 1191 |
- config={'services': {}},
|
|
| 1192 | 1169 |
): |
| 1193 | 1170 |
_save_config = cli._save_config |
| 1194 | 1171 |
|
| ... | ... |
@@ -1294,7 +1271,7 @@ contents go here |
| 1294 | 1271 |
warning_message: str, |
| 1295 | 1272 |
) -> None: |
| 1296 | 1273 |
runner = click.testing.CliRunner(mix_stderr=False) |
| 1297 |
- with tests.isolated_config( |
|
| 1274 |
+ with tests.isolated_vault_config( |
|
| 1298 | 1275 |
monkeypatch=monkeypatch, |
| 1299 | 1276 |
runner=runner, |
| 1300 | 1277 |
config={'services': {DUMMY_SERVICE: DUMMY_CONFIG_SETTINGS.copy()}},
|
| ... | ... |
@@ -1318,7 +1295,7 @@ class TestCLIUtils: |
| 1318 | 1295 |
) -> None: |
| 1319 | 1296 |
runner = click.testing.CliRunner() |
| 1320 | 1297 |
with ( |
| 1321 |
- tests.isolated_config( |
|
| 1298 |
+ tests.isolated_vault_config( |
|
| 1322 | 1299 |
monkeypatch=monkeypatch, runner=runner, config={}
|
| 1323 | 1300 |
), |
| 1324 | 1301 |
pytest.raises(ValueError, match='Invalid vault config'), |
| ... | ... |
@@ -1498,7 +1475,7 @@ Boo. |
| 1498 | 1475 |
) -> None: |
| 1499 | 1476 |
runner = click.testing.CliRunner(mix_stderr=False) |
| 1500 | 1477 |
for start_config in [config, result_config]: |
| 1501 |
- with tests.isolated_config( |
|
| 1478 |
+ with tests.isolated_vault_config( |
|
| 1502 | 1479 |
monkeypatch=monkeypatch, runner=runner, config=start_config |
| 1503 | 1480 |
): |
| 1504 | 1481 |
_result = runner.invoke( |
| ... | ... |
@@ -1575,7 +1552,6 @@ class TestCLITransition: |
| 1575 | 1552 |
with tests.isolated_config( |
| 1576 | 1553 |
monkeypatch=monkeypatch, |
| 1577 | 1554 |
runner=runner, |
| 1578 |
- config={'services': {}},
|
|
| 1579 | 1555 |
): |
| 1580 | 1556 |
_result = runner.invoke( |
| 1581 | 1557 |
cli.derivepassphrase, ['--help'], catch_exceptions=False |
| ... | ... |
@@ -1592,7 +1568,6 @@ class TestCLITransition: |
| 1592 | 1568 |
with tests.isolated_config( |
| 1593 | 1569 |
monkeypatch=monkeypatch, |
| 1594 | 1570 |
runner=runner, |
| 1595 |
- config={'services': {}},
|
|
| 1596 | 1571 |
): |
| 1597 | 1572 |
_result = runner.invoke( |
| 1598 | 1573 |
cli.derivepassphrase, |
| ... | ... |
@@ -1611,7 +1586,6 @@ class TestCLITransition: |
| 1611 | 1586 |
with tests.isolated_config( |
| 1612 | 1587 |
monkeypatch=monkeypatch, |
| 1613 | 1588 |
runner=runner, |
| 1614 |
- config={'services': {}},
|
|
| 1615 | 1589 |
): |
| 1616 | 1590 |
_result = runner.invoke( |
| 1617 | 1591 |
cli.derivepassphrase, |
| ... | ... |
@@ -1630,7 +1604,6 @@ class TestCLITransition: |
| 1630 | 1604 |
with tests.isolated_config( |
| 1631 | 1605 |
monkeypatch=monkeypatch, |
| 1632 | 1606 |
runner=runner, |
| 1633 |
- config={'services': {}},
|
|
| 1634 | 1607 |
): |
| 1635 | 1608 |
_result = runner.invoke( |
| 1636 | 1609 |
cli.derivepassphrase, |
| ... | ... |
@@ -1682,7 +1655,6 @@ class TestCLITransition: |
| 1682 | 1655 |
with tests.isolated_config( |
| 1683 | 1656 |
monkeypatch=monkeypatch, |
| 1684 | 1657 |
runner=runner, |
| 1685 |
- config={'services': {}},
|
|
| 1686 | 1658 |
): |
| 1687 | 1659 |
_result = runner.invoke( |
| 1688 | 1660 |
cli.derivepassphrase, |
| 1689 | 1661 |