use of com.mercedesbenz.sechub.sharedkernel.ProgressMonitor in project sechub by mercedes-benz.
the class ScanServiceTest method before.
@Before
public void before() throws Exception {
storageService = mock(StorageService.class);
jobStorage = mock(JobStorage.class);
scanProjectConfigService = mock(ScanProjectConfigService.class);
scanJobRegistry = mock(ScanJobListener.class);
monitorFactory = mock(ScanProgressMonitorFactory.class);
ProgressMonitor monitor = mock(ProgressMonitor.class);
when(monitor.getId()).thenReturn("monitor-test-id");
when(storageService.getJobStorage(any(), any())).thenReturn(jobStorage);
when(monitorFactory.createProgressMonitor(any())).thenReturn(monitor);
webScanProductExecutionService = mock(WebScanProductExecutionService.class);
codeScanProductExecutionService = mock(CodeScanProductExecutionService.class);
infrastructureScanProductExecutionService = mock(InfrastructureScanProductExecutionService.class);
scanLogService = mock(ProjectScanLogService.class);
reportService = mock(CreateScanReportService.class);
report = mock(ScanReport.class);
when(report.getTrafficLightAsString()).thenReturn(TRAFFIC_LIGHT);
when(reportService.createReport(any())).thenReturn(report);
serviceToTest = new ScanService();
serviceToTest.webScanProductExecutionService = webScanProductExecutionService;
serviceToTest.infraScanProductExecutionService = infrastructureScanProductExecutionService;
serviceToTest.codeScanProductExecutionService = codeScanProductExecutionService;
serviceToTest.reportService = reportService;
serviceToTest.storageService = storageService;
serviceToTest.scanLogService = scanLogService;
serviceToTest.scanProjectConfigService = scanProjectConfigService;
serviceToTest.scanJobListener = scanJobRegistry;
serviceToTest.monitorFactory = monitorFactory;
}
use of com.mercedesbenz.sechub.sharedkernel.ProgressMonitor in project sechub by mercedes-benz.
the class ScanService method executeScan.
protected void executeScan(SecHubExecutionContext context, DomainMessage request) throws SecHubExecutionException {
DomainDataTraceLogID sechubJobUUID = traceLogID(request);
LOG.info("start scan for {}", sechubJobUUID);
UUID logUUID = scanLogService.logScanStarted(context);
try {
BatchJobMessage jobIdMessage = request.get(MessageDataKeys.BATCH_JOB_ID);
if (jobIdMessage == null) {
throw new IllegalStateException("no batch job id set for sechub job:" + sechubJobUUID);
}
long batchJobId = jobIdMessage.getBatchJobId();
ProgressMonitor progressMonitor = monitorFactory.createProgressMonitor(batchJobId);
/* delegate execution : */
ScanJobExecutor executor = new ScanJobExecutor(this, context, progressMonitor, millisecondsToWaitBeforeCancelCheck);
executor.execute();
scanLogService.logScanEnded(logUUID);
} catch (Exception e) {
if (context.isAbandonded()) {
scanLogService.logScanAbandoned(logUUID);
} else {
scanLogService.logScanFailed(logUUID);
}
/* rethrow when already an execution exception */
if (e instanceof SecHubExecutionException) {
SecHubExecutionException exceptionToRethrow = (SecHubExecutionException) e;
throw exceptionToRethrow;
}
/* wrap it */
throw new SecHubExecutionException("Execute scan failed", e);
}
}
Aggregations