updated comparison rule for dynamic err messages
[oom.git] / kubernetes / pomba / charts / pomba-validation-service / resources / bundleconfig / etc / rules / poa-event / default-rules.groovy
index 3f91f8b..ec38724 100644 (file)
@@ -154,8 +154,8 @@ rule {
 rule {
   name        'NDCB-AAI-attribute-comparison'
   category    'INVALID_VALUE'
-  description 'Verify that every attribute in Network-Discovery is the same as in AAI'
-  errorText   'Some attributes in Network-Discovery are not equal to attributes in AAI'
+  description 'Verify that all attributes in Network-Discovery are the same as in AAI'
+  errorText   'Error found with attribute "{0}"; value "{1}" does not exist in Network-Discovery'
   severity    'ERROR'
   attributes  'ndcbItems', 'aaiItems'
   validate    '''
@@ -214,11 +214,14 @@ rule {
         java.util.Map aai = getAttributes(slurper.parseText(aaiItems.toString()))
 
         boolean result = true
+        List<String> details = new ArrayList<>();
         ndcb.any{ ndcbKey, ndcbValueList ->
           def aaiValueList = aai.get("$ndcbKey")
           aaiValueList.each{ aaiValue ->
             if(!ndcbValueList.any{ it == "$aaiValue" }) {
               result = false
+              details.add("$ndcbKey")
+              details.add("$aaiValue")
             }
           }
           if(result == false) {
@@ -226,6 +229,6 @@ rule {
             return true
           }
         }
-        return result
+        return new Tuple2(result, details)
         '''
-}
+}
\ No newline at end of file