Доброго времени суток!
Есть определенный get запрос который в ответ передает JSON со значения курсов валют
Пример ответа на запрос:
{
"bankId": XXX,
"currency": "USD",
"toCurrency": "RUB",
"sellRate": 75.0,
"buyRate": 70.0,
"lastUpdated": "2021-04-03T20:55:19.4096176"
},
{
"bankId": XXX,
"currency": "EUR",
"toCurrency": "RUB",
"sellRate": 80.0,
"buyRate": 79.0,
"lastUpdated": "2021-04-03T20:55:19.4096176"
}
]
и для написания корректного теста нужно проверить значения currency и toCurrency для данных пар валют, правильность получения 1 пары валют и bankId я смог сделать, но не понятно как получить assert второй пары
Кусок кода который проходит тест
def test_bank_id(self, response, agent_id): - agent_id передается из parametrize
assert response.json()[0]['bankId'] == agent_id
def test_currency_code_EUR(self, response):
assert response.json()[1]['currency'] == 'EUR'
def test_toCurrency_code_RUB(self, response):
assert response.json()[0]['toCurrency'] == 'RUB'
Для USD-RUB приходит ошибка типа
def test_currency_code_USD(self, response):
> assert response.json()[X]['currency'] == 'USD'
E IndexError: list index out of range
При этом как видно из ответа пара USD-RUB идет первой в JSON, т.е по моей версии строки 1 и 0 должны быть USD и RUB соответственно.
Вопрос - как проверить вторую часть ответа?