import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
-import com.google.common.util.concurrent.Uninterruptibles;
-import java.time.Instant;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.UUID;
-import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicReference;
import java.util.function.Predicate;
import java.util.stream.Collectors;
}
protected boolean getExpectedRetryEnabled(JobStatus jobStatus) {
- return Features.FLAG_1902_RETRY_JOB.isActive() && (jobStatus==JobStatus.FAILED || jobStatus==JobStatus.COMPLETED_WITH_ERRORS);
+ return Features.FLAG_1902_RETRY_JOB.isActive() && (jobStatus==JobStatus.FAILED || jobStatus==JobStatus.COMPLETED_WITH_ERRORS
+ || jobStatus==JobStatus.FAILED_AND_PAUSED);
}
public List<BasePreset> getPresets(List<PresetMSOBaseDelete> presetOnDeleteList, List<PresetMSOBaseCreateInstancePost> presetOnCreateList, List<PresetMSOOrchestrationRequestGet> presetInProgressList) {
}
protected void assertAndRetryIfNeeded(Runnable asserter, long timeoutInSeconds) {
- final Instant expiry = Instant.now().plusSeconds(timeoutInSeconds);
- while (true) {
- try {
- asserter.run();
- break; // we're cool, assertion passed
- } catch (AssertionError fail) {
- Uninterruptibles.sleepUninterruptibly(1, TimeUnit.SECONDS);
- if (Instant.now().isAfter(expiry)) {
- throw fail;
- } else {
- System.out.println("retrying after: " + fail);
- }
- }
- }
+ TestUtils.assertAndRetryIfNeeded(timeoutInSeconds, asserter);
}
protected ImmutableList<JobAuditStatus> vidAuditStatusesCompletedWithErrors(String jobId) {
return ImmutableList.of(
vidAuditStatus(jobId, "PENDING", false),
vidAuditStatus(jobId, "IN_PROGRESS", false),
- vidAuditStatus(jobId, "COMPLETED_WITH_ERRORS", true)
+ vidAuditStatus(jobId, "COMPLETED_WITH_ERROR", true)
);
}
vidAuditStatus(jobId, "FAILED", true)
);
}
-
+ protected ImmutableList<JobAuditStatus> vidAuditStatusesFailedAndPaused(String jobId) {
+ return ImmutableList.of(
+ vidAuditStatus(jobId, "PENDING", false),
+ vidAuditStatus(jobId, "IN_PROGRESS", false),
+ vidAuditStatus(jobId, "FAILED_AND_PAUSED", true)
+ );
+ }
protected JobAuditStatus vidAuditStatus(String jobId, String jobStatus, boolean isFinal) {
return new JobAuditStatus(UUID.fromString(jobId), jobStatus, JobAuditStatus.SourceStatus.VID, null, null, isFinal);
}
org.junit.Assert.assertEquals("MSO instanceType #" + i + " is not as expected", expectedStatus.getInstanceType(), actualStatus.getInstanceType());
});
}
+ protected static JobStatus getErrorStatus() {
+ return Features.FLAG_2008_PAUSE_VFMODULE_INSTANTIATION_FAILURE.isActive() ?
+ JobStatus.FAILED_AND_PAUSED : JobStatus.COMPLETED_WITH_ERRORS;
+ }
}