https://git.schokokeks.org/derivepassphrase.git/tree/c83eb5bc68a5fec0db1b37024297ad8b3c4df7eaRecent commits to derivepassphrase.git (c83eb5bc68a5fec0db1b37024297ad8b3c4df7ea)2024-09-11T21:00:34+02:00tag:gitlist.org,2012:commit/c83eb5bc68a5fec0db1b37024297ad8b3c4df7eaModularize test helpers to not unnecessarily manipulate config files2024-09-11T21:00:34+02:00Marco Riccim@the13thletter.info
<pre>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.
</pre>
tag:gitlist.org,2012:commit/61f4c67ce11a1dd77b59613e550822d64877c904Reintegrate all functionality as subcommands2024-09-11T12:20:16+02:00Marco Riccim@the13thletter.info
<pre>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.
</pre>
tag:gitlist.org,2012:commit/904187c0453771a0b3e3e36293908c43323f8dc6Merge branch topic 'misc-cleanup' into master2024-09-08T11:11:30+02:00Marco Riccim@the13thletter.info
<pre>* 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.
</pre>
tag:gitlist.org,2012:commit/e8f3ec854c425cc36565a40adbf00d22a2febeecChange the author e-mail address2024-09-08T11:08:45+02:00Marco Riccim@the13thletter.info
<pre></pre>
tag:gitlist.org,2012:commit/f76e05eff8a52e7287461c56995b329bc09ffb79Clean up testing machinery (types, helper functions)2024-09-02T01:23:14+02:00Marco Riccim@the13thletter.info
<pre>- 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`.
</pre>
tag:gitlist.org,2012:commit/abadc0d0b8f8e910d31073a0dfcd8e82509daab6Remove `click` handling of command-line "path" arguments2024-09-01T18:08:20+02:00Marco Riccim@the13thletter.info
<pre>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.
</pre>
tag:gitlist.org,2012:commit/d081a2bc4dc00c67e84bdd90c239e5c814d84a8dAdd man page for `derivepassphrase_export`2024-09-01T16:46:57+02:00Marco Riccim@the13thletter.info
<pre>The help text/docstring was missing a mention of which configuration
formats are supported, which has now been added.
</pre>
tag:gitlist.org,2012:commit/32d3a91a0576b369553422da5c368236cd793a8aStreamline documentation file structure and linking2024-09-01T16:27:34+02:00Marco Riccim@the13thletter.info
<pre>Use the "index page" functionality and the unpruned navigation list from
MkDocs/Material, and use the module autorefs on the documentation overview
page.
</pre>
tag:gitlist.org,2012:commit/d7b090cc6c5fc3f05387d8999821aaf44f25ead7Add exporter modules to the documentation2024-09-01T16:19:55+02:00Marco Riccim@the13thletter.info
<pre>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".
</pre>
tag:gitlist.org,2012:commit/9e46d4ec795267558b155c5260c5a37205bf9af1Add vault_native exporter function and module docstrings2024-09-01T16:13:48+02:00Marco Riccim@the13thletter.info
<pre>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.
</pre>