### Question:
GcpBackupUploader extends AbstractBackupUploader { @Override public void doRemoveBackup(String uniqueFileName) throws BackupException { try { validatePathParameter(uniqueFileName, "unique file name"); storage.delete(bucketName, getFullUploadObject(uniqueFileName)); } catch (Exception e) { throw new BackupException("Error with removing backup file: " + e.getMessage(), e); } } GcpBackupUploader(String uploadFilePath, String gcpProjectId, Storage storage);  GcpBackupUploader(String uploadFilePath, String gcpProjectId, String oauthScopes); @Override void doWriteBackup(InputStream backupData, String uniqueFileName); @Override InputStream doReadBackup(String uniqueFileName); @Override void doRemoveBackup(String uniqueFileName); String getProjectId(); String getBucketName(); String getUploadFolder(); Credentials getCredential(String oauthScopes);  }### Answer:
@Test public void removeBackup_Failed_OnEmptyUniqueFileName() throws IBackupUploader.BackupException { exceptionRule.expect(IBackupUploader.BackupException.class); exceptionRule.expectMessage("Invalid upload path, parameter - unique file name is blank."); gcpBackupUploader.doRemoveBackup(""); }
@Test public void removeBackup_Failed_OnNotExistsUploadPath() throws IOException { new GcpBackupUploader(NOT_EXISTS_UPLOAD_PATH, GCP_PROJECT_ID, storageMock).doRemoveBackup(UNIQ_NAME_REMOVE); }