@Test public void getDistributionTest() throws Exception { Map<String, Long> sevDistubutionMap = new HashMap<>(); sevDistubutionMap.put("high", 100l); sevDistubutionMap.put("security", 200l); Map<String, Object> ruleCategoryDistubutionMap = new HashMap<>(); ruleCategoryDistubutionMap.put("high", 100l); ruleCategoryDistubutionMap.put("security", 200l); when(complianceRepository.getTargetTypeForAG(anyString(), anyString())) .thenReturn(CommonTestUtil.getTargetTypes()); long issueCount = 100; when( complianceRepository.getIssuesCount(anyString(), anyString(), anyString())).thenReturn(issueCount); when(complianceRepository.getRuleIds(anyString())).thenReturn( CommonTestUtil.getRules()); when( complianceRepository.getRulesDistribution(anyString(), anyString(), anyObject(), anyString())).thenReturn( sevDistubutionMap); when( complianceRepository.getRulesDistribution(anyString(), anyString(), anyObject(), anyString())).thenReturn( sevDistubutionMap); when( complianceRepository.getRuleCategoryPercentage(anyObject(), anyObject())).thenReturn(ruleCategoryDistubutionMap); assertThat( complianceService.getDistribution("dummyString", "dummyString"), is(notNullValue())); }
@Override public Map<String, Object> getDistribution(String assetGroup, String domain) throws ServiceException { try { Map<String, Object> distribution = new HashMap<>(); String targetTypes = repository.getTargetTypeForAG(assetGroup, domain); List<Object> rules = repository.getRuleIds(targetTypes); Long totalIssues = getIssuesCount(assetGroup, null, domain); Map<String, Long> ruleSeverityDistribution = repository.getRulesDistribution(assetGroup, domain, rules, SEVERITY); Map<String, Long> ruleCategoryDistribution = repository.getRulesDistribution(assetGroup, domain, rules, RULE_CATEGORY); Map<String, Object> ruleCategoryPercentage = repository.getRuleCategoryPercentage(ruleCategoryDistribution, totalIssues); distribution.put("distribution_by_severity", ruleSeverityDistribution); distribution.put("distribution_ruleCategory", ruleCategoryDistribution); distribution.put("ruleCategory_percentage", ruleCategoryPercentage); distribution.put("total_issues", totalIssues); return distribution; } catch (DataException e) { throw new ServiceException(e); } }
ComplianceServiceImpl implements ComplianceService, Constants { @Override public Map<String, Object> getDistribution(String assetGroup, String domain) throws ServiceException { try { Map<String, Object> distribution = new HashMap<>(); String targetTypes = repository.getTargetTypeForAG(assetGroup, domain); List<Object> rules = repository.getRuleIds(targetTypes); Long totalIssues = getIssuesCount(assetGroup, null, domain); Map<String, Long> ruleSeverityDistribution = repository.getRulesDistribution(assetGroup, domain, rules, SEVERITY); Map<String, Long> ruleCategoryDistribution = repository.getRulesDistribution(assetGroup, domain, rules, RULE_CATEGORY); Map<String, Object> ruleCategoryPercentage = repository.getRuleCategoryPercentage(ruleCategoryDistribution, totalIssues); distribution.put("distribution_by_severity", ruleSeverityDistribution); distribution.put("distribution_ruleCategory", ruleCategoryDistribution); distribution.put("ruleCategory_percentage", ruleCategoryPercentage); distribution.put("total_issues", totalIssues); return distribution; } catch (DataException e) { throw new ServiceException(e); } } }
ComplianceServiceImpl implements ComplianceService, Constants { @Override public Map<String, Object> getDistribution(String assetGroup, String domain) throws ServiceException { try { Map<String, Object> distribution = new HashMap<>(); String targetTypes = repository.getTargetTypeForAG(assetGroup, domain); List<Object> rules = repository.getRuleIds(targetTypes); Long totalIssues = getIssuesCount(assetGroup, null, domain); Map<String, Long> ruleSeverityDistribution = repository.getRulesDistribution(assetGroup, domain, rules, SEVERITY); Map<String, Long> ruleCategoryDistribution = repository.getRulesDistribution(assetGroup, domain, rules, RULE_CATEGORY); Map<String, Object> ruleCategoryPercentage = repository.getRuleCategoryPercentage(ruleCategoryDistribution, totalIssues); distribution.put("distribution_by_severity", ruleSeverityDistribution); distribution.put("distribution_ruleCategory", ruleCategoryDistribution); distribution.put("ruleCategory_percentage", ruleCategoryPercentage); distribution.put("total_issues", totalIssues); return distribution; } catch (DataException e) { throw new ServiceException(e); } }  }
ComplianceServiceImpl implements ComplianceService, Constants { @Override public Map<String, Object> getDistribution(String assetGroup, String domain) throws ServiceException { try { Map<String, Object> distribution = new HashMap<>(); String targetTypes = repository.getTargetTypeForAG(assetGroup, domain); List<Object> rules = repository.getRuleIds(targetTypes); Long totalIssues = getIssuesCount(assetGroup, null, domain); Map<String, Long> ruleSeverityDistribution = repository.getRulesDistribution(assetGroup, domain, rules, SEVERITY); Map<String, Long> ruleCategoryDistribution = repository.getRulesDistribution(assetGroup, domain, rules, RULE_CATEGORY); Map<String, Object> ruleCategoryPercentage = repository.getRuleCategoryPercentage(ruleCategoryDistribution, totalIssues); distribution.put("distribution_by_severity", ruleSeverityDistribution); distribution.put("distribution_ruleCategory", ruleCategoryDistribution); distribution.put("ruleCategory_percentage", ruleCategoryPercentage); distribution.put("total_issues", totalIssues); return distribution; } catch (DataException e) { throw new ServiceException(e); } }  @Override long getIssuesCount(String assetGroup, String ruleId, String domain); @Override ResponseWithOrder getIssues(Request request); @Override Map<String, Object> getDistribution(String assetGroup, String domain); @Override Map<String, Long> getTagging(String assetGroup, String targetType); @Override Map<String, Long> getCertificates(String assetGroup); @Override Map<String, Long> getPatching(String assetGroup, String targetType, String application); List<Map<String, Object>> getRecommendations(String assetGroup, String targetType); ResponseWithOrder getIssueAuditLog(String annotationId, String targetType, int from, int size,
            String searchText); List<Map<String, Object>> getResourceDetails(String assetGroup, String resourceId); @Override Boolean addIssueException(final IssueResponse issueException); @SuppressWarnings("rawtypes") ResponseWithOrder getRulecompliance(Request request); @Override Map<String, Object> closeIssuesByRule(final RuleDetails ruleDetails); JsonArray getRuleDetailsByApplicationFromES(String assetGroup, String ruleId, String searchText); List<Map<String, Object>> getRuleDetailsbyEnvironment(String assetGroup, String ruleId, String application,
            String searchText); Map<String, Object> getRuleDescription(String ruleId); @Override Boolean revokeIssueException(final String issueId); @Override Map<String, Object> getKernelComplianceByInstanceIdFromDb(String instanceId); @Override Map<String, Object> updateKernelVersion(final KernelVersion kernelVersion); @Override Map<String, Object> getOverallComplianceByDomain(String assetGroup, String domain); @Override List<String> getResourceType(String assetgroup, String domain); @SuppressWarnings("serial") @Override List<Map<String, Object>> getRuleSevCatDetails(List<Map<String, Object>> ruleDetails); PolicyViolationDetails getPolicyViolationDetailsByIssueId(String assetGroup, String issueId); ResponseEntity<Object> formatException(ServiceException e); @Override Map<String, String> getCurrentKernelVersions(); @Override IssueExceptionResponse addMultipleIssueException(IssuesException issuesException); @Override IssueExceptionResponse revokeMultipleIssueException(List<String> issueIds); @SuppressWarnings("unchecked") List<Map<String, Object>> getRuleDetailsbyApplication(String assetGroup, String ruleId, String searchText); }
ComplianceServiceImpl implements ComplianceService, Constants { @Override public Map<String, Object> getDistribution(String assetGroup, String domain) throws ServiceException { try { Map<String, Object> distribution = new HashMap<>(); String targetTypes = repository.getTargetTypeForAG(assetGroup, domain); List<Object> rules = repository.getRuleIds(targetTypes); Long totalIssues = getIssuesCount(assetGroup, null, domain); Map<String, Long> ruleSeverityDistribution = repository.getRulesDistribution(assetGroup, domain, rules, SEVERITY); Map<String, Long> ruleCategoryDistribution = repository.getRulesDistribution(assetGroup, domain, rules, RULE_CATEGORY); Map<String, Object> ruleCategoryPercentage = repository.getRuleCategoryPercentage(ruleCategoryDistribution, totalIssues); distribution.put("distribution_by_severity", ruleSeverityDistribution); distribution.put("distribution_ruleCategory", ruleCategoryDistribution); distribution.put("ruleCategory_percentage", ruleCategoryPercentage); distribution.put("total_issues", totalIssues); return distribution; } catch (DataException e) { throw new ServiceException(e); } }  @Override long getIssuesCount(String assetGroup, String ruleId, String domain); @Override ResponseWithOrder getIssues(Request request); @Override Map<String, Object> getDistribution(String assetGroup, String domain); @Override Map<String, Long> getTagging(String assetGroup, String targetType); @Override Map<String, Long> getCertificates(String assetGroup); @Override Map<String, Long> getPatching(String assetGroup, String targetType, String application); List<Map<String, Object>> getRecommendations(String assetGroup, String targetType); ResponseWithOrder getIssueAuditLog(String annotationId, String targetType, int from, int size,
            String searchText); List<Map<String, Object>> getResourceDetails(String assetGroup, String resourceId); @Override Boolean addIssueException(final IssueResponse issueException); @SuppressWarnings("rawtypes") ResponseWithOrder getRulecompliance(Request request); @Override Map<String, Object> closeIssuesByRule(final RuleDetails ruleDetails); JsonArray getRuleDetailsByApplicationFromES(String assetGroup, String ruleId, String searchText); List<Map<String, Object>> getRuleDetailsbyEnvironment(String assetGroup, String ruleId, String application,
            String searchText); Map<String, Object> getRuleDescription(String ruleId); @Override Boolean revokeIssueException(final String issueId); @Override Map<String, Object> getKernelComplianceByInstanceIdFromDb(String instanceId); @Override Map<String, Object> updateKernelVersion(final KernelVersion kernelVersion); @Override Map<String, Object> getOverallComplianceByDomain(String assetGroup, String domain); @Override List<String> getResourceType(String assetgroup, String domain); @SuppressWarnings("serial") @Override List<Map<String, Object>> getRuleSevCatDetails(List<Map<String, Object>> ruleDetails); PolicyViolationDetails getPolicyViolationDetailsByIssueId(String assetGroup, String issueId); ResponseEntity<Object> formatException(ServiceException e); @Override Map<String, String> getCurrentKernelVersions(); @Override IssueExceptionResponse addMultipleIssueException(IssuesException issuesException); @Override IssueExceptionResponse revokeMultipleIssueException(List<String> issueIds); @SuppressWarnings("unchecked") List<Map<String, Object>> getRuleDetailsbyApplication(String assetGroup, String ruleId, String searchText);  }