174 lines
11 KiB
Plaintext
174 lines
11 KiB
Plaintext
=== RUN TestSecretManagerIntegration
|
|
=== RUN TestSecretManagerIntegration/01_Initialize
|
|
=== RUN TestSecretManagerIntegration/02_ListVaults
|
|
=== RUN TestSecretManagerIntegration/03_CreateVault
|
|
=== RUN TestSecretManagerIntegration/04_ImportMnemonic
|
|
=== RUN TestSecretManagerIntegration/05_AddSecret
|
|
=== RUN TestSecretManagerIntegration/06_GetSecret
|
|
=== RUN TestSecretManagerIntegration/07_AddSecretVersion
|
|
=== RUN TestSecretManagerIntegration/08_ListVersions
|
|
=== RUN TestSecretManagerIntegration/09_GetSpecificVersion
|
|
=== RUN TestSecretManagerIntegration/10_PromoteVersion
|
|
=== RUN TestSecretManagerIntegration/11_ListSecrets
|
|
integration_test.go:710: JSON output: {
|
|
"secrets": [
|
|
{
|
|
"created_at": "2025-06-09T04:52:08.170719-07:00",
|
|
"name": "api/key",
|
|
"updated_at": "2025-06-09T04:52:08.170719-07:00"
|
|
},
|
|
{
|
|
"created_at": "2025-06-09T04:52:08.170725-07:00",
|
|
"name": "config/database.yaml",
|
|
"updated_at": "2025-06-09T04:52:08.170725-07:00"
|
|
},
|
|
{
|
|
"created_at": "2025-06-09T04:52:08.170731-07:00",
|
|
"name": "database/password",
|
|
"updated_at": "2025-06-09T04:52:08.170731-07:00"
|
|
}
|
|
]
|
|
}
|
|
=== RUN TestSecretManagerIntegration/12_SecretNameFormats
|
|
=== RUN TestSecretManagerIntegration/12_SecretNameFormats/api/keys/production
|
|
=== RUN TestSecretManagerIntegration/12_SecretNameFormats/config.yaml
|
|
=== RUN TestSecretManagerIntegration/12_SecretNameFormats/ssh_private_key
|
|
=== RUN TestSecretManagerIntegration/12_SecretNameFormats/deeply/nested/path/to/secret
|
|
=== RUN TestSecretManagerIntegration/12_SecretNameFormats/test-with-dash
|
|
=== RUN TestSecretManagerIntegration/12_SecretNameFormats/test.with.dots
|
|
=== RUN TestSecretManagerIntegration/12_SecretNameFormats/test_with_underscore
|
|
=== RUN TestSecretManagerIntegration/12_SecretNameFormats/mixed/test.name_format-123
|
|
=== RUN TestSecretManagerIntegration/12_SecretNameFormats/invalid_empty
|
|
=== RUN TestSecretManagerIntegration/12_SecretNameFormats/invalid_UPPERCASE
|
|
=== RUN TestSecretManagerIntegration/12_SecretNameFormats/invalid_with_space_space
|
|
=== RUN TestSecretManagerIntegration/12_SecretNameFormats/invalid_with@symbol
|
|
=== RUN TestSecretManagerIntegration/12_SecretNameFormats/invalid_with#hash
|
|
=== RUN TestSecretManagerIntegration/12_SecretNameFormats/invalid_with$dollar
|
|
=== RUN TestSecretManagerIntegration/12_SecretNameFormats/invalid__slash_leading-slash
|
|
integration_test.go:854: add '/leading-slash' result: err=<nil>, output=
|
|
=== RUN TestSecretManagerIntegration/12_SecretNameFormats/invalid_trailing-slash_slash_
|
|
integration_test.go:854: add 'trailing-slash/' result: err=<nil>, output=
|
|
=== RUN TestSecretManagerIntegration/12_SecretNameFormats/invalid_double_slash__slash_slash
|
|
integration_test.go:854: add 'double//slash' result: err=<nil>, output=
|
|
=== RUN TestSecretManagerIntegration/12_SecretNameFormats/invalid_.hidden
|
|
integration_test.go:854: add '.hidden' result: err=<nil>, output=
|
|
=== RUN TestSecretManagerIntegration/13_UnlockerManagement
|
|
integration_test.go:883: Error adding passphrase unlocker: exit status 1, output: Error: failed to unlock vault: failed to get long-term key: failed to get unlocker identity: failed to decrypt unlocker private key: failed to create decryptor: no identity matched any of the recipients
|
|
Usage:
|
|
secret unlockers add <type> [flags]
|
|
|
|
Flags:
|
|
-h, --help help for add
|
|
--keyid string GPG key ID for PGP unlockers
|
|
|
|
integration_test.go:885:
|
|
Error Trace: /Users/user/dev/secret/internal/cli/integration_test.go:885
|
|
Error: Received unexpected error:
|
|
exit status 1
|
|
Test: TestSecretManagerIntegration/13_UnlockerManagement
|
|
Messages: add passphrase unlocker should succeed
|
|
=== RUN TestSecretManagerIntegration/14_SwitchVault
|
|
=== RUN TestSecretManagerIntegration/15_VaultIsolation
|
|
=== RUN TestSecretManagerIntegration/16_GenerateSecret
|
|
=== RUN TestSecretManagerIntegration/17_ImportFromFile
|
|
=== RUN TestSecretManagerIntegration/18_AgeKeyOperations
|
|
=== RUN TestSecretManagerIntegration/19_DisasterRecovery
|
|
integration_test.go:1233: Long-term public key from vault: age1gel0je3w796uqpp7k47w65agnrhe85ee3xz550us6kdpgy5nr3rq7mkfqs
|
|
integration_test.go:1239: Note: Long-term private key can be derived from mnemonic
|
|
integration_test.go:1259: === Disaster Recovery Chain ===
|
|
integration_test.go:1260: 1. Secret value is encrypted to version public key: /var/folders/w9/_481zfb94wx2yq562f5h68vw0000gn/T/TestSecretManagerIntegration3789343214/001/vaults.d/default/secrets.d/test%disaster-recovery/versions/20250609.001/pub.age
|
|
integration_test.go:1261: 2. Version private key is encrypted to long-term public key: /var/folders/w9/_481zfb94wx2yq562f5h68vw0000gn/T/TestSecretManagerIntegration3789343214/001/vaults.d/default/pub.age
|
|
integration_test.go:1262: 3. Long-term private key is derived from mnemonic
|
|
integration_test.go:1282: === Disaster Recovery Test Complete ===
|
|
integration_test.go:1283: The vault structure is compatible with standard age encryption.
|
|
integration_test.go:1284: In a real disaster scenario:
|
|
integration_test.go:1285: 1. Derive long-term private key from mnemonic using BIP32/BIP39
|
|
integration_test.go:1286: 2. Use 'age -d' to decrypt version private keys
|
|
integration_test.go:1287: 3. Use 'age -d' to decrypt secret values
|
|
integration_test.go:1288: No proprietary tools needed - just mnemonic + age CLI
|
|
=== RUN TestSecretManagerIntegration/20_VersionTimestamps
|
|
=== RUN TestSecretManagerIntegration/21_MaxVersionsPerDay
|
|
integration_test.go:1353: Skipping max versions test - would take too long
|
|
=== RUN TestSecretManagerIntegration/22_JSONOutput
|
|
integration_test.go:1380: JSON output formats verified for vault list, secret list, and unlockers list
|
|
=== RUN TestSecretManagerIntegration/23_ErrorHandling
|
|
=== RUN TestSecretManagerIntegration/24_EnvironmentVariables
|
|
=== RUN TestSecretManagerIntegration/25_ConcurrentOperations
|
|
=== RUN TestSecretManagerIntegration/26_LargeSecrets
|
|
=== RUN TestSecretManagerIntegration/27_SpecialCharacters
|
|
=== RUN TestSecretManagerIntegration/28_VaultMetadata
|
|
integration_test.go:1700:
|
|
Error Trace: /Users/user/dev/secret/internal/cli/integration_test.go:1700
|
|
Error: Not equal:
|
|
expected: "992552b00b3879dfae461fab9a084b47784a032771c7a9accaebdde05ec7a7d1"
|
|
actual : "e34a2f500e395d8934a90a99ee9311edcfffd68cb701079575e50cbac7bb9417"
|
|
|
|
Diff:
|
|
--- Expected
|
|
+++ Actual
|
|
@@ -1 +1 @@
|
|
-992552b00b3879dfae461fab9a084b47784a032771c7a9accaebdde05ec7a7d1
|
|
+e34a2f500e395d8934a90a99ee9311edcfffd68cb701079575e50cbac7bb9417
|
|
Test: TestSecretManagerIntegration/28_VaultMetadata
|
|
Messages: vaults from same mnemonic should have same public_key_hash
|
|
=== RUN TestSecretManagerIntegration/29_SymlinkHandling
|
|
=== RUN TestSecretManagerIntegration/30_BackupRestore
|
|
integration_test.go:1838:
|
|
Error Trace: /Users/user/dev/secret/internal/cli/integration_test.go:1838
|
|
Error: Received unexpected error:
|
|
exit status 1
|
|
Test: TestSecretManagerIntegration/30_BackupRestore
|
|
Messages: get restored secret should succeed
|
|
--- FAIL: TestSecretManagerIntegration (4.96s)
|
|
--- PASS: TestSecretManagerIntegration/01_Initialize (0.79s)
|
|
--- PASS: TestSecretManagerIntegration/02_ListVaults (0.02s)
|
|
--- PASS: TestSecretManagerIntegration/03_CreateVault (0.02s)
|
|
--- PASS: TestSecretManagerIntegration/04_ImportMnemonic (0.75s)
|
|
--- PASS: TestSecretManagerIntegration/05_AddSecret (0.04s)
|
|
--- PASS: TestSecretManagerIntegration/06_GetSecret (0.04s)
|
|
--- PASS: TestSecretManagerIntegration/07_AddSecretVersion (0.06s)
|
|
--- PASS: TestSecretManagerIntegration/08_ListVersions (0.03s)
|
|
--- PASS: TestSecretManagerIntegration/09_GetSpecificVersion (0.06s)
|
|
--- PASS: TestSecretManagerIntegration/10_PromoteVersion (0.04s)
|
|
--- PASS: TestSecretManagerIntegration/11_ListSecrets (0.06s)
|
|
--- PASS: TestSecretManagerIntegration/12_SecretNameFormats (0.37s)
|
|
--- PASS: TestSecretManagerIntegration/12_SecretNameFormats/api/keys/production (0.03s)
|
|
--- PASS: TestSecretManagerIntegration/12_SecretNameFormats/config.yaml (0.03s)
|
|
--- PASS: TestSecretManagerIntegration/12_SecretNameFormats/ssh_private_key (0.03s)
|
|
--- PASS: TestSecretManagerIntegration/12_SecretNameFormats/deeply/nested/path/to/secret (0.03s)
|
|
--- PASS: TestSecretManagerIntegration/12_SecretNameFormats/test-with-dash (0.03s)
|
|
--- PASS: TestSecretManagerIntegration/12_SecretNameFormats/test.with.dots (0.03s)
|
|
--- PASS: TestSecretManagerIntegration/12_SecretNameFormats/test_with_underscore (0.03s)
|
|
--- PASS: TestSecretManagerIntegration/12_SecretNameFormats/mixed/test.name_format-123 (0.03s)
|
|
--- PASS: TestSecretManagerIntegration/12_SecretNameFormats/invalid_empty (0.01s)
|
|
--- PASS: TestSecretManagerIntegration/12_SecretNameFormats/invalid_UPPERCASE (0.01s)
|
|
--- PASS: TestSecretManagerIntegration/12_SecretNameFormats/invalid_with_space_space (0.01s)
|
|
--- PASS: TestSecretManagerIntegration/12_SecretNameFormats/invalid_with@symbol (0.01s)
|
|
--- PASS: TestSecretManagerIntegration/12_SecretNameFormats/invalid_with#hash (0.01s)
|
|
--- PASS: TestSecretManagerIntegration/12_SecretNameFormats/invalid_with$dollar (0.01s)
|
|
--- PASS: TestSecretManagerIntegration/12_SecretNameFormats/invalid__slash_leading-slash (0.01s)
|
|
--- PASS: TestSecretManagerIntegration/12_SecretNameFormats/invalid_trailing-slash_slash_ (0.01s)
|
|
--- PASS: TestSecretManagerIntegration/12_SecretNameFormats/invalid_double_slash__slash_slash (0.01s)
|
|
--- PASS: TestSecretManagerIntegration/12_SecretNameFormats/invalid_.hidden (0.01s)
|
|
--- FAIL: TestSecretManagerIntegration/13_UnlockerManagement (0.75s)
|
|
--- PASS: TestSecretManagerIntegration/14_SwitchVault (0.03s)
|
|
--- PASS: TestSecretManagerIntegration/15_VaultIsolation (0.08s)
|
|
--- PASS: TestSecretManagerIntegration/16_GenerateSecret (0.10s)
|
|
--- PASS: TestSecretManagerIntegration/17_ImportFromFile (0.06s)
|
|
--- PASS: TestSecretManagerIntegration/18_AgeKeyOperations (0.09s)
|
|
--- PASS: TestSecretManagerIntegration/19_DisasterRecovery (0.04s)
|
|
--- PASS: TestSecretManagerIntegration/20_VersionTimestamps (0.17s)
|
|
--- SKIP: TestSecretManagerIntegration/21_MaxVersionsPerDay (0.00s)
|
|
--- PASS: TestSecretManagerIntegration/22_JSONOutput (0.02s)
|
|
--- PASS: TestSecretManagerIntegration/23_ErrorHandling (0.06s)
|
|
--- PASS: TestSecretManagerIntegration/24_EnvironmentVariables (0.79s)
|
|
--- PASS: TestSecretManagerIntegration/25_ConcurrentOperations (0.03s)
|
|
--- PASS: TestSecretManagerIntegration/26_LargeSecrets (0.07s)
|
|
--- PASS: TestSecretManagerIntegration/27_SpecialCharacters (0.10s)
|
|
--- FAIL: TestSecretManagerIntegration/28_VaultMetadata (0.00s)
|
|
--- PASS: TestSecretManagerIntegration/29_SymlinkHandling (0.03s)
|
|
--- FAIL: TestSecretManagerIntegration/30_BackupRestore (0.18s)
|
|
FAIL
|
|
FAIL git.eeqj.de/sneak/secret/internal/cli 5.283s
|
|
FAIL
|