diff --git a/src/main/java/com/lpvs/service/LPVSQueueService.java b/src/main/java/com/lpvs/service/LPVSQueueService.java index 195718eb..697a062d 100644 --- a/src/main/java/com/lpvs/service/LPVSQueueService.java +++ b/src/main/java/com/lpvs/service/LPVSQueueService.java @@ -146,40 +146,7 @@ public BlockingDeque getQueue() { public void checkForQueue() throws InterruptedException { log.debug("Checking for previous queue"); List webhookConfigList = queueRepository.getQueueList(); - if (webhookConfigList.size() > 0) { - LPVSQueue webhookConfig = getLatestScan(webhookConfigList); - webhookConfig.setAttempts(webhookConfig.getAttempts() + 1); - queueRepository.save(webhookConfig); - } for (LPVSQueue webhook : webhookConfigList) { - log.info("PROCESSING WebHook id = " + webhook.getId()); - if (webhook.getAttempts() > maxAttempts) { - LPVSPullRequest pullRequest = new LPVSPullRequest(); - pullRequest.setPullRequestUrl(webhook.getPullRequestUrl()); - pullRequest.setUser(webhook.getUserId()); - pullRequest.setPullRequestFilesUrl(webhook.getPullRequestFilesUrl()); - pullRequest.setRepositoryName( - LPVSWebhookUtil.getRepositoryOrganization(webhook) - + "/" - + LPVSWebhookUtil.getRepositoryName(webhook)); - pullRequest.setDate(webhook.getDate()); - pullRequest.setStatus(LPVSPullRequestStatus.NO_ACCESS.toString()); - pullRequest.setPullRequestHead(webhook.getPullRequestHead()); - pullRequest.setPullRequestBase(webhook.getPullRequestBase()); - pullRequest.setSender(webhook.getSender()); - pullRequest = lpvsPullRequestRepository.saveAndFlush(pullRequest); - - if (webhook.getUserId().equals("GitHub hook")) { - gitHubService.setErrorCheck(webhook); - } - queueRepository.deleteById(webhook.getId()); - log.info( - "Webhook id = " - + webhook.getId() - + " is deleted. Details on PR #" - + pullRequest.getId()); - continue; - } log.info("Add WebHook id = " + webhook.getId() + " to the queue."); QUEUE.putFirst(webhook); } @@ -210,8 +177,13 @@ public LPVSQueue getLatestScan(List webhookConfigList) { public void processWebHook(LPVSQueue webhookConfig) { LPVSPullRequest pullRequest = new LPVSPullRequest(); try { - log.info("GitHub queue processing..."); - log.debug(webhookConfig.toString()); + log.info( + "Processing webhook ID: " + + webhookConfig.getId() + + ", attempt: " + + webhookConfig.getAttempts() + + " for PR: " + + webhookConfig.getPullRequestUrl()); String filePath = gitHubService.getPullRequestFiles(webhookConfig); @@ -258,14 +230,13 @@ public void processWebHook(LPVSQueue webhookConfig) { log.debug("Creating comment"); gitHubService.commentResults(webhookConfig, files, detectedConflicts, pullRequest); log.debug("Results posted on GitHub"); + delete(webhookConfig); } else { log.warn("Files are not found. Probably pull request is not exists."); gitHubService.commentResults(webhookConfig, null, null, pullRequest); - delete(webhookConfig); throw new Exception( "Files are not found. Probably pull request does not exist. Terminating."); } - delete(webhookConfig); } catch (Exception | Error e) { pullRequest.setStatus(LPVSPullRequestStatus.INTERNAL_ERROR.toString()); pullRequest = lpvsPullRequestRepository.saveAndFlush(pullRequest); @@ -273,7 +244,7 @@ public void processWebHook(LPVSQueue webhookConfig) { e.printStackTrace(); int currentAttempts = webhookConfig.getAttempts(); if (currentAttempts < maxAttempts) { - webhookConfig.setAttempts(currentAttempts++); + webhookConfig.setAttempts(currentAttempts + 1); try { addFirst(webhookConfig); } catch (InterruptedException e1) { diff --git a/src/test/java/com/lpvs/service/LPVSQueueServiceTest.java b/src/test/java/com/lpvs/service/LPVSQueueServiceTest.java index 8882c8a5..01537c1b 100644 --- a/src/test/java/com/lpvs/service/LPVSQueueServiceTest.java +++ b/src/test/java/com/lpvs/service/LPVSQueueServiceTest.java @@ -841,26 +841,11 @@ void setUp() { @Test public void testCheckForQueue() { - LPVSQueue webhookConfig = new LPVSQueue(); - webhookConfig.setAttempts(0); - webhookConfig.setDate(new Date()); - when(mocked_queueRepository.getQueueList()).thenReturn(List.of(webhookConfig)); - assertDoesNotThrow(() -> queueService.checkForQueue()); - verify(mocked_queueRepository).save(webhookConfig); - } - - @Test - public void testCheckForQueue__Alternative() { LPVSQueue webhookConfig = new LPVSQueue(); webhookConfig.setAttempts(100); webhookConfig.setDate(new Date()); - webhookConfig.setUserId("id"); - webhookConfig.setRepositoryUrl("https://github.com/Samsung/LPVS"); when(mocked_queueRepository.getQueueList()).thenReturn(List.of(webhookConfig)); - when(mocked_lpvsPullRequestRepository.saveAndFlush(Mockito.any(LPVSPullRequest.class))) - .thenAnswer(i -> i.getArguments()[0]); assertDoesNotThrow(() -> queueService.checkForQueue()); - verify(mocked_queueRepository).save(webhookConfig); } @Test