2015-04-23 1 views
1

Je trouve difficile. Comment valider ci-dessous le contenu de la réponse en utilisant Rest-Assured?Comment valider une réponse dans un contenu protégé à partir d'un tableau JSON qui n'a pas de nom de tableau?

 { 
      "code":268, 
      "name":"Result-Code", 
      "value":2001, 
      "type":"UNSIGNED32", 
      "group":[ 

      ], 
      "grouped":false 
     }, 

Si ceci est ma réponse:

[ 
{ 
    "avps":[ 
     { 
      "code":263, 
      "name":"Session-Id", 
      "value":"ocstest;766666665;766666665", 
      "type":"UTF8STRING", 
      "group":[ 

      ], 
      "grouped":false 
     }, 
     { 
      "code":260, 
      "name":"Vendor-Specific-Application-Id", 
      "value":"<Grouped>", 
      "type":"GROUPED", 
      "group":[ 
       { 
        "code":265, 
        "name":"Supported-Vendor-Id", 
        "value":0, 
        "type":"UNSIGNED32", 
        "group":[ 

        ], 
        "grouped":false 
       }, 
       { 
        "code":258, 
        "name":"Auth-Application-Id", 
        "value":4, 
        "type":"UNSIGNED32", 
        "group":[ 

        ], 
        "grouped":false 
       }, 
       { 
        "code":259, 
        "name":"Acct-Application-Id", 
        "value":0, 
        "type":"UNSIGNED32", 
        "group":[ 

        ], 
        "grouped":false 
       } 
      ], 
      "grouped":true 
     }, 
     { 
      "code":268, 
      "name":"Result-Code", 
      "value":2001, 
      "type":"UNSIGNED32", 
      "group":[ 

      ], 
      "grouped":false 
     }, 
     { 
      "code":416, 
      "name":"CC-Request-Type", 
      "value":1, 
      "type":"INT32", 
      "group":[ 

      ], 
      "grouped":false 
     }, 
     { 
      "code":415, 
      "name":"CC-Request-Number", 
      "value":0, 
      "type":"UNSIGNED32", 
      "group":[ 

      ], 
      "grouped":false 
     }, 
     { 
      "code":431, 
      "name":"Granted-Service-Unit", 
      "value":"<Grouped>", 
      "type":"GROUPED", 
      "group":[ 
       { 
        "code":420, 
        "name":"CC-Time", 
        "value":240, 
        "type":"UNSIGNED32", 
        "group":[ 

        ], 
        "grouped":false 
       } 
      ], 
      "grouped":true 
     } 
    ] 
}, 
{ 
    "avps":[ 
     { 
      "code":263, 
      "name":"Session-Id", 
      "value":"ocstest;766666665;766666665", 
      "type":"UTF8STRING", 
      "group":[ 

      ], 
      "grouped":false 
     }, 
     { 
      "code":260, 
      "name":"Vendor-Specific-Application-Id", 
      "value":"<Grouped>", 
      "type":"GROUPED", 
      "group":[ 
       { 
        "code":265, 
        "name":"Supported-Vendor-Id", 
        "value":0, 
        "type":"UNSIGNED32", 
        "group":[ 

        ], 
        "grouped":false 
       }, 
       { 
        "code":258, 
        "name":"Auth-Application-Id", 
        "value":4, 
        "type":"UNSIGNED32", 
        "group":[ 

        ], 
        "grouped":false 
       }, 
       { 
        "code":259, 
        "name":"Acct-Application-Id", 
        "value":0, 
        "type":"UNSIGNED32", 
        "group":[ 

        ], 
        "grouped":false 
       } 
      ], 
      "grouped":true 
     }, 
     { 
      "code":268, 
      "name":"Result-Code", 
      "value":5004, 
      "type":"UNSIGNED32", 
      "group":[ 

      ], 
      "grouped":false 
     }, 
     { 
      "code":416, 
      "name":"CC-Request-Type", 
      "value":2, 
      "type":"INT32", 
      "group":[ 

      ], 
      "grouped":false 
     }, 
     { 
      "code":415, 
      "name":"CC-Request-Number", 
      "value":1, 
      "type":"UNSIGNED32", 
      "group":[ 

      ], 
      "grouped":false 
     } 
    ] 
}, 
{ 
    "avps":[ 
     { 
      "code":263, 
      "name":"Session-Id", 
      "value":"ocstest;766666666;788888888", 
      "type":"UTF8STRING", 
      "group":[ 

      ], 
      "grouped":false 
     }, 
     { 
      "code":260, 
      "name":"Vendor-Specific-Application-Id", 
      "value":"<Grouped>", 
      "type":"GROUPED", 
      "group":[ 
       { 
        "code":265, 
        "name":"Supported-Vendor-Id", 
        "value":0, 
        "type":"UNSIGNED32", 
        "group":[ 

        ], 
        "grouped":false 
       }, 
       { 
        "code":258, 
        "name":"Auth-Application-Id", 
        "value":4, 
        "type":"UNSIGNED32", 
        "group":[ 

        ], 
        "grouped":false 
       }, 
       { 
        "code":259, 
        "name":"Acct-Application-Id", 
        "value":0, 
        "type":"UNSIGNED32", 
        "group":[ 

        ], 
        "grouped":false 
       } 
      ], 
      "grouped":true 
     }, 
     { 
      "code":268, 
      "name":"Result-Code", 
      "value":5002, 
      "type":"UNSIGNED32", 
      "group":[ 

      ], 
      "grouped":false 
     }, 
     { 
      "code":416, 
      "name":"CC-Request-Type", 
      "value":3, 
      "type":"INT32", 
      "group":[ 

      ], 
      "grouped":false 
     }, 
     { 
      "code":415, 
      "name":"CC-Request-Number", 
      "value":2, 
      "type":"UNSIGNED32", 
      "group":[ 

      ], 
      "grouped":false 
     } 
    ] 
}] 

Répondre

1

Je ne sais pas si cela est la façon la plus efficace de le faire - mais j'ai pu valider « Résultat de code » avec méthode ci-dessous ..

avps.findAll { 'Result-Code' in it.name }.value[0][2]", is(2001)

Merci

+0

Ci-dessus, si la séquence des changements d'éléments de tableau, alors il ne sera pas travail. S'il vous plaît suggérer une méthode plus robuste. – OverrockSTAR