25 lines
963 B
Markdown
25 lines
963 B
Markdown
# Vault Fixture Contract
|
|
|
|
This directory holds vault compatibility fixtures shared between Python and C# tests.
|
|
|
|
## Required cases
|
|
|
|
1. `YYYY-MM.vault` files generated by Python encryption flow from `fixtures/entries/`.
|
|
2. At least one wrong-password case where decrypt fails and source vault bytes remain unchanged.
|
|
3. Optional legacy case: `_init_vault.vault` for compatibility cleanup behavior.
|
|
|
|
## Current status
|
|
|
|
- Vault fixtures are generated from `fixtures/entries/*.md` using Python crypto flow:
|
|
- `python fixtures/vaults/generate_vault_fixtures.py`
|
|
- Committed artifacts:
|
|
- `2026-01.vault`
|
|
- `2026-02.vault`
|
|
- `manifest.json` with generation metadata, fixture password, wrong-password case, and SHA-256 hashes.
|
|
|
|
## Validation contract
|
|
|
|
1. Load with `manifest.password` must extract all `expected_entries`.
|
|
2. Each extracted entry SHA-256 must match manifest values.
|
|
3. Load with `manifest.wrong_password` must fail and keep vault bytes unchanged.
|