### Question:
ServiceAccountWithSvcRule extends BaseRule { @Override public RuleResult execute(Map<String, String> ruleParam, Map<String, String> resourceAttributes) { logger.debug("========ServiceAccountWithSvcRule started========="); Annotation annotation = null; String resourceId = null; String severity = ruleParam.get(PacmanRuleConstants.SEVERITY); String category = ruleParam.get(PacmanRuleConstants.CATEGORY); MDC.put("executionId", ruleParam.get("executionId")); MDC.put("ruleId", ruleParam.get(PacmanSdkConstants.RULE_ID)); List<LinkedHashMap<String,Object>>issueList = new ArrayList<>(); LinkedHashMap<String,Object>issue = new LinkedHashMap<>(); if (!PacmanUtils.doesAllHaveValue(severity,category)) { logger.info(PacmanRuleConstants.MISSING_CONFIGURATION); throw new InvalidInputException(PacmanRuleConstants.MISSING_CONFIGURATION); } if (resourceAttributes != null) { resourceId = resourceAttributes.get(PacmanSdkConstants.RESOURCE_ID); if(!StringUtils.startsWith(resourceId, PacmanRuleConstants.SVC_ATTR) && !StringUtils.startsWith(resourceId, PacmanRuleConstants.CAP_SVC_ATTR) && !StringUtils.startsWith(resourceId, PacmanRuleConstants.CAPITAL_SVC_ATTR)){ logger.info(resourceId, "=========_resourceId"); annotation = Annotation.buildAnnotation(ruleParam, Annotation.Type.ISSUE); annotation.put(PacmanSdkConstants.DESCRIPTION,"Non service account found !!"); annotation.put(PacmanRuleConstants.SEVERITY, severity); annotation.put(PacmanRuleConstants.CATEGORY, category); issue.put(PacmanRuleConstants.VIOLATION_REASON, "Service account doesn't started with svc_"); issueList.add(issue); annotation.put("issueDetails",issueList.toString()); logger.debug("========ServiceAccountWithSvcRule ended with an annotation : {}=========", annotation); return new RuleResult(PacmanSdkConstants.STATUS_FAILURE,PacmanRuleConstants.FAILURE_MESSAGE, annotation); } } logger.debug("========ServiceAccountWithSvcRule ended========="); return new RuleResult(PacmanSdkConstants.STATUS_SUCCESS,PacmanRuleConstants.SUCCESS_MESSAGE); }  @Override RuleResult execute(Map<String, String> ruleParam, Map<String, String> resourceAttributes); @Override String getHelpText();  }### Answer:
@Test public void executeTest() throws Exception { mockStatic(PacmanUtils.class); when(PacmanUtils.doesAllHaveValue(anyString(),anyString())).thenReturn( true); assertThat(accountWithSvcRule.execute(CommonTestUtils.getMapString("r_123 "),CommonTestUtils.getMapString("r_123 ")), is(notNullValue())); assertThat(accountWithSvcRule.execute(CommonTestUtils.getMapString("r_123 "),null), is(notNullValue())); when(PacmanUtils.doesAllHaveValue(anyString(),anyString())).thenReturn( false); assertThatThrownBy( () -> accountWithSvcRule.execute(CommonTestUtils.getMapString("r_123 "),CommonTestUtils.getMapString("r_123 "))).isInstanceOf(InvalidInputException.class); }