Сценарий Утверждение для проверки ключей вложенной структуры JSON - PullRequest
0 голосов
/ 21 сентября 2018

Я пытаюсь создать утверждение сценария, которое проверяет ключи из вложенной структуры JSON, возвращенной из запроса на отдых.

У меня проблема в том, что я не знаю, являются ли значения в ответе истинными или ложными.Поэтому проверка, которую я хочу сделать, это просто проверка структуры ответа.

Ожидаемый ответ:

{
   "atd" : {
      "es" : "",
      "eu" : "",
      "ns" : "",
      "nu" : ""
   },
   "bh" : {
      "es" : "",
      "eu" : "",
      "ns" : "",
      "nu" : ""
   },
   "hw" : {
      "es" : "",
      "eu" : "",
      "ns" : "",
      "nu" : ""
   },
   "thr" : {
      "es" : "",
      "eu" : "",
      "ns" : "",
      "nu" : ""
   }
}

Фактический ответ:

{
   "atd" : {
      "es" : false,
      "eu" : false,
      "ns" : false,
      "nu" : false
   },
   "bh" : {
      "es" : true,
      "eu" : true,
      "ns" : false,
      "nu" : false
   },
   "hw" : {
      "es" : false,
      "eu" : false,
      "ns" : false,
      "nu" : false
   },
   "thr" : {
      "es" : false,
      "eu" : false,
      "ns" : false,
      "nu" : false
   }
}

Текущее утверждение:

def expectedMap = [atd:[es:"",eu:"",ns:"",nu:""], bh:[es:"",eu:"",ns:"",nu:""],...]
def json = new groovy.json.JsonSlurper().parseText(context.response))
assert expectedMap.keySet().sort() == json.keySet().sort() as List, 'Actual response is not matching with expected data'

Приведенный выше код работает в определенной степени, в котором не утверждаются вложенные ключи.

Есть ли способ, которым я могу взять json из ответа и удалить значения true и false, а затем утверждать из этого?

...