-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathvault-cli.plain
More file actions
47 lines (33 loc) · 1.81 KB
/
Copy pathvault-cli.plain
File metadata and controls
47 lines (33 loc) · 1.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
---
import:
- vault_reqs
- entry_reqs
requires:
- password_manager
---
***implementation reqs***
- The commands should be implemented in the :CLI:.
- :CLI: is defined in the vault.py
- The functions from :PasswordManagerModule: should be used for password inputs.
- All :CLI: functions operating on :Vault: should accept optional --path argument that explicitly defines :Vault: storage file path.
***test reqs***
- Some functionalities require user input to work. The conformance tests should simulate or mock the input functions to test these functionalities.
***functional specs***
- Implement the Help command which prints out the usage for the :Vault: app
- This Help command should be called if :CLI: is run without input arguments or help command argument.
- Implement an Initialization Command (`init`)
- Ask the user for the password
- Get the :EncryptionKey: and KDF parameters using the get_key function in the key_management module.
- The function should initialize the :Vault: using the :EncryptionKey: and KDF parameters.
- Implement an Add Command (`add`) that adds an additional password to the :Vault:
- Ask the user for entry details
- The function should call the add_entry function of the vault_functions module.
- Implement the Get Command (`get`) which retrieves the :Entry: password
- Takes an :Entry: ID and the :Vault: storage file path as input.
- The function should call the get_entry function of the vault_functions module.
- Implement the Delete Command (`delete`)
- Takes an :Entry: ID and the :Vault: storage file path as input.
- The function should call the delete_entry function of the vault_functions module.
- Implement the List Command (`list`)
- Takes the :Vault: storage file path as input.
- The function should call the list_entries function of the vault_functions module.