### Question:
DefaultCellSTSReqValidator implements CellSTSRequestValidator { @Override public boolean isAuthenticationRequired(CellStsRequest cellStsRequest) throws CellSTSRequestValidationFailedException { String path = cellStsRequest.getRequestContext().getPath(); Optional<String> unProtectedResult = CellStsConfiguration.getInstance().getUnsecuredAPIS().stream(). filter(unProtectedPath -> match(path, unProtectedPath)).findAny(); log.info("Validating isAuthenticaitonRequered for context: {}", path); log.info(CellStsConfiguration.getInstance().getUnsecuredAPIS().toString()); if (unProtectedResult.isPresent()) { log.info("Unprotected resource match found. Hence returning false"); return false; } return true; } DefaultCellSTSReqValidator(); @Override void validate(CellStsRequest cellStsRequest); @Override boolean isAuthenticationRequired(CellStsRequest cellStsRequest);  }### Answer:
@Test(dataProvider = "unsecuredPathDataProvider") public void testIsAuthenticationRequired(String inputPath, boolean isUnsecured) throws Exception { try { CellStsRequest.CellStsRequestBuilder cellStsRequestBuilder = new CellStsRequest.CellStsRequestBuilder(); RequestContext requestContext = new RequestContext(); requestContext.setPath(inputPath); cellStsRequestBuilder.setRequestContext(requestContext); System.setProperty(UNSECURED_PATHS_ENV_VARIABLE, resourceLocation + "/unsecured-paths.json"); CellStsUtils.readUnsecuredContexts(); Assert.assertEquals(defaultCellSTSReqValidator.isAuthenticationRequired(cellStsRequestBuilder.build()), isUnsecured); } finally { System.getProperties().remove(UNSECURED_PATHS_ENV_VARIABLE); } }