makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH
+ HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORE_INFO_ON_REPOSITORY + "/" + rEntry.getName()));
assertEquals(200, cres.getStatus());
DetailedInfo dInfo = (DetailedInfo)getObject(DetailedInfo.class, cres.responseWriter.getBody());
assertNotNull(dInfo);
assertEquals(BackupManager.FULL_BACKUP_ONLY, dInfo.getBackupType().intValue());
assertNotNull(dInfo.getStartedTime());
assertNotNull(dInfo.getFinishedTime());
assertEquals(ShortInfo.RESTORE, dInfo.getType().intValue());
assertEquals(JobRepositoryRestore.REPOSITORY_RESTORE_SUCCESSFUL, dInfo.getState().intValue());
assertEquals(rEntry.getName(), dInfo.getRepositoryName());
assertNotNull(dInfo.getBackupConfig());
cres =
makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH
+ HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORES_REPOSITORY));
assertEquals(200, cres.getStatus());
infoList = (ShortInfoList)getObject(ShortInfoList.class, cres.responseWriter.getBody());
assertNotNull(infoList);
info = new ArrayList<ShortInfo>(infoList.getBackups()).get(0);
assertNotNull(info);
assertEquals(BackupManager.FULL_BACKUP_ONLY, info.getBackupType().intValue());
assertNotNull(info.getStartedTime());
assertNotNull(info.getFinishedTime());
assertEquals(ShortInfo.RESTORE, info.getType().intValue());
assertEquals(JobRepositoryRestore.REPOSITORY_RESTORE_SUCCESSFUL, info.getState().intValue());
assertEquals(rEntry.getName(), info.getRepositoryName());
assertNotNull(info.getBackupId());
// restore by id, "remove-existing" is true
assertTrue(isRepositoryExists(rEntry.getName()));
cres =
makePostRequest(new URI(HTTP_BACKUP_AGENT_PATH + HTTPBackupAgent.Constants.OperationType.RESTORE_REPOSITORY
+ "/" + backupId + "/true"), rEntry);
assertEquals(200, cres.getStatus());
waitRepositoryRestore(rEntry.getName());
assertTrue(isRepositoryExists(rEntry.getName()));
cres =
makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH
+ HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORE_INFO_ON_REPOSITORY + "/" + rEntry.getName()));
assertEquals(200, cres.getStatus());
dInfo = (DetailedInfo)getObject(DetailedInfo.class, cres.responseWriter.getBody());
assertNotNull(dInfo);
assertEquals(BackupManager.FULL_BACKUP_ONLY, info.getBackupType().intValue());
assertNotNull(dInfo.getStartedTime());
assertNotNull(dInfo.getFinishedTime());
assertEquals(ShortInfo.RESTORE, info.getType().intValue());
assertEquals(JobRepositoryRestore.REPOSITORY_RESTORE_SUCCESSFUL, dInfo.getState().intValue());
assertEquals(rEntry.getName(), info.getRepositoryName());
assertNotNull(dInfo.getBackupConfig());
// restore by id, "remove-existing" is false
removeRepositoryFully(rEntry.getName());
assertFalse(isRepositoryExists(rEntry.getName()));
cres =
makePostRequest(new URI(HTTP_BACKUP_AGENT_PATH + HTTPBackupAgent.Constants.OperationType.RESTORE_REPOSITORY
+ "/" + backupId + "/false"), rEntry);
assertEquals(200, cres.getStatus());
waitRepositoryRestore(rEntry.getName());
assertTrue(isRepositoryExists(rEntry.getName()));
cres =
makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH
+ HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORE_INFO_ON_REPOSITORY + "/" + rEntry.getName()));
assertEquals(200, cres.getStatus());
dInfo = (DetailedInfo)getObject(DetailedInfo.class, cres.responseWriter.getBody());
assertNotNull(dInfo);
assertEquals(BackupManager.FULL_BACKUP_ONLY, dInfo.getBackupType().intValue());
assertNotNull(dInfo.getStartedTime());
assertNotNull(dInfo.getFinishedTime());
assertEquals(ShortInfo.RESTORE, dInfo.getType().intValue());
assertEquals(JobRepositoryRestore.REPOSITORY_RESTORE_SUCCESSFUL, dInfo.getState().intValue());
assertEquals(rEntry.getName(), dInfo.getRepositoryName());
assertNotNull(dInfo.getBackupConfig());
// restore by id, "remove-exising" is true
assertTrue(isRepositoryExists(rInfo.rName));
cres =
makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH + HTTPBackupAgent.Constants.OperationType.RESTORE_REPOSITORY
+ "/" + backupId + "/" + "true"));
assertEquals(200, cres.getStatus());
waitRepositoryRestore(rInfo.rName);
assertTrue(isRepositoryExists(rInfo.rName));
cres =
makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH
+ HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORE_INFO_ON_REPOSITORY + "/" + rInfo.rName));
assertEquals(200, cres.getStatus());
dInfo = (DetailedInfo)getObject(DetailedInfo.class, cres.responseWriter.getBody());
assertNotNull(dInfo);
assertEquals(BackupManager.FULL_BACKUP_ONLY, dInfo.getBackupType().intValue());
assertNotNull(dInfo.getStartedTime());
assertNotNull(dInfo.getFinishedTime());
assertEquals(ShortInfo.RESTORE, dInfo.getType().intValue());
assertEquals(JobRepositoryRestore.REPOSITORY_RESTORE_SUCCESSFUL, dInfo.getState().intValue());
assertEquals(rInfo.rName, dInfo.getRepositoryName());
assertNotNull(dInfo.getBackupConfig());
// restore by id, "remove-existing" if false
removeRepositoryFully(rInfo.rName);
assertFalse(isRepositoryExists(rInfo.rName));
cres =
makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH + HTTPBackupAgent.Constants.OperationType.RESTORE_REPOSITORY
+ "/" + backupId + "/false"));
waitRepositoryRestore(rInfo.rName);
assertTrue(isRepositoryExists(rInfo.rName));
cres =
makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH
+ HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORE_INFO_ON_REPOSITORY + "/" + rInfo.rName));
assertEquals(200, cres.getStatus());
dInfo = (DetailedInfo)getObject(DetailedInfo.class, cres.responseWriter.getBody());
assertNotNull(dInfo);
assertEquals(BackupManager.FULL_BACKUP_ONLY, info.getBackupType().intValue());
assertNotNull(dInfo.getStartedTime());
assertNotNull(dInfo.getFinishedTime());
assertEquals(ShortInfo.RESTORE, dInfo.getType().intValue());
assertEquals(JobRepositoryRestore.REPOSITORY_RESTORE_SUCCESSFUL, dInfo.getState().intValue());
assertEquals(rInfo.rName, dInfo.getRepositoryName());
assertNotNull(dInfo.getBackupConfig());
// restore by backup-set path, "remove-existing" is true
assertTrue(isRepositoryExists(rEntry.getName()));
cres =
makePostRequest(new URI(HTTP_BACKUP_AGENT_PATH
+ HTTPBackupAgent.Constants.OperationType.RESTORE_REPOSITORY_BACKUP_SET + "/" + "true"
+ "?backup-set-path=" + backupSetPath), rEntry);
assertEquals(200, cres.getStatus());
waitRepositoryRestore(rEntry.getName());
assertTrue(isRepositoryExists(rEntry.getName()));
cres =
makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH
+ HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORE_INFO_ON_REPOSITORY + "/" + rEntry.getName()));
dInfo = (DetailedInfo)getObject(DetailedInfo.class, cres.responseWriter.getBody());
assertNotNull(dInfo);
assertEquals(BackupManager.FULL_BACKUP_ONLY, dInfo.getBackupType().intValue());
assertNotNull(dInfo.getStartedTime());
assertNotNull(dInfo.getFinishedTime());
assertEquals(ShortInfo.RESTORE, dInfo.getType().intValue());
assertEquals(JobRepositoryRestore.REPOSITORY_RESTORE_SUCCESSFUL, dInfo.getState().intValue());
assertEquals(rEntry.getName(), dInfo.getRepositoryName());
assertNotNull(dInfo.getBackupConfig());
// restore by backup set path, "remove existing" is false
removeRepositoryFully(rEntry.getName());
assertFalse(isRepositoryExists(rEntry.getName()));
cres =
makePostRequest(new URI(HTTP_BACKUP_AGENT_PATH
+ HTTPBackupAgent.Constants.OperationType.RESTORE_REPOSITORY_BACKUP_SET + "/false" + "?backup-set-path="
+ backupSetPath), rEntry);
assertEquals(200, cres.getStatus());
waitRepositoryRestore(rEntry.getName());
assertTrue(isRepositoryExists(rEntry.getName()));
cres =
makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH
+ HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORE_INFO_ON_REPOSITORY + "/" + rEntry.getName()));
assertEquals(200, cres.getStatus());
dInfo = (DetailedInfo)getObject(DetailedInfo.class, cres.responseWriter.getBody());
assertNotNull(dInfo);
assertEquals(BackupManager.FULL_BACKUP_ONLY, dInfo.getBackupType().intValue());
assertNotNull(dInfo.getStartedTime());
assertNotNull(dInfo.getFinishedTime());
assertEquals(ShortInfo.RESTORE, dInfo.getType().intValue());
assertEquals(JobRepositoryRestore.REPOSITORY_RESTORE_SUCCESSFUL, dInfo.getState().intValue());
assertEquals(rEntry.getName(), dInfo.getRepositoryName());
assertNotNull(dInfo.getBackupConfig());
// restore by backup-set-path, "remove-existing" is true
assertTrue(isRepositoryExists(rInfo.rName));
cres =
makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH + HTTPBackupAgent.Constants.OperationType.RESTORE_BACKUP_SET
+ "/true" + "?backup-set-path=" + backupSetPath));
waitRepositoryRestore(rInfo.rName);
assertTrue(isRepositoryExists(rInfo.rName));
cres =
makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH
+ HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORE_INFO_ON_REPOSITORY + "/" + rInfo.rName));
assertEquals(200, cres.getStatus());
dInfo = (DetailedInfo)getObject(DetailedInfo.class, cres.responseWriter.getBody());
assertNotNull(dInfo);
assertEquals(BackupManager.FULL_BACKUP_ONLY, dInfo.getBackupType().intValue());
assertNotNull(dInfo.getStartedTime());
assertNotNull(dInfo.getFinishedTime());
assertEquals(ShortInfo.RESTORE, dInfo.getType().intValue());
assertEquals(JobRepositoryRestore.REPOSITORY_RESTORE_SUCCESSFUL, dInfo.getState().intValue());
assertEquals(rInfo.rName, dInfo.getRepositoryName());
assertNotNull(dInfo.getBackupConfig());
// restore by backup-set-path, "remove-existing" is false
removeRepositoryFully(rInfo.rName);
assertFalse(isRepositoryExists(rInfo.rName));
cres =
makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH + HTTPBackupAgent.Constants.OperationType.RESTORE_BACKUP_SET
+ "/false" + "?backup-set-path=" + backupSetPath));
waitRepositoryRestore(rInfo.rName);
assertTrue(isRepositoryExists(rInfo.rName));
cres =
makeGetRequest(new URI(HTTP_BACKUP_AGENT_PATH
+ HTTPBackupAgent.Constants.OperationType.CURRENT_RESTORE_INFO_ON_REPOSITORY + "/" + rInfo.rName));
assertEquals(200, cres.getStatus());
dInfo = (DetailedInfo)getObject(DetailedInfo.class, cres.responseWriter.getBody());
assertNotNull(dInfo);
assertEquals(BackupManager.FULL_BACKUP_ONLY, dInfo.getBackupType().intValue());
assertNotNull(dInfo.getStartedTime());
assertNotNull(dInfo.getFinishedTime());
assertEquals(ShortInfo.RESTORE, dInfo.getType().intValue());
assertEquals(JobRepositoryRestore.REPOSITORY_RESTORE_SUCCESSFUL, dInfo.getState().intValue());
assertEquals(rInfo.rName, dInfo.getRepositoryName());
assertNotNull(dInfo.getBackupConfig());
}