Update copyright notices to...
Marco Ricci authored 2 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 1) # SPDX-FileCopyrightText: 2025 Marco Ricci <software@the13thletter.info>
|
Move exporter command-line...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 2) #
|
Update copyright notices to...
Marco Ricci authored 2 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 3) # SPDX-License-Identifier: Zlib
|
Move exporter command-line...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 4)
tests/test_derivepassphrase_exporter_cli.py 5) from __future__ import annotations
tests/test_derivepassphrase_exporter_cli.py 6)
|
Rename vault v0.2/v0.3 clas...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 7) import base64
|
Refactor code to run under...
Marco Ricci authored 3 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 8) import contextlib
|
Move exporter command-line...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 9) import json
|
Harmonize the interface for...
Marco Ricci authored 2 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 10) import os
|
Test exporter data loading...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 11) from typing import TYPE_CHECKING
|
Move exporter command-line...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 12)
tests/test_derivepassphrase_exporter_cli.py 13) import click.testing
|
Trigger InvalidSignature ex...
Marco Ricci authored 5 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 14) import hypothesis
|
Move exporter command-line...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 15) import pytest
|
Trigger InvalidSignature ex...
Marco Ricci authored 5 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 16) from hypothesis import strategies
|
Move exporter command-line...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 17)
tests/test_derivepassphrase_exporter_cli.py 18) import tests
|
Harmonize the interface for...
Marco Ricci authored 2 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 19) from derivepassphrase import _types, cli, exporter
|
Reintegrate all functionali...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 20) from derivepassphrase.exporter import storeroom, vault_native
|
Move exporter command-line...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 21)
tests/test_derivepassphrase_exporter_cli.py 22) cryptography = pytest.importorskip('cryptography', minversion='38.0')
tests/test_derivepassphrase_exporter_cli.py 23)
|
Add remaining tests to the...
Marco Ricci authored 5 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 24) from cryptography.hazmat.primitives import ( # noqa: E402
tests/test_derivepassphrase_cli_export_vault.py 25) ciphers,
tests/test_derivepassphrase_cli_export_vault.py 26) hashes,
tests/test_derivepassphrase_cli_export_vault.py 27) hmac,
tests/test_derivepassphrase_cli_export_vault.py 28) padding,
tests/test_derivepassphrase_cli_export_vault.py 29) )
tests/test_derivepassphrase_cli_export_vault.py 30) from cryptography.hazmat.primitives.ciphers import ( # noqa: E402
tests/test_derivepassphrase_cli_export_vault.py 31) algorithms,
tests/test_derivepassphrase_cli_export_vault.py 32) modes,
tests/test_derivepassphrase_cli_export_vault.py 33) )
tests/test_derivepassphrase_cli_export_vault.py 34)
|
Test exporter data loading...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 35) if TYPE_CHECKING:
|
Rename vault v0.2/v0.3 clas...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 36) from collections.abc import Callable
|
Test exporter data loading...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 37) from typing import Any
tests/test_derivepassphrase_exporter_cli.py 38)
|
Harmonize the interface for...
Marco Ricci authored 2 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 39) from typing_extensions import Buffer, Literal
tests/test_derivepassphrase_cli_export_vault.py 40)
|
Move exporter command-line...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 41)
tests/test_derivepassphrase_exporter_cli.py 42) class TestCLI:
tests/test_derivepassphrase_exporter_cli.py 43) def test_200_path_parameter(self, monkeypatch: pytest.MonkeyPatch) -> None:
tests/test_derivepassphrase_exporter_cli.py 44) runner = click.testing.CliRunner(mix_stderr=False)
tests/test_derivepassphrase_exporter_cli.py 45) with tests.isolated_vault_exporter_config(
tests/test_derivepassphrase_exporter_cli.py 46) monkeypatch=monkeypatch,
tests/test_derivepassphrase_exporter_cli.py 47) runner=runner,
tests/test_derivepassphrase_exporter_cli.py 48) vault_config=tests.VAULT_V03_CONFIG,
tests/test_derivepassphrase_exporter_cli.py 49) vault_key=tests.VAULT_MASTER_KEY,
tests/test_derivepassphrase_exporter_cli.py 50) ):
tests/test_derivepassphrase_exporter_cli.py 51) monkeypatch.setenv('VAULT_KEY', tests.VAULT_MASTER_KEY)
|
Update ruff to v0.8.x, refo...
Marco Ricci authored 2 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 52) result_ = runner.invoke(
|
Reintegrate all functionali...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 53) cli.derivepassphrase_export_vault,
|
Move exporter command-line...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 54) ['VAULT_PATH'],
tests/test_derivepassphrase_exporter_cli.py 55) )
|
Update ruff to v0.8.x, refo...
Marco Ricci authored 2 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 56) result = tests.ReadableResult.parse(result_)
|
Clean up testing machinery...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 57) assert result.clean_exit(empty_stderr=True), 'expected clean exit'
tests/test_derivepassphrase_exporter_cli.py 58) assert json.loads(result.output) == tests.VAULT_V03_CONFIG_DATA
|
Move exporter command-line...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 59)
tests/test_derivepassphrase_exporter_cli.py 60) def test_201_key_parameter(self, monkeypatch: pytest.MonkeyPatch) -> None:
tests/test_derivepassphrase_exporter_cli.py 61) runner = click.testing.CliRunner(mix_stderr=False)
tests/test_derivepassphrase_exporter_cli.py 62) with tests.isolated_vault_exporter_config(
tests/test_derivepassphrase_exporter_cli.py 63) monkeypatch=monkeypatch,
tests/test_derivepassphrase_exporter_cli.py 64) runner=runner,
tests/test_derivepassphrase_exporter_cli.py 65) vault_config=tests.VAULT_V03_CONFIG,
tests/test_derivepassphrase_exporter_cli.py 66) ):
|
Update ruff to v0.8.x, refo...
Marco Ricci authored 2 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 67) result_ = runner.invoke(
|
Reintegrate all functionali...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 68) cli.derivepassphrase_export_vault,
|
Move exporter command-line...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 69) ['-k', tests.VAULT_MASTER_KEY, '.vault'],
tests/test_derivepassphrase_exporter_cli.py 70) )
|
Update ruff to v0.8.x, refo...
Marco Ricci authored 2 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 71) result = tests.ReadableResult.parse(result_)
|
Clean up testing machinery...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 72) assert result.clean_exit(empty_stderr=True), 'expected clean exit'
tests/test_derivepassphrase_exporter_cli.py 73) assert json.loads(result.output) == tests.VAULT_V03_CONFIG_DATA
|
Move exporter command-line...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 74)
tests/test_derivepassphrase_exporter_cli.py 75) @pytest.mark.parametrize(
tests/test_derivepassphrase_exporter_cli.py 76) ['format', 'config', 'config_data'],
tests/test_derivepassphrase_exporter_cli.py 77) [
tests/test_derivepassphrase_exporter_cli.py 78) pytest.param(
tests/test_derivepassphrase_exporter_cli.py 79) 'v0.2',
tests/test_derivepassphrase_exporter_cli.py 80) tests.VAULT_V02_CONFIG,
tests/test_derivepassphrase_exporter_cli.py 81) tests.VAULT_V02_CONFIG_DATA,
tests/test_derivepassphrase_exporter_cli.py 82) id='0.2',
tests/test_derivepassphrase_exporter_cli.py 83) ),
tests/test_derivepassphrase_exporter_cli.py 84) pytest.param(
tests/test_derivepassphrase_exporter_cli.py 85) 'v0.3',
tests/test_derivepassphrase_exporter_cli.py 86) tests.VAULT_V03_CONFIG,
tests/test_derivepassphrase_exporter_cli.py 87) tests.VAULT_V03_CONFIG_DATA,
tests/test_derivepassphrase_exporter_cli.py 88) id='0.3',
tests/test_derivepassphrase_exporter_cli.py 89) ),
tests/test_derivepassphrase_exporter_cli.py 90) pytest.param(
tests/test_derivepassphrase_exporter_cli.py 91) 'storeroom',
tests/test_derivepassphrase_exporter_cli.py 92) tests.VAULT_STOREROOM_CONFIG_ZIPPED,
tests/test_derivepassphrase_exporter_cli.py 93) tests.VAULT_STOREROOM_CONFIG_DATA,
tests/test_derivepassphrase_exporter_cli.py 94) id='storeroom',
tests/test_derivepassphrase_exporter_cli.py 95) ),
tests/test_derivepassphrase_exporter_cli.py 96) ],
tests/test_derivepassphrase_exporter_cli.py 97) )
tests/test_derivepassphrase_exporter_cli.py 98) def test_210_load_vault_v02_v03_storeroom(
tests/test_derivepassphrase_exporter_cli.py 99) self,
tests/test_derivepassphrase_exporter_cli.py 100) monkeypatch: pytest.MonkeyPatch,
tests/test_derivepassphrase_exporter_cli.py 101) format: str,
tests/test_derivepassphrase_exporter_cli.py 102) config: str | bytes,
tests/test_derivepassphrase_exporter_cli.py 103) config_data: dict[str, Any],
tests/test_derivepassphrase_exporter_cli.py 104) ) -> None:
tests/test_derivepassphrase_exporter_cli.py 105) runner = click.testing.CliRunner(mix_stderr=False)
tests/test_derivepassphrase_exporter_cli.py 106) with tests.isolated_vault_exporter_config(
tests/test_derivepassphrase_exporter_cli.py 107) monkeypatch=monkeypatch,
tests/test_derivepassphrase_exporter_cli.py 108) runner=runner,
tests/test_derivepassphrase_exporter_cli.py 109) vault_config=config,
tests/test_derivepassphrase_exporter_cli.py 110) ):
|
Update ruff to v0.8.x, refo...
Marco Ricci authored 2 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 111) result_ = runner.invoke(
|
Reintegrate all functionali...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 112) cli.derivepassphrase_export_vault,
|
Move exporter command-line...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 113) ['-f', format, '-k', tests.VAULT_MASTER_KEY, 'VAULT_PATH'],
tests/test_derivepassphrase_exporter_cli.py 114) )
|
Update ruff to v0.8.x, refo...
Marco Ricci authored 2 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 115) result = tests.ReadableResult.parse(result_)
|
Clean up testing machinery...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 116) assert result.clean_exit(empty_stderr=True), 'expected clean exit'
tests/test_derivepassphrase_exporter_cli.py 117) assert json.loads(result.output) == config_data
|
Move exporter command-line...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 118)
tests/test_derivepassphrase_exporter_cli.py 119) # test_300_invalid_format is found in
tests/test_derivepassphrase_exporter_cli.py 120) # tests.test_derivepassphrase_export::Test002CLI
tests/test_derivepassphrase_exporter_cli.py 121)
tests/test_derivepassphrase_exporter_cli.py 122) def test_301_vault_config_not_found(
tests/test_derivepassphrase_exporter_cli.py 123) self,
tests/test_derivepassphrase_exporter_cli.py 124) monkeypatch: pytest.MonkeyPatch,
|
Adapt the test suite to use...
Marco Ricci authored 3 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 125) caplog: pytest.LogCaptureFixture,
|
Move exporter command-line...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 126) ) -> None:
tests/test_derivepassphrase_exporter_cli.py 127) runner = click.testing.CliRunner(mix_stderr=False)
tests/test_derivepassphrase_exporter_cli.py 128) with tests.isolated_vault_exporter_config(
tests/test_derivepassphrase_exporter_cli.py 129) monkeypatch=monkeypatch,
tests/test_derivepassphrase_exporter_cli.py 130) runner=runner,
tests/test_derivepassphrase_exporter_cli.py 131) vault_config=tests.VAULT_V03_CONFIG,
tests/test_derivepassphrase_exporter_cli.py 132) vault_key=tests.VAULT_MASTER_KEY,
tests/test_derivepassphrase_exporter_cli.py 133) ):
|
Update ruff to v0.8.x, refo...
Marco Ricci authored 2 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 134) result_ = runner.invoke(
|
Reintegrate all functionali...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 135) cli.derivepassphrase_export_vault,
|
Move exporter command-line...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 136) ['does-not-exist.txt'],
tests/test_derivepassphrase_exporter_cli.py 137) )
|
Update ruff to v0.8.x, refo...
Marco Ricci authored 2 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 138) result = tests.ReadableResult.parse(result_)
|
Clean up testing machinery...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 139) assert result.error_exit(
|
Replace strings in `derivep...
Marco Ricci authored 2 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 140) error=(
tests/test_derivepassphrase_cli_export_vault.py 141) "Cannot parse 'does-not-exist.txt' "
|
Format everything with ruff...
Marco Ricci authored 2 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 142) 'as a valid vault-native config'
|
Replace strings in `derivep...
Marco Ricci authored 2 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 143) ),
|
Adapt the test suite to use...
Marco Ricci authored 3 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 144) record_tuples=caplog.record_tuples,
|
Clean up testing machinery...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 145) ), 'expected error exit and known error message'
tests/test_derivepassphrase_exporter_cli.py 146) assert tests.CANNOT_LOAD_CRYPTOGRAPHY not in result.stderr
|
Move exporter command-line...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 147)
tests/test_derivepassphrase_exporter_cli.py 148) def test_302_vault_config_invalid(
tests/test_derivepassphrase_exporter_cli.py 149) self,
tests/test_derivepassphrase_exporter_cli.py 150) monkeypatch: pytest.MonkeyPatch,
|
Adapt the test suite to use...
Marco Ricci authored 3 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 151) caplog: pytest.LogCaptureFixture,
|
Move exporter command-line...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 152) ) -> None:
tests/test_derivepassphrase_exporter_cli.py 153) runner = click.testing.CliRunner(mix_stderr=False)
tests/test_derivepassphrase_exporter_cli.py 154) with tests.isolated_vault_exporter_config(
tests/test_derivepassphrase_exporter_cli.py 155) monkeypatch=monkeypatch,
tests/test_derivepassphrase_exporter_cli.py 156) runner=runner,
tests/test_derivepassphrase_exporter_cli.py 157) vault_config='',
tests/test_derivepassphrase_exporter_cli.py 158) vault_key=tests.VAULT_MASTER_KEY,
tests/test_derivepassphrase_exporter_cli.py 159) ):
|
Update ruff to v0.8.x, refo...
Marco Ricci authored 2 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 160) result_ = runner.invoke(
|
Reintegrate all functionali...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 161) cli.derivepassphrase_export_vault,
|
Move exporter command-line...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 162) ['.vault'],
tests/test_derivepassphrase_exporter_cli.py 163) )
|
Update ruff to v0.8.x, refo...
Marco Ricci authored 2 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 164) result = tests.ReadableResult.parse(result_)
|
Clean up testing machinery...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 165) assert result.error_exit(
|
Replace strings in `derivep...
Marco Ricci authored 2 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 166) error="Cannot parse '.vault' as a valid vault-native config",
|
Adapt the test suite to use...
Marco Ricci authored 3 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 167) record_tuples=caplog.record_tuples,
|
Clean up testing machinery...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 168) ), 'expected error exit and known error message'
tests/test_derivepassphrase_exporter_cli.py 169) assert tests.CANNOT_LOAD_CRYPTOGRAPHY not in result.stderr
|
Test exporter data loading...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 170)
|
Harmonize the interface for...
Marco Ricci authored 2 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 171) def test_302a_vault_config_invalid_just_a_directory(
tests/test_derivepassphrase_cli_export_vault.py 172) self,
tests/test_derivepassphrase_cli_export_vault.py 173) monkeypatch: pytest.MonkeyPatch,
tests/test_derivepassphrase_cli_export_vault.py 174) caplog: pytest.LogCaptureFixture,
tests/test_derivepassphrase_cli_export_vault.py 175) ) -> None:
tests/test_derivepassphrase_cli_export_vault.py 176) runner = click.testing.CliRunner(mix_stderr=False)
tests/test_derivepassphrase_cli_export_vault.py 177) with tests.isolated_vault_exporter_config(
tests/test_derivepassphrase_cli_export_vault.py 178) monkeypatch=monkeypatch,
tests/test_derivepassphrase_cli_export_vault.py 179) runner=runner,
tests/test_derivepassphrase_cli_export_vault.py 180) vault_config='',
tests/test_derivepassphrase_cli_export_vault.py 181) vault_key=tests.VAULT_MASTER_KEY,
tests/test_derivepassphrase_cli_export_vault.py 182) ):
tests/test_derivepassphrase_cli_export_vault.py 183) os.remove('.vault')
tests/test_derivepassphrase_cli_export_vault.py 184) os.mkdir('.vault')
tests/test_derivepassphrase_cli_export_vault.py 185) result_ = runner.invoke(
tests/test_derivepassphrase_cli_export_vault.py 186) cli.derivepassphrase_export_vault,
tests/test_derivepassphrase_cli_export_vault.py 187) ['.vault'],
tests/test_derivepassphrase_cli_export_vault.py 188) )
tests/test_derivepassphrase_cli_export_vault.py 189) result = tests.ReadableResult.parse(result_)
tests/test_derivepassphrase_cli_export_vault.py 190) assert result.error_exit(
tests/test_derivepassphrase_cli_export_vault.py 191) error="Cannot parse '.vault' as a valid vault-native config",
tests/test_derivepassphrase_cli_export_vault.py 192) record_tuples=caplog.record_tuples,
tests/test_derivepassphrase_cli_export_vault.py 193) ), 'expected error exit and known error message'
tests/test_derivepassphrase_cli_export_vault.py 194) assert tests.CANNOT_LOAD_CRYPTOGRAPHY not in result.stderr
tests/test_derivepassphrase_cli_export_vault.py 195)
|
Test exporter data loading...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 196) def test_403_invalid_vault_config_bad_signature(
tests/test_derivepassphrase_exporter_cli.py 197) self,
tests/test_derivepassphrase_exporter_cli.py 198) monkeypatch: pytest.MonkeyPatch,
|
Adapt the test suite to use...
Marco Ricci authored 3 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 199) caplog: pytest.LogCaptureFixture,
|
Test exporter data loading...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 200) ) -> None:
tests/test_derivepassphrase_exporter_cli.py 201) runner = click.testing.CliRunner(mix_stderr=False)
tests/test_derivepassphrase_exporter_cli.py 202) with tests.isolated_vault_exporter_config(
tests/test_derivepassphrase_exporter_cli.py 203) monkeypatch=monkeypatch,
tests/test_derivepassphrase_exporter_cli.py 204) runner=runner,
tests/test_derivepassphrase_exporter_cli.py 205) vault_config=tests.VAULT_V02_CONFIG,
tests/test_derivepassphrase_exporter_cli.py 206) vault_key=tests.VAULT_MASTER_KEY,
tests/test_derivepassphrase_exporter_cli.py 207) ):
|
Update ruff to v0.8.x, refo...
Marco Ricci authored 2 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 208) result_ = runner.invoke(
|
Reintegrate all functionali...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 209) cli.derivepassphrase_export_vault,
|
Test exporter data loading...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 210) ['-f', 'v0.3', '.vault'],
tests/test_derivepassphrase_exporter_cli.py 211) )
|
Update ruff to v0.8.x, refo...
Marco Ricci authored 2 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 212) result = tests.ReadableResult.parse(result_)
|
Clean up testing machinery...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 213) assert result.error_exit(
|
Replace strings in `derivep...
Marco Ricci authored 2 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 214) error="Cannot parse '.vault' as a valid vault-native config",
|
Adapt the test suite to use...
Marco Ricci authored 3 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 215) record_tuples=caplog.record_tuples,
|
Clean up testing machinery...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 216) ), 'expected error exit and known error message'
tests/test_derivepassphrase_exporter_cli.py 217) assert tests.CANNOT_LOAD_CRYPTOGRAPHY not in result.stderr
|
Test exporter data loading...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 218)
tests/test_derivepassphrase_exporter_cli.py 219) def test_500_vault_config_invalid_internal(
tests/test_derivepassphrase_exporter_cli.py 220) self,
tests/test_derivepassphrase_exporter_cli.py 221) monkeypatch: pytest.MonkeyPatch,
|
Adapt the test suite to use...
Marco Ricci authored 3 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 222) caplog: pytest.LogCaptureFixture,
|
Test exporter data loading...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 223) ) -> None:
tests/test_derivepassphrase_exporter_cli.py 224) runner = click.testing.CliRunner(mix_stderr=False)
tests/test_derivepassphrase_exporter_cli.py 225) with tests.isolated_vault_exporter_config(
tests/test_derivepassphrase_exporter_cli.py 226) monkeypatch=monkeypatch,
tests/test_derivepassphrase_exporter_cli.py 227) runner=runner,
tests/test_derivepassphrase_exporter_cli.py 228) vault_config=tests.VAULT_V03_CONFIG,
tests/test_derivepassphrase_exporter_cli.py 229) vault_key=tests.VAULT_MASTER_KEY,
tests/test_derivepassphrase_exporter_cli.py 230) ):
tests/test_derivepassphrase_exporter_cli.py 231)
|
Harmonize the interface for...
Marco Ricci authored 2 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 232) def export_vault_config_data(*_args: Any, **_kwargs: Any) -> None:
|
Test exporter data loading...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 233) return None
tests/test_derivepassphrase_exporter_cli.py 234)
|
Harmonize the interface for...
Marco Ricci authored 2 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 235) monkeypatch.setattr(
tests/test_derivepassphrase_cli_export_vault.py 236) exporter,
tests/test_derivepassphrase_cli_export_vault.py 237) 'export_vault_config_data',
tests/test_derivepassphrase_cli_export_vault.py 238) export_vault_config_data,
tests/test_derivepassphrase_cli_export_vault.py 239) )
|
Update ruff to v0.8.x, refo...
Marco Ricci authored 2 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 240) result_ = runner.invoke(
|
Reintegrate all functionali...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 241) cli.derivepassphrase_export_vault,
|
Test exporter data loading...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 242) ['.vault'],
tests/test_derivepassphrase_exporter_cli.py 243) )
|
Update ruff to v0.8.x, refo...
Marco Ricci authored 2 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 244) result = tests.ReadableResult.parse(result_)
|
Clean up testing machinery...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 245) assert result.error_exit(
|
Adapt the test suite to use...
Marco Ricci authored 3 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 246) error='Invalid vault config: ',
tests/test_derivepassphrase_cli_export_vault.py 247) record_tuples=caplog.record_tuples,
|
Clean up testing machinery...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 248) ), 'expected error exit and known error message'
tests/test_derivepassphrase_exporter_cli.py 249) assert tests.CANNOT_LOAD_CRYPTOGRAPHY not in result.stderr
|
Add more tests of the store...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 250)
tests/test_derivepassphrase_exporter_cli.py 251)
tests/test_derivepassphrase_exporter_cli.py 252) class TestStoreroom:
|
Harmonize the interface for...
Marco Ricci authored 2 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 253) @pytest.mark.parametrize('path', ['.vault', None])
|
Add more tests of the store...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 254) @pytest.mark.parametrize(
|
Harmonize the interface for...
Marco Ricci authored 2 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 255) 'key',
|
Add more tests of the store...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 256) [
|
Harmonize the interface for...
Marco Ricci authored 2 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 257) None,
tests/test_derivepassphrase_cli_export_vault.py 258) pytest.param(tests.VAULT_MASTER_KEY, id='str'),
tests/test_derivepassphrase_cli_export_vault.py 259) pytest.param(tests.VAULT_MASTER_KEY.encode('ascii'), id='bytes'),
tests/test_derivepassphrase_cli_export_vault.py 260) pytest.param(
tests/test_derivepassphrase_cli_export_vault.py 261) bytearray(tests.VAULT_MASTER_KEY.encode('ascii')),
tests/test_derivepassphrase_cli_export_vault.py 262) id='bytearray',
tests/test_derivepassphrase_cli_export_vault.py 263) ),
tests/test_derivepassphrase_cli_export_vault.py 264) pytest.param(
tests/test_derivepassphrase_cli_export_vault.py 265) memoryview(tests.VAULT_MASTER_KEY.encode('ascii')),
tests/test_derivepassphrase_cli_export_vault.py 266) id='memoryview',
tests/test_derivepassphrase_cli_export_vault.py 267) ),
|
Add more tests of the store...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 268) ],
tests/test_derivepassphrase_exporter_cli.py 269) )
tests/test_derivepassphrase_exporter_cli.py 270) def test_200_export_data_path_and_keys_type(
tests/test_derivepassphrase_exporter_cli.py 271) self,
tests/test_derivepassphrase_exporter_cli.py 272) monkeypatch: pytest.MonkeyPatch,
tests/test_derivepassphrase_exporter_cli.py 273) path: str | None,
|
Harmonize the interface for...
Marco Ricci authored 2 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 274) key: str | Buffer | None,
|
Add more tests of the store...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 275) ) -> None:
tests/test_derivepassphrase_exporter_cli.py 276) runner = click.testing.CliRunner(mix_stderr=False)
tests/test_derivepassphrase_exporter_cli.py 277) with tests.isolated_vault_exporter_config(
tests/test_derivepassphrase_exporter_cli.py 278) monkeypatch=monkeypatch,
tests/test_derivepassphrase_exporter_cli.py 279) runner=runner,
tests/test_derivepassphrase_exporter_cli.py 280) vault_config=tests.VAULT_STOREROOM_CONFIG_ZIPPED,
tests/test_derivepassphrase_exporter_cli.py 281) vault_key=tests.VAULT_MASTER_KEY,
tests/test_derivepassphrase_exporter_cli.py 282) ):
tests/test_derivepassphrase_exporter_cli.py 283) assert (
tests/test_derivepassphrase_exporter_cli.py 284) storeroom.export_storeroom_data(path, key)
tests/test_derivepassphrase_exporter_cli.py 285) == tests.VAULT_STOREROOM_CONFIG_DATA
tests/test_derivepassphrase_exporter_cli.py 286) )
tests/test_derivepassphrase_exporter_cli.py 287)
tests/test_derivepassphrase_exporter_cli.py 288) def test_400_decrypt_bucket_item_unknown_version(self) -> None:
tests/test_derivepassphrase_exporter_cli.py 289) bucket_item = (
tests/test_derivepassphrase_exporter_cli.py 290) b'\xff' + bytes(storeroom.ENCRYPTED_KEYPAIR_SIZE) + bytes(3)
tests/test_derivepassphrase_exporter_cli.py 291) )
tests/test_derivepassphrase_exporter_cli.py 292) master_keys: storeroom.MasterKeys = {
tests/test_derivepassphrase_exporter_cli.py 293) 'encryption_key': bytes(storeroom.KEY_SIZE),
tests/test_derivepassphrase_exporter_cli.py 294) 'signing_key': bytes(storeroom.KEY_SIZE),
tests/test_derivepassphrase_exporter_cli.py 295) 'hashing_key': bytes(storeroom.KEY_SIZE),
tests/test_derivepassphrase_exporter_cli.py 296) }
|
Apply new ruff ruleset to c...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 297) with pytest.raises(ValueError, match='Cannot handle version 255'):
|
Add more tests of the store...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 298) storeroom.decrypt_bucket_item(bucket_item, master_keys)
tests/test_derivepassphrase_exporter_cli.py 299)
tests/test_derivepassphrase_exporter_cli.py 300) @pytest.mark.parametrize('config', ['xxx', 'null', '{"version": 255}'])
tests/test_derivepassphrase_exporter_cli.py 301) def test_401_decrypt_bucket_file_bad_json_or_version(
tests/test_derivepassphrase_exporter_cli.py 302) self,
tests/test_derivepassphrase_exporter_cli.py 303) monkeypatch: pytest.MonkeyPatch,
tests/test_derivepassphrase_exporter_cli.py 304) config: str,
tests/test_derivepassphrase_exporter_cli.py 305) ) -> None:
tests/test_derivepassphrase_exporter_cli.py 306) runner = click.testing.CliRunner(mix_stderr=False)
tests/test_derivepassphrase_exporter_cli.py 307) master_keys: storeroom.MasterKeys = {
tests/test_derivepassphrase_exporter_cli.py 308) 'encryption_key': bytes(storeroom.KEY_SIZE),
tests/test_derivepassphrase_exporter_cli.py 309) 'signing_key': bytes(storeroom.KEY_SIZE),
tests/test_derivepassphrase_exporter_cli.py 310) 'hashing_key': bytes(storeroom.KEY_SIZE),
tests/test_derivepassphrase_exporter_cli.py 311) }
|
Refactor code to run under...
Marco Ricci authored 3 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 312) with tests.isolated_vault_exporter_config(
tests/test_derivepassphrase_cli_export_vault.py 313) monkeypatch=monkeypatch,
tests/test_derivepassphrase_cli_export_vault.py 314) runner=runner,
tests/test_derivepassphrase_cli_export_vault.py 315) vault_config=tests.VAULT_STOREROOM_CONFIG_ZIPPED,
|
Add more tests of the store...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 316) ):
tests/test_derivepassphrase_exporter_cli.py 317) with open('.vault/20', 'w', encoding='UTF-8') as outfile:
tests/test_derivepassphrase_exporter_cli.py 318) print(config, file=outfile)
|
Apply new ruff ruleset to c...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 319) with pytest.raises(ValueError, match='Invalid bucket file: '):
|
Add more tests of the store...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 320) list(storeroom.decrypt_bucket_file('.vault/20', master_keys))
tests/test_derivepassphrase_exporter_cli.py 321)
tests/test_derivepassphrase_exporter_cli.py 322) @pytest.mark.parametrize(
tests/test_derivepassphrase_exporter_cli.py 323) ['data', 'err_msg'],
tests/test_derivepassphrase_exporter_cli.py 324) [
tests/test_derivepassphrase_exporter_cli.py 325) ('{"version": 255}', 'bad or unsupported keys version header'),
tests/test_derivepassphrase_exporter_cli.py 326) ('{"version": 1}\nAAAA\nAAAA', 'trailing data; cannot make sense'),
tests/test_derivepassphrase_exporter_cli.py 327) ('{"version": 1}\nAAAA', 'cannot handle version 0 encrypted keys'),
tests/test_derivepassphrase_exporter_cli.py 328) ],
tests/test_derivepassphrase_exporter_cli.py 329) )
tests/test_derivepassphrase_exporter_cli.py 330) def test_402_export_storeroom_data_bad_master_keys_file(
tests/test_derivepassphrase_exporter_cli.py 331) self,
tests/test_derivepassphrase_exporter_cli.py 332) monkeypatch: pytest.MonkeyPatch,
tests/test_derivepassphrase_exporter_cli.py 333) data: str,
tests/test_derivepassphrase_exporter_cli.py 334) err_msg: str,
tests/test_derivepassphrase_exporter_cli.py 335) ) -> None:
tests/test_derivepassphrase_exporter_cli.py 336) runner = click.testing.CliRunner(mix_stderr=False)
|
Refactor code to run under...
Marco Ricci authored 3 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 337) with tests.isolated_vault_exporter_config(
tests/test_derivepassphrase_cli_export_vault.py 338) monkeypatch=monkeypatch,
tests/test_derivepassphrase_cli_export_vault.py 339) runner=runner,
tests/test_derivepassphrase_cli_export_vault.py 340) vault_config=tests.VAULT_STOREROOM_CONFIG_ZIPPED,
tests/test_derivepassphrase_cli_export_vault.py 341) vault_key=tests.VAULT_MASTER_KEY,
|
Add more tests of the store...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 342) ):
tests/test_derivepassphrase_exporter_cli.py 343) with open('.vault/.keys', 'w', encoding='UTF-8') as outfile:
tests/test_derivepassphrase_exporter_cli.py 344) print(data, file=outfile)
tests/test_derivepassphrase_exporter_cli.py 345) with pytest.raises(RuntimeError, match=err_msg):
tests/test_derivepassphrase_exporter_cli.py 346) storeroom.export_storeroom_data()
tests/test_derivepassphrase_exporter_cli.py 347)
|
Add remaining tests to the...
Marco Ricci authored 5 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 348) @pytest.mark.parametrize(
tests/test_derivepassphrase_cli_export_vault.py 349) ['zipped_config', 'error_text'],
tests/test_derivepassphrase_cli_export_vault.py 350) [
tests/test_derivepassphrase_cli_export_vault.py 351) pytest.param(
tests/test_derivepassphrase_cli_export_vault.py 352) tests.VAULT_STOREROOM_BROKEN_DIR_CONFIG_ZIPPED,
tests/test_derivepassphrase_cli_export_vault.py 353) 'Object key mismatch',
tests/test_derivepassphrase_cli_export_vault.py 354) id='VAULT_STOREROOM_BROKEN_DIR_CONFIG_ZIPPED',
tests/test_derivepassphrase_cli_export_vault.py 355) ),
tests/test_derivepassphrase_cli_export_vault.py 356) pytest.param(
tests/test_derivepassphrase_cli_export_vault.py 357) tests.VAULT_STOREROOM_BROKEN_DIR_CONFIG_ZIPPED2,
tests/test_derivepassphrase_cli_export_vault.py 358) 'Directory index is not actually an index',
tests/test_derivepassphrase_cli_export_vault.py 359) id='VAULT_STOREROOM_BROKEN_DIR_CONFIG_ZIPPED2',
tests/test_derivepassphrase_cli_export_vault.py 360) ),
tests/test_derivepassphrase_cli_export_vault.py 361) pytest.param(
tests/test_derivepassphrase_cli_export_vault.py 362) tests.VAULT_STOREROOM_BROKEN_DIR_CONFIG_ZIPPED3,
tests/test_derivepassphrase_cli_export_vault.py 363) 'Directory index is not actually an index',
tests/test_derivepassphrase_cli_export_vault.py 364) id='VAULT_STOREROOM_BROKEN_DIR_CONFIG_ZIPPED3',
tests/test_derivepassphrase_cli_export_vault.py 365) ),
tests/test_derivepassphrase_cli_export_vault.py 366) pytest.param(
tests/test_derivepassphrase_cli_export_vault.py 367) tests.VAULT_STOREROOM_BROKEN_DIR_CONFIG_ZIPPED4,
tests/test_derivepassphrase_cli_export_vault.py 368) 'Object key mismatch',
tests/test_derivepassphrase_cli_export_vault.py 369) id='VAULT_STOREROOM_BROKEN_DIR_CONFIG_ZIPPED4',
tests/test_derivepassphrase_cli_export_vault.py 370) ),
tests/test_derivepassphrase_cli_export_vault.py 371) ],
tests/test_derivepassphrase_cli_export_vault.py 372) )
|
Add more tests of the store...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 373) def test_403_export_storeroom_data_bad_directory_listing(
tests/test_derivepassphrase_exporter_cli.py 374) self,
tests/test_derivepassphrase_exporter_cli.py 375) monkeypatch: pytest.MonkeyPatch,
|
Add remaining tests to the...
Marco Ricci authored 5 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 376) zipped_config: bytes,
tests/test_derivepassphrase_cli_export_vault.py 377) error_text: str,
|
Add more tests of the store...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 378) ) -> None:
tests/test_derivepassphrase_exporter_cli.py 379) runner = click.testing.CliRunner(mix_stderr=False)
|
Refactor code to run under...
Marco Ricci authored 3 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 380) # Use parenthesized context manager expressions once Python 3.9
tests/test_derivepassphrase_cli_export_vault.py 381) # becomes unsupported.
tests/test_derivepassphrase_cli_export_vault.py 382) with contextlib.ExitStack() as stack:
tests/test_derivepassphrase_cli_export_vault.py 383) stack.enter_context(
tests/test_derivepassphrase_cli_export_vault.py 384) tests.isolated_vault_exporter_config(
tests/test_derivepassphrase_cli_export_vault.py 385) monkeypatch=monkeypatch,
tests/test_derivepassphrase_cli_export_vault.py 386) runner=runner,
tests/test_derivepassphrase_cli_export_vault.py 387) vault_config=zipped_config,
tests/test_derivepassphrase_cli_export_vault.py 388) vault_key=tests.VAULT_MASTER_KEY,
tests/test_derivepassphrase_cli_export_vault.py 389) )
tests/test_derivepassphrase_cli_export_vault.py 390) )
tests/test_derivepassphrase_cli_export_vault.py 391) stack.enter_context(pytest.raises(RuntimeError, match=error_text))
|
Fix formatting and linting...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 392) storeroom.export_storeroom_data()
|
Rename vault v0.2/v0.3 clas...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 393)
|
Add remaining tests to the...
Marco Ricci authored 5 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 394) def test_404_decrypt_keys_wrong_data_length(self) -> None:
tests/test_derivepassphrase_cli_export_vault.py 395) payload = (
|
Update ruff to v0.8.x, refo...
Marco Ricci authored 2 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 396) b"Any text here, as long as it isn't exactly 64 or 96 bytes long."
|
Add remaining tests to the...
Marco Ricci authored 5 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 397) )
tests/test_derivepassphrase_cli_export_vault.py 398) assert len(payload) not in frozenset({
tests/test_derivepassphrase_cli_export_vault.py 399) 2 * storeroom.KEY_SIZE,
tests/test_derivepassphrase_cli_export_vault.py 400) 3 * storeroom.KEY_SIZE,
tests/test_derivepassphrase_cli_export_vault.py 401) })
tests/test_derivepassphrase_cli_export_vault.py 402) key = b'DEADBEEFdeadbeefDeAdBeEfdEaDbEeF'
tests/test_derivepassphrase_cli_export_vault.py 403) padder = padding.PKCS7(storeroom.IV_SIZE * 8).padder()
tests/test_derivepassphrase_cli_export_vault.py 404) plaintext = bytearray(padder.update(payload))
tests/test_derivepassphrase_cli_export_vault.py 405) plaintext.extend(padder.finalize())
tests/test_derivepassphrase_cli_export_vault.py 406) iv = b'deadbeefDEADBEEF'
tests/test_derivepassphrase_cli_export_vault.py 407) assert len(iv) == storeroom.IV_SIZE
tests/test_derivepassphrase_cli_export_vault.py 408) encryptor = ciphers.Cipher(
tests/test_derivepassphrase_cli_export_vault.py 409) algorithms.AES256(key), modes.CBC(iv)
tests/test_derivepassphrase_cli_export_vault.py 410) ).encryptor()
tests/test_derivepassphrase_cli_export_vault.py 411) ciphertext = bytearray(encryptor.update(plaintext))
tests/test_derivepassphrase_cli_export_vault.py 412) ciphertext.extend(encryptor.finalize())
tests/test_derivepassphrase_cli_export_vault.py 413) mac_obj = hmac.HMAC(key, hashes.SHA256())
tests/test_derivepassphrase_cli_export_vault.py 414) mac_obj.update(iv)
tests/test_derivepassphrase_cli_export_vault.py 415) mac_obj.update(ciphertext)
tests/test_derivepassphrase_cli_export_vault.py 416) data = iv + bytes(ciphertext) + mac_obj.finalize()
tests/test_derivepassphrase_cli_export_vault.py 417) with pytest.raises(
tests/test_derivepassphrase_cli_export_vault.py 418) ValueError,
tests/test_derivepassphrase_cli_export_vault.py 419) match=r'Invalid encrypted master keys payload',
tests/test_derivepassphrase_cli_export_vault.py 420) ):
tests/test_derivepassphrase_cli_export_vault.py 421) storeroom.decrypt_master_keys_data(
tests/test_derivepassphrase_cli_export_vault.py 422) data, {'encryption_key': key, 'signing_key': key}
tests/test_derivepassphrase_cli_export_vault.py 423) )
tests/test_derivepassphrase_cli_export_vault.py 424) with pytest.raises(
tests/test_derivepassphrase_cli_export_vault.py 425) ValueError,
tests/test_derivepassphrase_cli_export_vault.py 426) match=r'Invalid encrypted session keys payload',
tests/test_derivepassphrase_cli_export_vault.py 427) ):
tests/test_derivepassphrase_cli_export_vault.py 428) storeroom.decrypt_session_keys(
tests/test_derivepassphrase_cli_export_vault.py 429) data,
tests/test_derivepassphrase_cli_export_vault.py 430) {
tests/test_derivepassphrase_cli_export_vault.py 431) 'hashing_key': key,
tests/test_derivepassphrase_cli_export_vault.py 432) 'encryption_key': key,
tests/test_derivepassphrase_cli_export_vault.py 433) 'signing_key': key,
tests/test_derivepassphrase_cli_export_vault.py 434) },
tests/test_derivepassphrase_cli_export_vault.py 435) )
tests/test_derivepassphrase_cli_export_vault.py 436)
|
Trigger InvalidSignature ex...
Marco Ricci authored 5 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 437) @tests.hypothesis_settings_coverage_compatible
tests/test_derivepassphrase_cli_export_vault.py 438) @hypothesis.given(
tests/test_derivepassphrase_cli_export_vault.py 439) data=strategies.binary(
tests/test_derivepassphrase_cli_export_vault.py 440) min_size=storeroom.MAC_SIZE, max_size=storeroom.MAC_SIZE
tests/test_derivepassphrase_cli_export_vault.py 441) ),
tests/test_derivepassphrase_cli_export_vault.py 442) )
tests/test_derivepassphrase_cli_export_vault.py 443) def test_405_decrypt_keys_invalid_signature(self, data: bytes) -> None:
tests/test_derivepassphrase_cli_export_vault.py 444) key = b'DEADBEEFdeadbeefDeAdBeEfdEaDbEeF'
tests/test_derivepassphrase_cli_export_vault.py 445) # Guessing a correct payload plus MAC would be a pre-image
tests/test_derivepassphrase_cli_export_vault.py 446) # attack on the underlying hash function (SHA-256), i.e. is
tests/test_derivepassphrase_cli_export_vault.py 447) # computationally infeasible, and the chance of finding one by
tests/test_derivepassphrase_cli_export_vault.py 448) # such random sampling is astronomically tiny.
tests/test_derivepassphrase_cli_export_vault.py 449) with pytest.raises(cryptography.exceptions.InvalidSignature):
tests/test_derivepassphrase_cli_export_vault.py 450) storeroom.decrypt_master_keys_data(
tests/test_derivepassphrase_cli_export_vault.py 451) data, {'encryption_key': key, 'signing_key': key}
tests/test_derivepassphrase_cli_export_vault.py 452) )
tests/test_derivepassphrase_cli_export_vault.py 453) with pytest.raises(cryptography.exceptions.InvalidSignature):
tests/test_derivepassphrase_cli_export_vault.py 454) storeroom.decrypt_session_keys(
tests/test_derivepassphrase_cli_export_vault.py 455) data,
tests/test_derivepassphrase_cli_export_vault.py 456) {
tests/test_derivepassphrase_cli_export_vault.py 457) 'hashing_key': key,
tests/test_derivepassphrase_cli_export_vault.py 458) 'encryption_key': key,
tests/test_derivepassphrase_cli_export_vault.py 459) 'signing_key': key,
tests/test_derivepassphrase_cli_export_vault.py 460) },
tests/test_derivepassphrase_cli_export_vault.py 461) )
tests/test_derivepassphrase_cli_export_vault.py 462)
|
Rename vault v0.2/v0.3 clas...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 463)
tests/test_derivepassphrase_exporter_cli.py 464) class TestVaultNativeConfig:
tests/test_derivepassphrase_exporter_cli.py 465) @pytest.mark.parametrize(
tests/test_derivepassphrase_exporter_cli.py 466) ['iterations', 'result'],
tests/test_derivepassphrase_exporter_cli.py 467) [
tests/test_derivepassphrase_exporter_cli.py 468) (100, b'6ede361e81e9c061efcdd68aeb768b80'),
tests/test_derivepassphrase_exporter_cli.py 469) (200, b'bcc7d01e075b9ffb69e702bf701187c1'),
tests/test_derivepassphrase_exporter_cli.py 470) ],
tests/test_derivepassphrase_exporter_cli.py 471) )
tests/test_derivepassphrase_exporter_cli.py 472) def test_200_pbkdf2_manually(self, iterations: int, result: bytes) -> None:
|
Fix formatting and linting...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 473) assert (
|
Rename `vault_v03_and_below...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 474) vault_native.VaultNativeConfigParser._pbkdf2(
|
Fix formatting and linting...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 475) tests.VAULT_MASTER_KEY.encode('utf-8'), 32, iterations
tests/test_derivepassphrase_exporter_cli.py 476) )
tests/test_derivepassphrase_exporter_cli.py 477) == result
tests/test_derivepassphrase_exporter_cli.py 478) )
|
Rename vault v0.2/v0.3 clas...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 479)
|
Harmonize the interface for...
Marco Ricci authored 2 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 480) @pytest.mark.parametrize(
tests/test_derivepassphrase_cli_export_vault.py 481) ['config', 'format', 'result'],
tests/test_derivepassphrase_cli_export_vault.py 482) [
tests/test_derivepassphrase_cli_export_vault.py 483) pytest.param(
tests/test_derivepassphrase_cli_export_vault.py 484) tests.VAULT_V02_CONFIG,
tests/test_derivepassphrase_cli_export_vault.py 485) 'v0.2',
tests/test_derivepassphrase_cli_export_vault.py 486) tests.VAULT_V02_CONFIG_DATA,
tests/test_derivepassphrase_cli_export_vault.py 487) id='V02_CONFIG-v0.2',
tests/test_derivepassphrase_cli_export_vault.py 488) ),
tests/test_derivepassphrase_cli_export_vault.py 489) pytest.param(
tests/test_derivepassphrase_cli_export_vault.py 490) tests.VAULT_V02_CONFIG,
tests/test_derivepassphrase_cli_export_vault.py 491) 'v0.3',
tests/test_derivepassphrase_cli_export_vault.py 492) exporter.NotAVaultConfigError,
tests/test_derivepassphrase_cli_export_vault.py 493) id='V02_CONFIG-v0.3',
tests/test_derivepassphrase_cli_export_vault.py 494) ),
tests/test_derivepassphrase_cli_export_vault.py 495) pytest.param(
tests/test_derivepassphrase_cli_export_vault.py 496) tests.VAULT_V03_CONFIG,
tests/test_derivepassphrase_cli_export_vault.py 497) 'v0.2',
tests/test_derivepassphrase_cli_export_vault.py 498) exporter.NotAVaultConfigError,
tests/test_derivepassphrase_cli_export_vault.py 499) id='V03_CONFIG-v0.2',
tests/test_derivepassphrase_cli_export_vault.py 500) ),
tests/test_derivepassphrase_cli_export_vault.py 501) pytest.param(
tests/test_derivepassphrase_cli_export_vault.py 502) tests.VAULT_V03_CONFIG,
tests/test_derivepassphrase_cli_export_vault.py 503) 'v0.3',
tests/test_derivepassphrase_cli_export_vault.py 504) tests.VAULT_V03_CONFIG_DATA,
tests/test_derivepassphrase_cli_export_vault.py 505) id='V03_CONFIG-v0.3',
tests/test_derivepassphrase_cli_export_vault.py 506) ),
tests/test_derivepassphrase_cli_export_vault.py 507) ],
tests/test_derivepassphrase_cli_export_vault.py 508) )
|
Add vault_native exporter f...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 509) def test_201_export_vault_native_data_no_arguments(
|
Harmonize the interface for...
Marco Ricci authored 2 months ago
|
tests/test_derivepassphrase_cli_export_vault.py 510) self,
tests/test_derivepassphrase_cli_export_vault.py 511) monkeypatch: pytest.MonkeyPatch,
tests/test_derivepassphrase_cli_export_vault.py 512) config: str,
tests/test_derivepassphrase_cli_export_vault.py 513) format: Literal['v0.2', 'v0.3'],
tests/test_derivepassphrase_cli_export_vault.py 514) result: _types.VaultConfig | type[Exception],
tests/test_derivepassphrase_cli_export_vault.py 515) ) -> None:
tests/test_derivepassphrase_cli_export_vault.py 516) runner = click.testing.CliRunner(mix_stderr=False)
tests/test_derivepassphrase_cli_export_vault.py 517) with tests.isolated_vault_exporter_config(
tests/test_derivepassphrase_cli_export_vault.py 518) monkeypatch=monkeypatch,
tests/test_derivepassphrase_cli_export_vault.py 519) runner=runner,
tests/test_derivepassphrase_cli_export_vault.py 520) vault_config=config,
tests/test_derivepassphrase_cli_export_vault.py 521) vault_key=tests.VAULT_MASTER_KEY,
tests/test_derivepassphrase_cli_export_vault.py 522) ):
tests/test_derivepassphrase_cli_export_vault.py 523) if isinstance(result, type):
tests/test_derivepassphrase_cli_export_vault.py 524) with pytest.raises(result):
tests/test_derivepassphrase_cli_export_vault.py 525) vault_native.export_vault_native_data(None, format=format)
tests/test_derivepassphrase_cli_export_vault.py 526) else:
tests/test_derivepassphrase_cli_export_vault.py 527) parsed_config = vault_native.export_vault_native_data(
tests/test_derivepassphrase_cli_export_vault.py 528) None, format=format
tests/test_derivepassphrase_cli_export_vault.py 529) )
tests/test_derivepassphrase_cli_export_vault.py 530) assert parsed_config == result
tests/test_derivepassphrase_cli_export_vault.py 531)
tests/test_derivepassphrase_cli_export_vault.py 532) @pytest.mark.parametrize('path', ['.vault', None])
tests/test_derivepassphrase_cli_export_vault.py 533) @pytest.mark.parametrize(
tests/test_derivepassphrase_cli_export_vault.py 534) 'key',
tests/test_derivepassphrase_cli_export_vault.py 535) [
tests/test_derivepassphrase_cli_export_vault.py 536) None,
tests/test_derivepassphrase_cli_export_vault.py 537) pytest.param(tests.VAULT_MASTER_KEY, id='str'),
tests/test_derivepassphrase_cli_export_vault.py 538) pytest.param(tests.VAULT_MASTER_KEY.encode('ascii'), id='bytes'),
tests/test_derivepassphrase_cli_export_vault.py 539) pytest.param(
tests/test_derivepassphrase_cli_export_vault.py 540) bytearray(tests.VAULT_MASTER_KEY.encode('ascii')),
tests/test_derivepassphrase_cli_export_vault.py 541) id='bytearray',
tests/test_derivepassphrase_cli_export_vault.py 542) ),
tests/test_derivepassphrase_cli_export_vault.py 543) pytest.param(
tests/test_derivepassphrase_cli_export_vault.py 544) memoryview(tests.VAULT_MASTER_KEY.encode('ascii')),
tests/test_derivepassphrase_cli_export_vault.py 545) id='memoryview',
tests/test_derivepassphrase_cli_export_vault.py 546) ),
tests/test_derivepassphrase_cli_export_vault.py 547) ],
tests/test_derivepassphrase_cli_export_vault.py 548) )
tests/test_derivepassphrase_cli_export_vault.py 549) def test_202_export_data_path_and_keys_type(
tests/test_derivepassphrase_cli_export_vault.py 550) self,
tests/test_derivepassphrase_cli_export_vault.py 551) monkeypatch: pytest.MonkeyPatch,
tests/test_derivepassphrase_cli_export_vault.py 552) path: str | None,
tests/test_derivepassphrase_cli_export_vault.py 553) key: str | Buffer | None,
|
Add vault_native exporter f...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 554) ) -> None:
tests/test_derivepassphrase_exporter_cli.py 555) runner = click.testing.CliRunner(mix_stderr=False)
tests/test_derivepassphrase_exporter_cli.py 556) with tests.isolated_vault_exporter_config(
tests/test_derivepassphrase_exporter_cli.py 557) monkeypatch=monkeypatch,
tests/test_derivepassphrase_exporter_cli.py 558) runner=runner,
tests/test_derivepassphrase_exporter_cli.py 559) vault_config=tests.VAULT_V03_CONFIG,
tests/test_derivepassphrase_exporter_cli.py 560) vault_key=tests.VAULT_MASTER_KEY,
tests/test_derivepassphrase_exporter_cli.py 561) ):
tests/test_derivepassphrase_exporter_cli.py 562) parsed_config = vault_native.export_vault_native_data(None)
tests/test_derivepassphrase_exporter_cli.py 563) assert parsed_config == tests.VAULT_V03_CONFIG_DATA
tests/test_derivepassphrase_exporter_cli.py 564)
|
Rename vault v0.2/v0.3 clas...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 565) @pytest.mark.parametrize(
tests/test_derivepassphrase_exporter_cli.py 566) ['parser_class', 'config', 'result'],
tests/test_derivepassphrase_exporter_cli.py 567) [
tests/test_derivepassphrase_exporter_cli.py 568) pytest.param(
|
Rename `vault_v03_and_below...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 569) vault_native.VaultNativeV02ConfigParser,
|
Rename vault v0.2/v0.3 clas...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 570) tests.VAULT_V02_CONFIG,
tests/test_derivepassphrase_exporter_cli.py 571) tests.VAULT_V02_CONFIG_DATA,
tests/test_derivepassphrase_exporter_cli.py 572) id='0.2',
tests/test_derivepassphrase_exporter_cli.py 573) ),
tests/test_derivepassphrase_exporter_cli.py 574) pytest.param(
|
Rename `vault_v03_and_below...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 575) vault_native.VaultNativeV03ConfigParser,
|
Rename vault v0.2/v0.3 clas...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 576) tests.VAULT_V03_CONFIG,
tests/test_derivepassphrase_exporter_cli.py 577) tests.VAULT_V03_CONFIG_DATA,
tests/test_derivepassphrase_exporter_cli.py 578) id='0.3',
tests/test_derivepassphrase_exporter_cli.py 579) ),
tests/test_derivepassphrase_exporter_cli.py 580) ],
tests/test_derivepassphrase_exporter_cli.py 581) )
tests/test_derivepassphrase_exporter_cli.py 582) def test_300_result_caching(
tests/test_derivepassphrase_exporter_cli.py 583) self,
tests/test_derivepassphrase_exporter_cli.py 584) monkeypatch: pytest.MonkeyPatch,
|
Rename `vault_v03_and_below...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 585) parser_class: type[vault_native.VaultNativeConfigParser],
|
Rename vault v0.2/v0.3 clas...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 586) config: str,
tests/test_derivepassphrase_exporter_cli.py 587) result: dict[str, Any],
tests/test_derivepassphrase_exporter_cli.py 588) ) -> None:
tests/test_derivepassphrase_exporter_cli.py 589) def null_func(name: str) -> Callable[..., None]:
tests/test_derivepassphrase_exporter_cli.py 590) def func(*_args: Any, **_kwargs: Any) -> None: # pragma: no cover
tests/test_derivepassphrase_exporter_cli.py 591) msg = f'disallowed and stubbed out function {name} called'
tests/test_derivepassphrase_exporter_cli.py 592) raise AssertionError(msg)
|
Fix formatting and linting...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 593)
|
Rename vault v0.2/v0.3 clas...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 594) return func
tests/test_derivepassphrase_exporter_cli.py 595)
tests/test_derivepassphrase_exporter_cli.py 596) runner = click.testing.CliRunner(mix_stderr=False)
tests/test_derivepassphrase_exporter_cli.py 597) with tests.isolated_vault_exporter_config(
tests/test_derivepassphrase_exporter_cli.py 598) monkeypatch=monkeypatch,
tests/test_derivepassphrase_exporter_cli.py 599) runner=runner,
tests/test_derivepassphrase_exporter_cli.py 600) vault_config=config,
tests/test_derivepassphrase_exporter_cli.py 601) ):
|
Fix formatting and linting...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 602) parser = parser_class(
tests/test_derivepassphrase_exporter_cli.py 603) base64.b64decode(config), tests.VAULT_MASTER_KEY
tests/test_derivepassphrase_exporter_cli.py 604) )
|
Rename vault v0.2/v0.3 clas...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 605) assert parser() == result
tests/test_derivepassphrase_exporter_cli.py 606) # Now stub out all functions used to calculate the above result.
|
Fix formatting and linting...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 607) monkeypatch.setattr(
tests/test_derivepassphrase_exporter_cli.py 608) parser, '_parse_contents', null_func('_parse_contents')
tests/test_derivepassphrase_exporter_cli.py 609) )
tests/test_derivepassphrase_exporter_cli.py 610) monkeypatch.setattr(
tests/test_derivepassphrase_exporter_cli.py 611) parser, '_derive_keys', null_func('_derive_keys')
tests/test_derivepassphrase_exporter_cli.py 612) )
tests/test_derivepassphrase_exporter_cli.py 613) monkeypatch.setattr(
tests/test_derivepassphrase_exporter_cli.py 614) parser, '_check_signature', null_func('_check_signature')
tests/test_derivepassphrase_exporter_cli.py 615) )
tests/test_derivepassphrase_exporter_cli.py 616) monkeypatch.setattr(
tests/test_derivepassphrase_exporter_cli.py 617) parser, '_decrypt_payload', null_func('_decrypt_payload')
tests/test_derivepassphrase_exporter_cli.py 618) )
|
Rename vault v0.2/v0.3 clas...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 619) assert parser() == result
|
Rename `vault_v03_and_below...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 620) super_call = vault_native.VaultNativeConfigParser.__call__
|
Fix formatting and linting...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 621) assert super_call(parser) == result
|
Rename vault v0.2/v0.3 clas...
Marco Ricci authored 6 months ago
|
tests/test_derivepassphrase_exporter_cli.py 622)
tests/test_derivepassphrase_exporter_cli.py 623) def test_400_no_password(self) -> None:
tests/test_derivepassphrase_exporter_cli.py 624) with pytest.raises(ValueError, match='Password must not be empty'):
|