Recent commits to derivepassphrase.git (c83eb5bc68a5fec0db1b37024297ad8b3c4df7ea) https://git.schokokeks.org/derivepassphrase.git/tree/c83eb5bc68a5fec0db1b37024297ad8b3c4df7ea Recent commits feed provided by GitList. Modularize test helpers to not unnecessarily manipulate config files 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. https://git.schokokeks.org/derivepassphrase.git/commit/c83eb5bc68a5fec0db1b37024297ad8b3c4df7ea m@the13thletter.info (Marco Ricci) Wed, 11 Sep 2024 21:00:34 +0200 c83eb5bc68a5fec0db1b37024297ad8b3c4df7ea Reintegrate all functionality as subcommands Move the existing main functionality into a `derivepassphrase vault` subcommand, and the existing exporter functionality into a `derivepassphrase export vault` subcommand, in preparation of supporting other schemes besides vault. Install proxy command-line interfaces that emit deprecation warnings and forward the call to the subcommands. (Some explanation and warning texts were relocated appropriately.) The exporter is no longer a separate command, but rather a subcommand `export`. The `derivepassphrase.exporter.cli` module has been folded into the `derivepassphrase.cli` module. Documentation and tests have been updated to match. The documentation in particular now strictly uses the one-line synopsis from the command's docstring. https://git.schokokeks.org/derivepassphrase.git/commit/61f4c67ce11a1dd77b59613e550822d64877c904 m@the13thletter.info (Marco Ricci) Wed, 11 Sep 2024 12:20:16 +0200 61f4c67ce11a1dd77b59613e550822d64877c904 Merge branch topic 'misc-cleanup' into master * t/misc-cleanup: Change the author e-mail address Clean up testing machinery (types, helper functions) Remove `click` handling of command-line "path" arguments Add man page for `derivepassphrase_export` Streamline documentation file structure and linking Add exporter modules to the documentation Add vault_native exporter function and module docstrings Rename `vault_v03_and_below` submodule to `vault_native` Support text string services names in Vault internal API Fix the docstring of the vault native v0.2 exporter class Rename `derivepassphrase.vault` test file to match naming convention Apply new ruff ruleset to code base. https://git.schokokeks.org/derivepassphrase.git/commit/904187c0453771a0b3e3e36293908c43323f8dc6 m@the13thletter.info (Marco Ricci) Sun, 08 Sep 2024 11:11:30 +0200 904187c0453771a0b3e3e36293908c43323f8dc6 Change the author e-mail address https://git.schokokeks.org/derivepassphrase.git/commit/e8f3ec854c425cc36565a40adbf00d22a2febeec m@the13thletter.info (Marco Ricci) Sun, 08 Sep 2024 11:08:45 +0200 e8f3ec854c425cc36565a40adbf00d22a2febeec Clean up testing machinery (types, helper functions) - Submit all input to, and read all output from, `click`-based command-line interfaces via the textual streams. This includes the `.stdout`/`.output` and `.stderr` properties of a test runner result, and the input to the command-line call. - Write a new `typing.NamedTuple`-based interface for collecting the test runner result in a readable fashion, because the `click.testing.Result` `repr` output is really unhelpful. This also allows to define a higher-level API to check whether a `click` application ran successfully, with certain expected output, or whether it ran unsuccessfully, with certain expected error output. - Annotate all pytest `monkeypatch` fixtures as `pytest.MonkeyPatch`. https://git.schokokeks.org/derivepassphrase.git/commit/f76e05eff8a52e7287461c56995b329bc09ffb79 m@the13thletter.info (Marco Ricci) Mon, 02 Sep 2024 01:23:14 +0200 f76e05eff8a52e7287461c56995b329bc09ffb79 Remove `click` handling of command-line "path" arguments Stop using the `click` facilities to run checks on command-line arguments or option values that are to be treated as paths; treat them like normal strings instead. `click`'s path checking functionality misdiagnoses its own failure cases, is racy, and does not document its own raciness. Instead, use `click`'s `open_file` function to handle the standard streams (an actual useful feature), and use bog-standard operating system calls for everything else. As an added bonus, this makes writing unit tests much easier, because we no longer have to work around `click`'s functionality and can use simpler counterexamples/failure cases. This change was originally prompted by a silently failing test, which did not test the expected error message because it was subject to translation, so `click` could silently sidestep the whole code under test. We now test for the operating system-provided error message directly, via standard operating system facilities that are integrated into the translation/locale system. https://git.schokokeks.org/derivepassphrase.git/commit/abadc0d0b8f8e910d31073a0dfcd8e82509daab6 m@the13thletter.info (Marco Ricci) Sun, 01 Sep 2024 18:08:20 +0200 abadc0d0b8f8e910d31073a0dfcd8e82509daab6 Add man page for `derivepassphrase_export` The help text/docstring was missing a mention of which configuration formats are supported, which has now been added. https://git.schokokeks.org/derivepassphrase.git/commit/d081a2bc4dc00c67e84bdd90c239e5c814d84a8d m@the13thletter.info (Marco Ricci) Sun, 01 Sep 2024 16:46:57 +0200 d081a2bc4dc00c67e84bdd90c239e5c814d84a8d Streamline documentation file structure and linking Use the "index page" functionality and the unpruned navigation list from MkDocs/Material, and use the module autorefs on the documentation overview page. https://git.schokokeks.org/derivepassphrase.git/commit/32d3a91a0576b369553422da5c368236cd793a8a m@the13thletter.info (Marco Ricci) Sun, 01 Sep 2024 16:27:34 +0200 32d3a91a0576b369553422da5c368236cd793a8a Add exporter modules to the documentation The two exporter submodules `storeroom` and `vault_native` are short enough and thematically related, so they are placed on a common page "Exporters for vault". https://git.schokokeks.org/derivepassphrase.git/commit/d7b090cc6c5fc3f05387d8999821aaf44f25ead7 m@the13thletter.info (Marco Ricci) Sun, 01 Sep 2024 16:19:55 +0200 d7b090cc6c5fc3f05387d8999821aaf44f25ead7 Add vault_native exporter function and module docstrings Add an all-in-one exporter function to the `derivepassphrase.exporter.vault_native` module, similar to the function in the `derivepassphrase.exporter.storeroom` module. These two functions now define the public API of the respective module, and the other visible names are considered non-public (though documented, because they explain the inner workings of the respective exporters). The module docstrings have been appropriately expanded, and the tests have been adapted and expanded for the new function. https://git.schokokeks.org/derivepassphrase.git/commit/9e46d4ec795267558b155c5260c5a37205bf9af1 m@the13thletter.info (Marco Ricci) Sun, 01 Sep 2024 16:13:48 +0200 9e46d4ec795267558b155c5260c5a37205bf9af1