@rumasterov

Codeception и Yii2: как в функциональном тесте получить ip пользователя?

Хочу протестировать аутентификацию пользователя в REST Api. Обращение к api разрешено только с определенных ip адресов. В коде вызывается метод $request->getUserIP(), после чего проверяется есть ли данный ip среди разрешенных.

Но в функциональных тестах у меня $_SERVER['REMOTE_ADDR'] пустой. Соответственно тест никогда не проходит проверку.

Кто-то сталкивался с такой ситуацией? Или может нужно использовать acceptance тесты? Но хотелось бы как-то данную функциональность проверить через функциональный тест.
  • Вопрос задан
  • 453 просмотра
Пригласить эксперта
Ответы на вопрос 2
Demetriy
@Demetriy
веб и мобильная разработка
Наверное в данном случае вам нужно использовать Mock объекты
Ответ написан
Комментировать
public function testRequest(FunctionalTester $I): void
{
    $I->setServerParameters([
        'REMOTE_ADDR' => '127.0.0.1', //set IP
        'SCRIPT_FILENAME' => '@frontend/web/index.php',
        'SCRIPT_NAME' => '/index.php'
    ]);
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы