Весенний облачный контракт: получить параметры из предыдущего ответа в сценарии

Я написал сценарий весной облачного контракта. По первому запросу мое приложение возвращает токен в ответ, а второй запрос должен содержать этот токен. Есть ли возможность передать значение из первого ответа на второй запрос?

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

Пример сценария:

1_getToken.groovy

org.springframework.cloud.contract.spec.Contract.make {
    description = 'receive token'
    request {
        method 'POST'
        url '/getToken'
        body("""
            {
            }
         """)
        headers {
            header('Content-Type', 'application/json')
        }
    }
    response {
        status 200
        body("""
            {
                "token":"123"
            }
         """)
    }
}

2_addSmth.groovy

org.springframework.cloud.contract.spec.Contract.make {
    description = 'add somethingh'
    request {
        method 'POST'
        url '/addSmth'
        body("""
            {
                "token":"123",
                "value":"something"
            }
         """)
        headers {
            header('Content-Type', 'application/json')
        }
    }
    response {
        status 200
        body("""
            {
            }
         """)
    }
}

т.е. я хочу передать параметр "токен" из первого ответа на второй запрос. Является ли это возможным?

1 ответ

Я не думаю, что это возможно в данный момент. Вы должны жестко закодировать это. Если вам нужны очень конкретные значения, то, скорее всего, ваши контрактные тесты слишком сложны. Или, скорее всего, они больше не являются контрактными тестами, но вы пытаетесь использовать контракты для проверки делового поведения

Другие вопросы по тегам