diff --git a/sample-apps/springboot/build.gradle.kts b/sample-apps/springboot/build.gradle.kts index 242e72135..c14ede174 100644 --- a/sample-apps/springboot/build.gradle.kts +++ b/sample-apps/springboot/build.gradle.kts @@ -37,7 +37,7 @@ dependencies { implementation("io.opentelemetry:opentelemetry-api:1.34.1") implementation("software.amazon.awssdk:s3") implementation("software.amazon.awssdk:sts") - implementation("com.mysql:mysql-connector-j:8.0.33") + implementation("com.mysql:mysql-connector-j:8.4.0") } jib { diff --git a/validator/src/main/java/com/amazon/aoc/validators/CWLogValidator.java b/validator/src/main/java/com/amazon/aoc/validators/CWLogValidator.java index 401281cb0..521be6a6c 100644 --- a/validator/src/main/java/com/amazon/aoc/validators/CWLogValidator.java +++ b/validator/src/main/java/com/amazon/aoc/validators/CWLogValidator.java @@ -66,9 +66,11 @@ public void validate() throws Exception { String operation = (String) expectedAttributes.get("Operation"); String remoteService = (String) expectedAttributes.get("RemoteService"); String remoteOperation = (String) expectedAttributes.get("RemoteOperation"); + String remoteResourceType = (String) expectedAttributes.get("RemoteResourceType"); + String remoteResourceIdentifier = (String) expectedAttributes.get("RemoteResourceIdentifier"); Map actualLog = - this.getActualLog(operation, remoteService, remoteOperation); + this.getActualLog(operation, remoteService, remoteOperation, remoteResourceType, remoteResourceIdentifier); log.info("Value of an actual log: {}", actualLog); if (actualLog == null) throw new BaseException(ExceptionCode.EXPECTED_LOG_NOT_FOUND); @@ -126,7 +128,7 @@ private JsonifyArrayList> getExpectedAttributes() throws Exc } private Map getActualLog( - String operation, String remoteService, String remoteOperation) throws Exception { + String operation, String remoteService, String remoteOperation, String remoteResourceType, String remoteResourceIdentifier) throws Exception { String dependencyFilter = null; // Dependency calls will have the remoteService and remoteOperation attribute, but service calls @@ -139,6 +141,10 @@ private Map getActualLog( dependencyFilter = String.format("&& ($.RemoteService = \"%s\") && ($.RemoteOperation = \"%s\")", remoteService, remoteOperation); } + if (remoteResourceType != null && remoteResourceIdentifier != null) { + dependencyFilter += String.format(" && ($.RemoteResourceType = %%%s%%) && ($.RemoteResourceIdentifier = %%%s%%)", remoteResourceType, remoteResourceIdentifier); + } + String filterPattern = String.format("{ ($.Service = %s) && ($.Operation = \"%s\") %s }", context.getServiceName(), operation, dependencyFilter); log.info("Filter Pattern for Log Search: " + filterPattern);