def response = '''{
"drafts" : [
{
"period" : "202101",
"data" : {
"name" : "Kalle Kula",
"epost" : "kalle@kula.se"
}
},
{
"period" : "202102",
"data" : {
"name" : "Krille Krokodil",
"phone" : "9876543210"
}
}
]
}'''
def expectedPeriods = ['202101', '202102']
def expectedData = [202101:[name: 'Kalle Kula', epost: 'kalle@kula.se'], 202102: [name: 'Krille Krokodil', phone: '9876543210']]
def json = new groovy.json.JsonSlurper().parseText(response)
assert expectedPeriods
== json.
drafts.
period
expectedData.keySet().each { period ->
println expectedData[period]
println json.drafts.find{it.period == "$period"}.data
assert expectedData
[period
] == json.
drafts.
find{it.
period == "$period"}.
data }
ZGVmIHJlc3BvbnNlID0gJycnewogICJkcmFmdHMiIDogWwogICAgewogICAgInBlcmlvZCIgOiAiMjAyMTAxIiwKICAgICJkYXRhIiA6IHsKICAgICAgIm5hbWUiIDogIkthbGxlIEt1bGEiLAogICAgICAiZXBvc3QiIDogImthbGxlQGt1bGEuc2UiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAicGVyaW9kIiA6ICIyMDIxMDIiLAogICAgImRhdGEiIDogewogICAgICAibmFtZSIgOiAiS3JpbGxlIEtyb2tvZGlsIiwKICAgICAgInBob25lIiA6ICI5ODc2NTQzMjEwIgogICAgICB9CiAgICB9CiAgXQp9JycnCmRlZiBleHBlY3RlZFBlcmlvZHMgPSBbJzIwMjEwMScsICcyMDIxMDInXQpkZWYgZXhwZWN0ZWREYXRhID0gWzIwMjEwMTpbbmFtZTogJ0thbGxlIEt1bGEnLCBlcG9zdDogJ2thbGxlQGt1bGEuc2UnXSwgMjAyMTAyOiBbbmFtZTogJ0tyaWxsZSBLcm9rb2RpbCcsIHBob25lOiAnOTg3NjU0MzIxMCddXQpkZWYganNvbiA9ICBuZXcgZ3Jvb3Z5Lmpzb24uSnNvblNsdXJwZXIoKS5wYXJzZVRleHQocmVzcG9uc2UpCmFzc2VydCBleHBlY3RlZFBlcmlvZHMgPT0ganNvbi5kcmFmdHMucGVyaW9kCgoKZXhwZWN0ZWREYXRhLmtleVNldCgpLmVhY2ggeyBwZXJpb2QgLT4KICAgIHByaW50bG4gZXhwZWN0ZWREYXRhW3BlcmlvZF0KICAgIHByaW50bG4ganNvbi5kcmFmdHMuZmluZHtpdC5wZXJpb2QgPT0gIiRwZXJpb2QifS5kYXRhCiAgICBhc3NlcnQgZXhwZWN0ZWREYXRhW3BlcmlvZF0gPT0ganNvbi5kcmFmdHMuZmluZHtpdC5wZXJpb2QgPT0gIiRwZXJpb2QifS5kYXRhCn0=