Blobstore
E2E Test Scenarios
Public API
Internal API
POSITIVE TESTS ✅
UPLOADs
Upload Documents (PDF, PNG, GIF, DOC)
NEGATIVE TESTS ❌
UPLOADS
Upload a file by adding fake metadata on the Date.
Ideas for Naughty Strings:
- non-US date/time formats (e.g. 2017.01.16)
- Illegal dates/times (e.g. 2017-01-32 26:00)
- Leap Day on non-leap year (e.g. 2017-02-29)
- Timezones/illegal timezones
Upload Zipped files
CONFIGURATION
CLONING A BLOB
RETRIEVE BLOBS
Given a Tenant and the blob UUID this should be cloned as expected
Given a UUID and Tenant try to retrieve a Blob
RETRIEVE BLOBS
Given a correct UUID and a wrong tenant try to retrieve
Given both wrong Tenant and UUID try to retrieve
DELETE A BLOB
click to edit
DELETE
Given a list of UUID's try to delete them all (Batch)
Retreive Metadata [URL generation]
Given a Tenant retrieve all metadata's blobs
Given a list of UUIDs on Body
Given an authorizedUser ID on body
Given a validFor in seconds on body
Retrieve blob's urls
Given one blob UUID on body
Given a list of UUIDs on body
Returned array respects the UUIDs order, if [UUID1, UUID2] then returned hash will be [url1, url2]
Download
GET /blobstore/blob/blob_uuid?private=privacy&expires=expiration&mac=mac&docName=name
Given a valid docName for a file that doesn't contain metadata
Given a valid docName for a file that already contains
metadata
Given a wrong UUID
Given a privacy to true
Given the expiration
Given a valid MAC
Given an invalid MAC
Download blob format
GET /blobstore/blob/blob_uuid/format/format_name?useDefault=true&private=privacy&expires=expiration&mac=mac&docName=name
Given a valid Format Name
Given a wrong Format Name and setting useDefault to TRUE
Given a wrong MAC
Given a valid docName for a file that doesn't contain metadata
MIME-types whitelist/blacklist checking
Given an UUID and Tenant delete it
Upload a file by adding fake metadata on the name.
Ideas for Naughty Strings Here
Given a non existing UUID try to delete it
CLONING A BLOB
From a user that belongs to tenant X try to upload a file specifying tenant Y
GIVEN an encrypted file try to upload it
Given a Tenant and a NULL UUID try to retrieve
Given a Wrong Tenant and the blob UUID this should be cloned as expected
BOUNDARY TESTS ⚠