updated comparison rule for dynamic err messages 11/69311/1
authorPierre Rioux <pierre.rioux@amdocs.com>
Thu, 27 Sep 2018 13:16:38 +0000 (09:16 -0400)
committerPierre Rioux <pierre.rioux@amdocs.com>
Thu, 27 Sep 2018 13:20:37 +0000 (09:20 -0400)
Change-Id: I251b1cb003a6b342a98d9fe74256a5a9da241d62
Issue-ID: LOG-683
Signed-off-by: Pierre Rioux <pierre.rioux@amdocs.com>
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