Во-первых, непонятно зачем выносить проверки полей в отдельные тестовые функции. Проверки должны быть в том же тесте, где выполняется запрос.
Во-вторых, если json-структура представляет собой список объектов, то не нужно к этим объектам обращаться по конкретному индексу.
В итоге, твой тест можно написать примерно так:
def test_check_usd_rub_pair(self, agent_id):
response = rest_client.get("http//:...")
has_expected_pair = False
for obj in response.json():
assert obj.get('bankId') == agent_id
if obj.get('currency') == 'USD' and obj.get('toCurrency') == 'RUB':
has_expected_pair = True
assert has_expected_pair, "Ответ не содержит валютную пару USD-RUB"
Так же рекомендую прикрутить к своим тестам какой-нибудь json-валидатор. Валидировать поля - это важно