feat(meta): add meta command for viewing/modifying key metadata
This commit is contained in:
parent
a382e8dc79
commit
618842b285
7 changed files with 189 additions and 0 deletions
9
testdata/meta-decrypt.ct
vendored
Normal file
9
testdata/meta-decrypt.ct
vendored
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
# Decrypt an existing encrypted key
|
||||
$ pda set --encrypt hello@md world
|
||||
$ pda meta hello@md --decrypt
|
||||
$ pda meta hello@md
|
||||
key: hello@md
|
||||
secret: false
|
||||
expires: never
|
||||
$ pda get hello@md
|
||||
world
|
||||
10
testdata/meta-encrypt.ct
vendored
Normal file
10
testdata/meta-encrypt.ct
vendored
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
# Encrypt an existing plaintext key
|
||||
$ pda set hello@me world
|
||||
$ pda meta hello@me --encrypt
|
||||
$ pda meta hello@me
|
||||
key: hello@me
|
||||
secret: true
|
||||
expires: never
|
||||
# Value should still be retrievable
|
||||
$ pda get hello@me
|
||||
world
|
||||
21
testdata/meta-err.ct
vendored
Normal file
21
testdata/meta-err.ct
vendored
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
# Error: key doesn't exist
|
||||
$ pda meta nonexistent@me --> FAIL
|
||||
FAIL cannot meta 'nonexistent@me': no such key
|
||||
|
||||
# Error: --encrypt and --decrypt are mutually exclusive
|
||||
$ pda set hello@me world
|
||||
$ pda meta hello@me --encrypt --decrypt --> FAIL
|
||||
FAIL cannot meta 'hello@me': --encrypt and --decrypt are mutually exclusive
|
||||
|
||||
# Error: already encrypted
|
||||
$ pda set --encrypt secret@me val
|
||||
$ pda meta secret@me --encrypt --> FAIL
|
||||
FAIL cannot meta 'secret@me': already encrypted
|
||||
|
||||
# Error: not encrypted (can't decrypt)
|
||||
$ pda meta hello@me --decrypt --> FAIL
|
||||
FAIL cannot meta 'hello@me': not encrypted
|
||||
|
||||
# Error: invalid TTL
|
||||
$ pda meta hello@me --ttl "abc" --> FAIL
|
||||
FAIL cannot meta 'hello@me': invalid ttl '"abc"': expected a duration (e.g. 30m, 2h) or 'never'
|
||||
11
testdata/meta-ttl.ct
vendored
Normal file
11
testdata/meta-ttl.ct
vendored
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
# Set TTL on a key, then view it (just verify no error, can't match dynamic time)
|
||||
$ pda set hello@mt world
|
||||
$ pda meta hello@mt --ttl 1h
|
||||
|
||||
# Clear TTL with --ttl never
|
||||
$ pda set --ttl 1h expiring@mt val
|
||||
$ pda meta expiring@mt --ttl never
|
||||
$ pda meta expiring@mt
|
||||
key: expiring@mt
|
||||
secret: false
|
||||
expires: never
|
||||
13
testdata/meta.ct
vendored
Normal file
13
testdata/meta.ct
vendored
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
# View metadata for a plaintext key
|
||||
$ pda set hello@m world
|
||||
$ pda meta hello@m
|
||||
key: hello@m
|
||||
secret: false
|
||||
expires: never
|
||||
|
||||
# View metadata for an encrypted key
|
||||
$ pda set --encrypt secret@m hunter2
|
||||
$ pda meta secret@m
|
||||
key: secret@m
|
||||
secret: true
|
||||
expires: never
|
||||
Loading…
Add table
Add a link
Reference in a new issue