File Encryption via CryptoSoft DLL
As a user, I want to have eligible files automatically encrypted by CryptoSoft during backup, So that the data stored at my backup destination is protected from unauthorized access.
Given a file whose extension matches the user-defined encryption list,
When the backup engine processes it,
Then it calls CryptoSoft to encrypt the file and writes the encrypted output to the target destination.
Given a file whose extension does not match the encryption list,
When the backup engine processes it,
Then the file is copied in plain text and CryptoSoft is never called.
Given CryptoSoft returns a negative error code for a file,
When the error is received,
Then the engine logs the file path and the error code, skips that file, and continues with the next file without aborting the entire job.
Given a file is encrypted successfully,
When the operation completes,
Then only the encrypted version exists at the destination and no intermediate plain-text copy is left on disk.