Marco Ricci commited on 2024-12-21 00:57:49
Zeige 8 geänderte Dateien mit 45 Einfügungen und 37 Löschungen.
Aside from formatting fixes, disable the E501/line-too-long and C419/unnecessary-comprehension-in-call linting rules in tests, where they hinder debuggability of the tests. (See embedded comments for full rationale.) Furthermore, make `coverage` recognize `@overload` lines automatically as lines that should not be included in coverage, like `assert False` and friends.
| ... | ... |
@@ -81,6 +81,7 @@ exclude_also = [ |
| 81 | 81 |
"raise NotImplementedError", |
| 82 | 82 |
'assert False', |
| 83 | 83 |
'(?:typing\.)?assert_never\(',
|
| 84 |
+ '@overload', |
|
| 84 | 85 |
] |
| 85 | 86 |
|
| 86 | 87 |
[tool.coverage.run] |
| ... | ... |
@@ -304,6 +305,15 @@ select = [ |
| 304 | 305 |
# things), we need to call and to mock several internal functions, |
| 305 | 306 |
# which would automatically trigger `SLF001`. |
| 306 | 307 |
'SLF001', |
| 308 |
+ # pytest does not support sensible introspection of `assert all(...)` |
|
| 309 |
+ # expressions in tests the same way it supports introspection in |
|
| 310 |
+ # `asssert all([...])`. So the extra list comprehension actually |
|
| 311 |
+ # improves debuggability in this case. |
|
| 312 |
+ 'C419', |
|
| 313 |
+ # The tests sometimes include long strings (in non-Python formats) |
|
| 314 |
+ # that should be included verbatim, without artificial line breaking, |
|
| 315 |
+ # so they can be grepped for. |
|
| 316 |
+ 'E501', |
|
| 307 | 317 |
] |
| 308 | 318 |
|
| 309 | 319 |
[tool.ruff.lint.flake8-copyright] |
| ... | ... |
@@ -225,8 +225,7 @@ def validate_vault_config( |
| 225 | 225 |
*, |
| 226 | 226 |
allow_derivepassphrase_extensions: bool, |
| 227 | 227 |
allow_unknown_settings: bool = False, |
| 228 |
-) -> None: |
|
| 229 |
- ... # pragma: no cover |
|
| 228 |
+) -> None: ... |
|
| 230 | 229 |
|
| 231 | 230 |
|
| 232 | 231 |
@overload |
| ... | ... |
@@ -235,8 +234,7 @@ def validate_vault_config( |
| 235 | 234 |
/, |
| 236 | 235 |
*, |
| 237 | 236 |
allow_unknown_settings: bool = False, |
| 238 |
-) -> None: |
|
| 239 |
- ... # pragma: no cover |
|
| 237 |
+) -> None: ... |
|
| 240 | 238 |
|
| 241 | 239 |
|
| 242 | 240 |
def validate_vault_config( # noqa: C901,PLR0912 |
| ... | ... |
@@ -2374,9 +2376,11 @@ def derivepassphrase_vault( # noqa: C901,PLR0912,PLR0913,PLR0914,PLR0915 |
| 2374 | 2376 |
# cases, set the phrase via vault.Vault.phrase_from_key if |
| 2375 | 2377 |
# a key is given. Finally, if nothing is set, error out. |
| 2376 | 2378 |
if use_key or use_phrase: |
| 2377 |
- kwargs['phrase'] = _key_to_phrase( |
|
| 2378 |
- key, error_callback=err |
|
| 2379 |
- ) if use_key else phrase |
|
| 2379 |
+ kwargs['phrase'] = ( |
|
| 2380 |
+ _key_to_phrase(key, error_callback=err) |
|
| 2381 |
+ if use_key |
|
| 2382 |
+ else phrase |
|
| 2383 |
+ ) |
|
| 2380 | 2384 |
elif kwargs.get('key'):
|
| 2381 | 2385 |
kwargs['phrase'] = _key_to_phrase( |
| 2382 | 2386 |
kwargs['key'], error_callback=err |
| ... | ... |
@@ -379,7 +379,7 @@ class SSHAgentClient: |
| 379 | 379 |
) |
| 380 | 380 |
|
| 381 | 381 |
@overload |
| 382 |
- def request( # pragma: no cover |
|
| 382 |
+ def request( |
|
| 383 | 383 |
self, |
| 384 | 384 |
code: int | _types.SSH_AGENTC, |
| 385 | 385 |
payload: Buffer, |
| ... | ... |
@@ -389,7 +389,7 @@ class SSHAgentClient: |
| 389 | 389 |
) -> tuple[int, bytes]: ... |
| 390 | 390 |
|
| 391 | 391 |
@overload |
| 392 |
- def request( # pragma: no cover |
|
| 392 |
+ def request( |
|
| 393 | 393 |
self, |
| 394 | 394 |
code: int | _types.SSH_AGENTC, |
| 395 | 395 |
payload: Buffer, |
| ... | ... |
@@ -401,7 +401,7 @@ class SSHAgentClient: |
| 401 | 401 |
) -> bytes: ... |
| 402 | 402 |
|
| 403 | 403 |
@overload |
| 404 |
- def request( # pragma: no cover |
|
| 404 |
+ def request( |
|
| 405 | 405 |
self, |
| 406 | 406 |
code: int | _types.SSH_AGENTC, |
| 407 | 407 |
payload: Buffer, |
| ... | ... |
@@ -487,7 +487,7 @@ idwcakUGCekJD/vCEml2AAAAG3Rlc3Qga2V5IHdpdGhvdXQgcGFzc3BocmFzZQEC |
| 487 | 487 |
68 6f 75 74 20 70 61 73 73 70 68 72 61 73 65 |
| 488 | 488 |
"""), |
| 489 | 489 |
'public_key': rb"""ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIF4gWgm1gJIXw//Mkhv5MEwidwcakUGCekJD/vCEml2 test key without passphrase |
| 490 |
-""", # noqa: E501 |
|
| 490 |
+""", |
|
| 491 | 491 |
'public_key_data': bytes.fromhex("""
|
| 492 | 492 |
00 00 00 0b 73 73 68 2d 65 64 32 35 35 31 39 |
| 493 | 493 |
00 00 00 20 |
| ... | ... |
@@ -502,7 +502,7 @@ idwcakUGCekJD/vCEml2AAAAG3Rlc3Qga2V5IHdpdGhvdXQgcGFzc3BocmFzZQEC |
| 502 | 502 |
0d 08 1f ec f8 73 9b 8c 5f 55 39 16 7c 53 54 2c |
| 503 | 503 |
1e 52 bb 30 ed 7f 89 e2 2f 69 51 55 d8 9e a6 02 |
| 504 | 504 |
"""), |
| 505 |
- 'derived_passphrase': rb'8JgZgGwal9UmA27M42WPhmYHExkTCSEzM/nkNlMdr/0NCB/s+HObjF9VORZ8U1QsHlK7MO1/ieIvaVFV2J6mAg==', # noqa: E501 |
|
| 505 |
+ 'derived_passphrase': rb'8JgZgGwal9UmA27M42WPhmYHExkTCSEzM/nkNlMdr/0NCB/s+HObjF9VORZ8U1QsHlK7MO1/ieIvaVFV2J6mAg==', |
|
| 506 | 506 |
}, |
| 507 | 507 |
# Currently only supported by PuTTY (which is deficient in other |
| 508 | 508 |
# niceties of the SSH agent and the agent's client). |
| ... | ... |
@@ -536,7 +536,7 @@ dGhvdXQgcGFzc3BocmFzZQECAwQFBgcICQ== |
| 536 | 536 |
74 68 6f 75 74 20 70 61 73 73 70 68 72 61 73 65 |
| 537 | 537 |
"""), |
| 538 | 538 |
'public_key': rb"""ssh-ed448 AAAACXNzaC1lZDQ0OAAAADni9nLTT1a7zATGO8RveGq0vPUY7/53m+YZRsStZDgBQ72ZgtPMckdzabiz7JbM/b0JzcRzGLMsbwA= test key without passphrase |
| 539 |
-""", # noqa: E501 |
|
| 539 |
+""", |
|
| 540 | 540 |
'public_key_data': bytes.fromhex("""
|
| 541 | 541 |
00 00 00 09 73 73 68 2d 65 64 34 34 38 |
| 542 | 542 |
00 00 00 39 e2 f6 72 d3 4f 56 bb cc 04 |
| ... | ... |
@@ -555,7 +555,7 @@ dGhvdXQgcGFzc3BocmFzZQECAwQFBgcICQ== |
| 555 | 555 |
db bd 77 7c 80 20 7f 3a 48 61 f6 1f ae a9 5e 53 |
| 556 | 556 |
7b e0 9d 93 1e ea dc eb b5 cd 56 4c ea 8f 08 00 |
| 557 | 557 |
"""), |
| 558 |
- 'derived_passphrase': rb'Bob0ZKSmutnDIsSTSZn8Ed5nlwjy2Lc8LBPnxRwekqYO2C9tgQOCAONy5DJtctJtMoQ/zKkeVywAmrOZ3kXazi7R2+WJ8zW+JFiQxsoE8NuIgNu9d3yAIH86SGH2H66pXlN74J2THurc67XNVkzqjwgA', # noqa: E501 |
|
| 558 |
+ 'derived_passphrase': rb'Bob0ZKSmutnDIsSTSZn8Ed5nlwjy2Lc8LBPnxRwekqYO2C9tgQOCAONy5DJtctJtMoQ/zKkeVywAmrOZ3kXazi7R2+WJ8zW+JFiQxsoE8NuIgNu9d3yAIH86SGH2H66pXlN74J2THurc67XNVkzqjwgA', |
|
| 559 | 559 |
}, |
| 560 | 560 |
'rsa': {
|
| 561 | 561 |
'private_key': rb"""-----BEGIN OPENSSH PRIVATE KEY----- |
| ... | ... |
@@ -693,7 +693,7 @@ Bgp6142WnSCQAAABt0ZXN0IGtleSB3aXRob3V0IHBhc3NwaHJhc2UB |
| 693 | 693 |
74 68 6f 75 74 20 70 61 73 73 70 68 72 61 73 65 |
| 694 | 694 |
"""), |
| 695 | 695 |
'public_key': rb"""ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCxoe7pezhxWy4NI0mUwKqg9WCYOAS+IjxN9eYcqpfcmQiojcuy9XsiN/xYJ1O94SrsKS5mEia2xHnYA4RUChTyYNcM2v6cnnBQ/N/VQhpGMN7SVxdbhKUXTWFCwbjBgO6rGyHB6WtoH8vd7TOEPt+NgcXwhsWyoaUUdYTA62V+GF9vEmxMaC4ubgDz+B0QkPnauSoNxmkhcIe0lsLNb1pClZyz88PDnKXCX/d0HuN/HJ+sbPg7dCvOyqFYSyKn3uY6bCXqoIdurxXzH3O7z0P8f5sbmKOrGGKNuNxVRbeVl/D/3uDL0nqsbfUc1qvkfwbJwtMXC4IV6kOZMSk2BAsqh7x48gQ+rhYeEVSi8F3CWs4HJQoqrGt7K9a3mCSlMBHP70u3w6ME7eumoryxlUofewTd17ZEkzdX08l2ZlKzZvwQUrc+xQZ2Uw8z2mfW6Ti4gi0pYGaig7Ke4PwuXpo/C5YAWfeXycsvJZ2uaYRjMdZeJGNAnHLUGLkBscw5aI8= test key without passphrase |
| 696 |
-""", # noqa: E501 |
|
| 696 |
+""", |
|
| 697 | 697 |
'public_key_data': bytes.fromhex("""
|
| 698 | 698 |
00 00 00 07 73 73 68 2d 72 73 61 |
| 699 | 699 |
00 00 00 03 01 00 01 |
| ... | ... |
@@ -751,7 +751,7 @@ Bgp6142WnSCQAAABt0ZXN0IGtleSB3aXRob3V0IHBhc3NwaHJhc2UB |
| 751 | 751 |
de 69 2c 48 62 d9 fd d1 9b 6b b0 49 db d3 ff 38 |
| 752 | 752 |
e7 10 d9 2d ce 9f 0d 5e 09 7b 37 d2 7b c3 bf ce |
| 753 | 753 |
"""), |
| 754 |
- 'derived_passphrase': rb'ohB8Lva7U6h0KqEZma2Bvnmc7dadCU5uxRhIM5B3mWj3ngNazU4Y64l9haLurkqS9m/Ouf6GfyprMdpuGv6ipYi4RH+hdnOz7HW10Ka5FZdlCRN9lCHR+10PiyMEd8LDVSKxoAmK9Tgq1n8bhymgJdMlb8tkYQeY3BTFhPiSJF5QEWtJ5fDMKcspqRnYp3EfkQsFsQFLwl8ApbYhv/gsnWebRzsKSWt5Lfwd7Ayw5Sci1an408P530ho6fvvPNwmv8/qKUMBpuPFUZX0Zm2KVeJH7OgwRUyuR+fJpCGLZLq2iPYh+HO5yxGheHWSxlrlZP7tQtmVmeYrbzwWPCh0pHIvDT8sM2eqNRmO57URL7P3asUC4m+jQuNiGZkD6qUg56HjvMgGo7V81nZd329gRoMqCADW09mkwUGM+GBWRYHaO6IWH55OdYMX2sNTwz4ZpBu80im4eGEreOaxUrDV7N5pLEhi2f3Rm2uwSdvT/zjnENktzp8NXgl7N9J7w7/O', # noqa: E501 |
|
| 754 |
+ 'derived_passphrase': rb'ohB8Lva7U6h0KqEZma2Bvnmc7dadCU5uxRhIM5B3mWj3ngNazU4Y64l9haLurkqS9m/Ouf6GfyprMdpuGv6ipYi4RH+hdnOz7HW10Ka5FZdlCRN9lCHR+10PiyMEd8LDVSKxoAmK9Tgq1n8bhymgJdMlb8tkYQeY3BTFhPiSJF5QEWtJ5fDMKcspqRnYp3EfkQsFsQFLwl8ApbYhv/gsnWebRzsKSWt5Lfwd7Ayw5Sci1an408P530ho6fvvPNwmv8/qKUMBpuPFUZX0Zm2KVeJH7OgwRUyuR+fJpCGLZLq2iPYh+HO5yxGheHWSxlrlZP7tQtmVmeYrbzwWPCh0pHIvDT8sM2eqNRmO57URL7P3asUC4m+jQuNiGZkD6qUg56HjvMgGo7V81nZd329gRoMqCADW09mkwUGM+GBWRYHaO6IWH55OdYMX2sNTwz4ZpBu80im4eGEreOaxUrDV7N5pLEhi2f3Rm2uwSdvT/zjnENktzp8NXgl7N9J7w7/O', |
|
| 755 | 755 |
}, |
| 756 | 756 |
} |
| 757 | 757 |
|
| ... | ... |
@@ -816,7 +816,7 @@ u7HfrQhdOiKSa+ZO9AAojbURqrLDRfBJa5dXn2AAAAFQDJHfenj4EJ9WkehpdJatPBlqCW |
| 816 | 816 |
74 68 6f 75 74 20 70 61 73 73 70 68 72 61 73 65 |
| 817 | 817 |
"""), |
| 818 | 818 |
'public_key': rb"""ssh-dss AAAAB3NzaC1kc3MAAACBALsoBleoEY1UsFA+twxgCg1bngGEPxoiF7sENZjMlyxoy3vZUpKSC5nz5dHudFrQL9mwGL64mnR2nHL1kxM5Zfi7lg8x5BxcR0YTFkh+KYapI4CzLp8KV3Yh8lklkTFwKaF71KyOx3dhIA8lGW45cVBz3kxmhHmEzCUgMPxDOsTtAAAAFQD32c5k6B3tocxUahelQQFyfseiywAAAIAuvYCDeHEzesp3HNVTDx9fRVU9c77f4qvyEZ7Qpz/s3BVoFUvUZDx96cG5bKekBRsfTCjeHXCQH/yFfqn5Lxye7msgGVS5U3AvD9shiiEr3wt+pNgr9X6DooP7ybfjC8SJdmarLBjnifZuSxyHU2q+P+02kvMTFLH9dLSRIzVqKAAAAIBtA1E9xUS4YOsRx/7GDm2AB6M9cE9ev8myz4KGTriSbeaKsxiMBbJZi1VyBP7uE5jG1hGKfwvIwuopGaprRDlSu8N8KGAuG+wb1hJv8ynDmqbw+IdJp/CGRrP+17f7yEqiCqh7ux360IXToikmvmTvQAKI21Eaqyw0XwSWuXV59g== test key without passphrase |
| 819 |
-""", # noqa: E501 |
|
| 819 |
+""", |
|
| 820 | 820 |
'public_key_data': bytes.fromhex("""
|
| 821 | 821 |
00 00 00 07 73 73 68 2d 64 73 73 |
| 822 | 822 |
00 00 00 81 00 |
| ... | ... |
@@ -879,7 +879,7 @@ dGhvdXQgcGFzc3BocmFzZQECAwQ= |
| 879 | 879 |
74 68 6f 75 74 20 70 61 73 73 70 68 72 61 73 65 |
| 880 | 880 |
"""), |
| 881 | 881 |
'public_key': rb"""ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBMttTTMPCyTYO+n5Vgiuw1V/mBbDPZLdJnxNvGJBGSmcZJWrIigck4lz41Ai0BrvGUn/xnqB/PntndqlSRowmbo= test key without passphrase |
| 882 |
-""", # noqa: E501 |
|
| 882 |
+""", |
|
| 883 | 883 |
'public_key_data': bytes.fromhex("""
|
| 884 | 884 |
00 00 00 13 65 63 64 |
| 885 | 885 |
73 61 2d 73 68 61 32 2d 6e 69 73 74 70 32 35 36 |
| ... | ... |
@@ -924,7 +924,7 @@ JAu0J3Q+cypZuKQVAAAAMQD5sTy8p+B1cn/DhOmXquui1BcxvASqzzevkBlbQoBa73y04B |
| 924 | 924 |
74 68 6f 75 74 20 70 61 73 73 70 68 72 61 73 65 |
| 925 | 925 |
"""), |
| 926 | 926 |
'public_key': rb"""ecdsa-sha2-nistp384 AAAAE2VjZHNhLXNoYTItbmlzdHAzODQAAAAIbmlzdHAzODQAAABhBKCQ6OQC+ru/m8e6PcoEvj8QBZyfmFkPIpxvJXR4EwYWruEpdCVmohqEtWp4xHRCqaTE0nauXLZUdxed6re9n718ixYI51iTlY/c1k/O/3XVefvBsSQLtCd0PnMqWbikFQ== test key without passphrase |
| 927 |
-""", # noqa: E501 |
|
| 927 |
+""", |
|
| 928 | 928 |
'public_key_data': bytes.fromhex("""
|
| 929 | 929 |
00 00 00 13 65 63 64 |
| 930 | 930 |
73 61 2d 73 68 61 32 2d 6e 69 73 74 70 33 38 34 |
| ... | ... |
@@ -976,7 +976,7 @@ Rlc3Qga2V5IHdpdGhvdXQgcGFzc3BocmFzZQ== |
| 976 | 976 |
74 68 6f 75 74 20 70 61 73 73 70 68 72 61 73 65 |
| 977 | 977 |
"""), |
| 978 | 978 |
'public_key': rb"""ecdsa-sha2-nistp521 AAAAE2VjZHNhLXNoYTItbmlzdHA1MjEAAAAIbmlzdHA1MjEAAACFBABJU53APOeaVwaqIu8W1h5W2sASJXOIh+wvuMQzxS27+bxZKQ8VC2PCp0XD5Z9nSaLqoxsQWCL8QvNlIpW14JJtwwCGoCQ4wUqIO7hvG+wzptPTZG7urbJPjXJLIaFQPRDJIGcjoKS3/CdDVMSmPzMMqJESvGz17pAsYSU1GTMs8yz6Yw== test key without passphrase |
| 979 |
-""", # noqa: E501 |
|
| 979 |
+""", |
|
| 980 | 980 |
'public_key_data': bytes.fromhex("""
|
| 981 | 981 |
00 00 00 13 65 63 64 |
| 982 | 982 |
73 61 2d 73 68 61 32 2d 6e 69 73 74 70 32 35 36 |
| ... | ... |
@@ -1023,10 +1023,10 @@ DUMMY_PHRASE_FROM_KEY1_RAW = ( |
| 1023 | 1023 |
b'\x1d\xaf\xfd\r\x08\x1f\xec\xf8s\x9b\x8c_U9\x16|ST,' |
| 1024 | 1024 |
b'\x1eR\xbb0\xed\x7f\x89\xe2/iQU\xd8\x9e\xa6\x02' |
| 1025 | 1025 |
) |
| 1026 |
-DUMMY_PHRASE_FROM_KEY1 = b'8JgZgGwal9UmA27M42WPhmYHExkTCSEzM/nkNlMdr/0NCB/s+HObjF9VORZ8U1QsHlK7MO1/ieIvaVFV2J6mAg==' # noqa: E501 |
|
| 1026 |
+DUMMY_PHRASE_FROM_KEY1 = b'8JgZgGwal9UmA27M42WPhmYHExkTCSEzM/nkNlMdr/0NCB/s+HObjF9VORZ8U1QsHlK7MO1/ieIvaVFV2J6mAg==' |
|
| 1027 | 1027 |
|
| 1028 | 1028 |
VAULT_MASTER_KEY = 'vault key' |
| 1029 |
-VAULT_V02_CONFIG = 'P7xeh5y4jmjpJ2pFq4KUcTVoaE9ZOEkwWmpVTURSSWQxbGt6emN4aFE4eFM3anVPbDRNTGpOLzY3eDF5aE1YTm5LNWh5Q1BwWTMwM3M5S083MWRWRFlmOXNqSFJNcStGMWFOS3c2emhiOUNNenZYTmNNMnZxaUErdlRoOGF2ZHdGT1ZLNTNLOVJQcU9jWmJrR3g5N09VcVBRZ0ZnSFNUQy9HdFVWWnFteVhRVkY3MHNBdnF2ZWFEbFBseWRGelE1c3BFTnVUckRQdWJSL29wNjFxd2Y2ZVpob3VyVzRod3FKTElTenJ1WTZacTJFOFBtK3BnVzh0QWVxcWtyWFdXOXYyenNQeFNZbWt1MDU2Vm1kVGtISWIxWTBpcWRFbyswUVJudVVhZkVlNVpGWDA4WUQ2Q2JTWW81SnlhQ2Zxa3cxNmZoQjJES0Uyd29rNXpSck5iWVBrVmEwOXFya1NpMi9saU5LL3F0M3N3MjZKekNCem9ER2svWkZ0SUJLdmlHRno0VlQzQ3pqZTBWcTM3YmRiNmJjTkhqUHZoQ0NxMW1ldW1XOFVVK3pQMEtUMkRMVGNvNHFlOG40ck5KcGhsYXg1b1VzZ1NYU1B2T3RXdEkwYzg4NWE3YWUzOWI1MDI0MThhMWZjODQ3MDA2OTJmNDQ0MDkxNGFiNmRlMGQ2YjZiNjI5NGMwN2IwMmI4MGZi' # noqa: E501 |
|
| 1029 |
+VAULT_V02_CONFIG = 'P7xeh5y4jmjpJ2pFq4KUcTVoaE9ZOEkwWmpVTURSSWQxbGt6emN4aFE4eFM3anVPbDRNTGpOLzY3eDF5aE1YTm5LNWh5Q1BwWTMwM3M5S083MWRWRFlmOXNqSFJNcStGMWFOS3c2emhiOUNNenZYTmNNMnZxaUErdlRoOGF2ZHdGT1ZLNTNLOVJQcU9jWmJrR3g5N09VcVBRZ0ZnSFNUQy9HdFVWWnFteVhRVkY3MHNBdnF2ZWFEbFBseWRGelE1c3BFTnVUckRQdWJSL29wNjFxd2Y2ZVpob3VyVzRod3FKTElTenJ1WTZacTJFOFBtK3BnVzh0QWVxcWtyWFdXOXYyenNQeFNZbWt1MDU2Vm1kVGtISWIxWTBpcWRFbyswUVJudVVhZkVlNVpGWDA4WUQ2Q2JTWW81SnlhQ2Zxa3cxNmZoQjJES0Uyd29rNXpSck5iWVBrVmEwOXFya1NpMi9saU5LL3F0M3N3MjZKekNCem9ER2svWkZ0SUJLdmlHRno0VlQzQ3pqZTBWcTM3YmRiNmJjTkhqUHZoQ0NxMW1ldW1XOFVVK3pQMEtUMkRMVGNvNHFlOG40ck5KcGhsYXg1b1VzZ1NYU1B2T3RXdEkwYzg4NWE3YWUzOWI1MDI0MThhMWZjODQ3MDA2OTJmNDQ0MDkxNGFiNmRlMGQ2YjZiNjI5NGMwN2IwMmI4MGZi' |
|
| 1030 | 1030 |
VAULT_V02_CONFIG_DATA = {
|
| 1031 | 1031 |
'global': {
|
| 1032 | 1032 |
'phrase': DUMMY_PASSPHRASE.rstrip('\n'),
|
| ... | ... |
@@ -1038,7 +1038,7 @@ VAULT_V02_CONFIG_DATA = {
|
| 1038 | 1038 |
DUMMY_SERVICE: DUMMY_CONFIG_SETTINGS.copy(), |
| 1039 | 1039 |
}, |
| 1040 | 1040 |
} |
| 1041 |
-VAULT_V03_CONFIG = 'sBPBrr8BFHPxSJkV/A53zk9zwDQHFxLe6UIusCVvzFQre103pcj5xxmE11lMTA0U2QTYjkhRXKkH5WegSmYpAnzReuRsYZlWWp6N4kkubf+twZ9C3EeggPm7as2Af4TICHVbX4uXpIHeQJf9y1OtqrO+SRBrgPBzgItoxsIxebxVKgyvh1CZQOSkn7BIzt9xKhDng3ubS4hQ91fB0QCumlldTbUl8tj4Xs5JbvsSlUMxRlVzZ0OgAOrSsoWELXmsp6zXFa9K6wIuZa4wQuMLQFHiA64JO1CR3I+rviWCeMlbTOuJNx6vMB5zotKJqA2hIUpN467TQ9vI4g/QTo40m5LT2EQKbIdTvBQAzcV4lOcpr5Lqt4LHED5mKvm/4YfpuuT3I3XCdWfdG5SB7ciiB4Go+xQdddy3zZMiwm1fEwIB8XjFf2cxoJdccLQ2yxf+9diedBP04EsMHrvxKDhQ7/vHl7xF2MMFTDKl3WFd23vvcjpR1JgNAKYprG/e1p/7' # noqa: E501 |
|
| 1041 |
+VAULT_V03_CONFIG = 'sBPBrr8BFHPxSJkV/A53zk9zwDQHFxLe6UIusCVvzFQre103pcj5xxmE11lMTA0U2QTYjkhRXKkH5WegSmYpAnzReuRsYZlWWp6N4kkubf+twZ9C3EeggPm7as2Af4TICHVbX4uXpIHeQJf9y1OtqrO+SRBrgPBzgItoxsIxebxVKgyvh1CZQOSkn7BIzt9xKhDng3ubS4hQ91fB0QCumlldTbUl8tj4Xs5JbvsSlUMxRlVzZ0OgAOrSsoWELXmsp6zXFa9K6wIuZa4wQuMLQFHiA64JO1CR3I+rviWCeMlbTOuJNx6vMB5zotKJqA2hIUpN467TQ9vI4g/QTo40m5LT2EQKbIdTvBQAzcV4lOcpr5Lqt4LHED5mKvm/4YfpuuT3I3XCdWfdG5SB7ciiB4Go+xQdddy3zZMiwm1fEwIB8XjFf2cxoJdccLQ2yxf+9diedBP04EsMHrvxKDhQ7/vHl7xF2MMFTDKl3WFd23vvcjpR1JgNAKYprG/e1p/7' |
|
| 1042 | 1042 |
VAULT_V03_CONFIG_DATA = {
|
| 1043 | 1043 |
'global': {
|
| 1044 | 1044 |
'phrase': DUMMY_PASSPHRASE.rstrip('\n'),
|
| ... | ... |
@@ -254,7 +254,7 @@ def running_ssh_agent( # pragma: no cover |
| 254 | 254 |
assert ( |
| 255 | 255 |
os.environ.get('SSH_AUTH_SOCK', None)
|
| 256 | 256 |
== startup_ssh_auth_sock |
| 257 |
- ), f'SSH_AUTH_SOCK mismatch when checking for spawnable {exec_name}' # noqa: E501
|
|
| 257 |
+ ), f'SSH_AUTH_SOCK mismatch when checking for spawnable {exec_name}'
|
|
| 258 | 258 |
proc = spawn_func(executable=shutil.which(exec_name), env={})
|
| 259 | 259 |
if proc is None: |
| 260 | 260 |
continue |
| ... | ... |
@@ -370,7 +370,7 @@ def spawn_ssh_agent( |
| 370 | 370 |
else: |
| 371 | 371 |
assert ( |
| 372 | 372 |
os.environ.get('SSH_AUTH_SOCK', None) == startup_ssh_auth_sock
|
| 373 |
- ), f'SSH_AUTH_SOCK mismatch when checking for spawnable {exec_name}' # noqa: E501
|
|
| 373 |
+ ), f'SSH_AUTH_SOCK mismatch when checking for spawnable {exec_name}'
|
|
| 374 | 374 |
proc = spawn_func( |
| 375 | 375 |
executable=shutil.which(exec_name), env=agent_env |
| 376 | 376 |
) |
| ... | ... |
@@ -1704,7 +1704,7 @@ contents go here |
| 1704 | 1704 |
}), |
| 1705 | 1705 |
( |
| 1706 | 1706 |
"Invalid value 'XXX' for config key " |
| 1707 |
- "vault.default-unicode-normalization-form" |
|
| 1707 |
+ 'vault.default-unicode-normalization-form' |
|
| 1708 | 1708 |
), |
| 1709 | 1709 |
id='global', |
| 1710 | 1710 |
), |
| ... | ... |
@@ -1722,7 +1722,7 @@ contents go here |
| 1722 | 1722 |
}), |
| 1723 | 1723 |
( |
| 1724 | 1724 |
"Invalid value 'XXX' for config key " |
| 1725 |
- "vault.with_normalization.unicode-normalization-form" |
|
| 1725 |
+ 'vault.with_normalization.unicode-normalization-form' |
|
| 1726 | 1726 |
), |
| 1727 | 1727 |
id='service', |
| 1728 | 1728 |
), |
| ... | ... |
@@ -1802,7 +1802,7 @@ contents go here |
| 1802 | 1802 |
assert result.error_exit( |
| 1803 | 1803 |
error=( |
| 1804 | 1804 |
"Invalid value 'XXX' for config key " |
| 1805 |
- "vault.default-unicode-normalization-form" |
|
| 1805 |
+ 'vault.default-unicode-normalization-form' |
|
| 1806 | 1806 |
), |
| 1807 | 1807 |
), 'expected error exit and known error message' |
| 1808 | 1808 |
|
| ... | ... |
@@ -1953,7 +1953,7 @@ Our menu: |
| 1953 | 1953 |
Your selection? (1-10, leave empty to abort): 9 |
| 1954 | 1954 |
A fine choice: Spam, spam, spam, spam, spam, spam, baked beans, spam, spam, spam and spam |
| 1955 | 1955 |
(Note: Vikings strictly optional.) |
| 1956 |
-""" # noqa: E501 |
|
| 1956 |
+""" |
|
| 1957 | 1957 |
), 'expected clean exit' |
| 1958 | 1958 |
_result = runner.invoke( |
| 1959 | 1959 |
driver, ['--heading='], input='', catch_exceptions=True |
| ... | ... |
@@ -1976,7 +1976,7 @@ A fine choice: Spam, spam, spam, spam, spam, spam, baked beans, spam, spam, spam |
| 1976 | 1976 |
[9] Spam, spam, spam, spam, spam, spam, baked beans, spam, spam, spam and spam |
| 1977 | 1977 |
[10] Lobster thermidor aux crevettes with a mornay sauce garnished with truffle paté, brandy and a fried egg on top and spam |
| 1978 | 1978 |
Your selection? (1-10, leave empty to abort):\x20 |
| 1979 |
-""" # noqa: E501 |
|
| 1979 |
+""" |
|
| 1980 | 1980 |
), 'expected known output' |
| 1981 | 1981 |
|
| 1982 | 1982 |
def test_112_prompt_for_selection_single(self) -> None: |
| ... | ... |
@@ -2515,9 +2514,7 @@ Boo. |
| 2515 | 2514 |
): |
| 2516 | 2515 |
cli._key_to_phrase(loaded_key, error_callback=err) |
| 2517 | 2516 |
with monkeypatch.context() as mp: |
| 2518 |
- mp.setenv( |
|
| 2519 |
- 'SSH_AUTH_SOCK', os.environ['SSH_AUTH_SOCK'] + '~' |
|
| 2520 |
- ) |
|
| 2517 |
+ mp.setenv('SSH_AUTH_SOCK', os.environ['SSH_AUTH_SOCK'] + '~')
|
|
| 2521 | 2518 |
with pytest.raises( |
| 2522 | 2519 |
CustomError, match='Cannot connect to SSH agent' |
| 2523 | 2520 |
): |
| ... | ... |
@@ -3043,7 +3040,7 @@ class ConfigManagementStateMachine(stateful.RuleBasedStateMachine): |
| 3043 | 3040 |
_vault_full_config, |
| 3044 | 3041 |
min_size=4, |
| 3045 | 3042 |
max_size=4, |
| 3046 |
- ) |
|
| 3043 |
+ ), |
|
| 3047 | 3044 |
) |
| 3048 | 3045 |
def extract_initial_settings( |
| 3049 | 3046 |
self, |
| ... | ... |
@@ -47,17 +47,17 @@ class TestStaticFunctionality: |
| 47 | 47 |
['line', 'env_name', 'value'], |
| 48 | 48 |
[ |
| 49 | 49 |
( |
| 50 |
- 'SSH_AUTH_SOCK=/tmp/pageant.user/pageant.27170; export SSH_AUTH_SOCK;', # noqa: E501 |
|
| 50 |
+ 'SSH_AUTH_SOCK=/tmp/pageant.user/pageant.27170; export SSH_AUTH_SOCK;', |
|
| 51 | 51 |
'SSH_AUTH_SOCK', |
| 52 | 52 |
'/tmp/pageant.user/pageant.27170', |
| 53 | 53 |
), |
| 54 | 54 |
( |
| 55 |
- 'SSH_AUTH_SOCK=/tmp/ssh-3CSTC1W5M22A/agent.27270; export SSH_AUTH_SOCK;', # noqa: E501 |
|
| 55 |
+ 'SSH_AUTH_SOCK=/tmp/ssh-3CSTC1W5M22A/agent.27270; export SSH_AUTH_SOCK;', |
|
| 56 | 56 |
'SSH_AUTH_SOCK', |
| 57 | 57 |
'/tmp/ssh-3CSTC1W5M22A/agent.27270', |
| 58 | 58 |
), |
| 59 | 59 |
( |
| 60 |
- 'SSH_AUTH_SOCK=/tmp/pageant.user/pageant.27170; export SSH_AUTH_SOCK', # noqa: E501 |
|
| 60 |
+ 'SSH_AUTH_SOCK=/tmp/pageant.user/pageant.27170; export SSH_AUTH_SOCK', |
|
| 61 | 61 |
'SSH_AUTH_SOCK', |
| 62 | 62 |
'/tmp/pageant.user/pageant.27170', |
| 63 | 63 |
), |
| 64 | 64 |