Допустим, у меня есть следующий JSON, который определяет API:
{"contract_name": "create_user",
"method": "POST",
"url": "/users",
"request_body": {
"username": {
"type": "email",
"options": "None",
"required": "true",
"unique":"true"
},
"role": {
"type": "string",
"options": [
"TESTER",
"RA_DEVICE"
],
"required": "true"
},
"userProfile": {
"type": "object",
"options": {
"TESTER": {
"firstName": {
"type": "string",
"options": "None",
"required": "true"
},
"lastName": {
"type": "string",
"options": "None",
"required": "true"
}
},
"RA_DEVICE": {
"deviceId": {
"type": "long",
"options": "None",
"required": "true",
"unique":"true"
}
}}
}
Теперь предположим, что я хочу создать тестовые случаи API из общего сценария Python (который может принимать любое определение API и генерировать для него тестовые случаи с некоторыми случайными значениями 'type' элемента).
Проблема: я хочу определить условие между 'userProfile' и 'role', чтобы значение 'userProfile' было основано на значении 'role'.
то есть, если мой скрипт на python выбирает роль «RA_DEVICE», то значение
«userProfile» должен соответствовать «RA_DEVICE» в его опциях, чтобы быть случайным числом, представляющим «deviceId».
Пожалуйста, предложите способ определения отношений между 'role' и 'userProfile' с учетом того, что мой скрипт на python для генерации тестовых случаев должен быть универсальным (может генерировать тестовые случаи для любого API, имеющего внутриэлементные зависимости).