92 lines
2.7 KiB
Plaintext
92 lines
2.7 KiB
Plaintext
|
|
This should accept VCS-type and --crypto flags.
|
|
Then a shell script should run various combinations of VCS and crypters.
|
|
|
|
# Startup
|
|
* Create a repo (git, none)
|
|
|
|
# Test basic operations:
|
|
* As Alice:
|
|
* initialize blackbox, add her keys to it, see that the usual files
|
|
exist. See her name in bb-admins.txt
|
|
* encrypt a file, see that the plaintext is deleted, see the file in bb-files.txt
|
|
* decrypt the file, see the original plaintext is recovered.
|
|
* Encrypt a file --noshred.
|
|
* Decrypt the file, it should fail as the plaintext exists.
|
|
* Remove the plaintext.
|
|
* Decrypt the file, it should fail as the plaintext exists.
|
|
|
|
# Test hand-off from Alice to Bob.
|
|
* As Bob
|
|
* add himself to the admins.
|
|
* As Alice
|
|
* Update-all-files
|
|
* Create a new file. Encrypt it.
|
|
* As Bob
|
|
* Decrypt both files
|
|
* Verify contents of the new file, and the file from previous.
|
|
* Create a new file. Encrypt it.
|
|
* As Alice:
|
|
* Decrypt all files.
|
|
* Verify contents of the 3 plaintext files.
|
|
|
|
# Test a git-less directory
|
|
* Copy the old repo somewhere. Remove the .git directory.
|
|
* As Alice:
|
|
* Decrypt all
|
|
* Verify plaintext contents
|
|
|
|
# Test post-deploy with/without GID
|
|
* Back at the original repo:
|
|
* Shred all
|
|
* Run post-deploy. Verify.
|
|
* Shred all
|
|
* Run post-deploy with a custom GID. Verify.
|
|
|
|
# Test removing an admin
|
|
* As Bob:
|
|
* removes Alice. (Verify)
|
|
* Re-encrypt
|
|
* Decrypt all & verify.
|
|
* As alice
|
|
* Decrypting should fail.
|
|
|
|
# Test funny names and paths
|
|
* my/path/to/relsecrets.txt
|
|
* cwd=other/place ../../my/path/to/relsecrets.txt
|
|
* !important!.txt
|
|
* #andpounds.txt
|
|
* stars*bars?.txt
|
|
* space space.txt
|
|
* Do add/encrypt/decrypt
|
|
* Do blackbox_update_all_files
|
|
* Do remove them all
|
|
|
|
# When people start asking for commands to work with relative paths
|
|
# Test from outside the repo
|
|
* mkdir ../other/place
|
|
* cd ../other/place
|
|
* decrypt ../../secret1.txt
|
|
* encrypt ../../secret1.txt
|
|
|
|
# Test specific commands:
|
|
# blackbox admins list
|
|
# blackbox file list
|
|
# blackbox status --name-only (create 1 of each "type")
|
|
# blackbox status --type=FOO
|
|
|
|
# These should all fail:
|
|
# blackbox file list --all
|
|
# blackbox file list blah
|
|
# blackbox shred list --all
|
|
# blackbox shred list blah
|
|
|
|
|
|
|
|
rm -rf /tmp/bbhome-* && BLACKBOX_DEBUG=true go test -verbose -long -nocleanup
|
|
rm -rf /tmp/bbhome-* && go test -long -nocleanup
|
|
|
|
( gbb && cd cmd/blackbox && go install ) && blackbox
|
|
|
|
cd /tmp && rm -rf /tmp/bbhome-* ; mkdir /tmp/bbhome-1 ; cd /tmp/bbhome-1 && git init ; gitmeWork ; ( gbb && cd cmd/blackbox && go install ) && blackbox init yes && gitmeWork ; git commit -mm -a ; blackbox admin add tlimoncelli ; git commit -mnewadmin -a ; echo secrt > secret.txt ; blackbox file add secret.txt
|