GetFileIDs tests
Describes the tests needed to validate the GetFileIDs functionality.
Examples of the commands to run has been given. Though please change the file-id for the next release-test, and make sure to use the right checksum to delete with (just md5sum on the file).
Prerequisites: A least 2 different files are present in the collection.
List all files
- Request listing of all files
- The existing files in the system should be listed with their size and a count of pillars where the file is present.
bash bin/bitmag.sh get-file-ids -c integrationtest1
- The existing files in the system should be listed with their size and a count of pillars where the file is present.
List known file
- Request listing of a single existing file, see it comes back in the listing with the correct file size and pillar count.
bash bin/bitmag.sh get-file-ids -c integrationtest1 -i DefaultFile
List unknown file
- Request listing of a file not in the collection.
- An empty list is returned.
bash bin/bitmag.sh get-file-ids -c integrationtest1 -i This_File_Does_Not_Exist_10293847857675684930201
- An empty list is returned.
Missing files
- Put a new file to a single pillar
bash bin/bitmag.sh put-file -c integrationtest2 -f bin/massupload.sh -i file-ids-test-v1.10.txt
- Request listing of all files.
- Verify that the new file is present on all pillars and that they agree on its size.
bash bin/bitmag.sh get-file-ids -c integrationtest2 -i file-ids-test-v1.10.txt
- Verify that the new file is present on all pillars and that they agree on its size.
- Delete the file on one or more pillars.
bash bin/bitmag.sh delete-file -c integrationtest2 -i file-ids-test-v1.10.txt -p kbpillar2 -C 598c634a8d589b44339cdbffcad1ad44
- Request listing of all files.
- Verify that the pillar count for the file reflects the number of deletions, and that the original set of files is still listed.
bash bin/bitmag.sh get-file-ids -c integrationtest2 -i file-ids-test-v1.10.txt
- Verify that the pillar count for the file reflects the number of deletions, and that the original set of files is still listed.
- Delete the new file on the remaining pillars.
- Verify that the all the pillars only list the original files.
bash bin/bitmag.sh delete-file -c integrationtest2 -i file-ids-test-v1.10.txt -p checksum2 -C 598c634a8d589b44339cdbffcad1ad44
bash bin/bitmag.sh delete-file -c integrationtest2 -i file-ids-test-v1.10.txt -p reference2 -C 598c634a8d589b44339cdbffcad1ad44
bash bin/bitmag.sh delete-file -c integrationtest2 -i file-ids-test-v1.10.txt -p sbtape2 -C 598c634a8d589b44339cdbffcad1ad44
bash bin/bitmag.sh delete-file -c integrationtest2 -i file-ids-test-v1.10.txt -p sbdisk1 -C 598c634a8d589b44339cdbffcad1ad44
bash bin/bitmag.sh get-file-ids -c integrationtest2 -i file-ids-test-v1.10.txt
- Verify that the all the pillars only list the original files.
Bad arguments
- Try getting all file ids from a non-existing collection
- Should fail with an error telling the existing collections.
bash bin/bitmag.sh get-file-ids -c integrationtest3
- Should fail with an error telling the existing collections.
- Try getting the file ids from a non-existing pillar
- Should fail with an appropriate error containing the existing pillars
bash bin/bitmag.sh get-file-ids -c integrationtest2 -p I_Am_Not_A_Pillar
- Should fail with an appropriate error containing the existing pillars
- Try getting a file from a pillar in a different collection
- Should fail with an appropriate error containing the existing pillars for the collection
bash bin/bitmag.sh get-file-ids -c netarkiv -p reference2
- Should fail with an appropriate error containing the existing pillars for the collection
Open issues