Как настроить «тестовый режим» для вашего Java-приложения? - PullRequest
1 голос
/ 18 августа 2011

Я работаю над веб-приложением Java с модульными тестами, которые развертывают приложение в Jetty.Я использую HtmlUnit, чтобы поразить приложение и сделать несколько высокоуровневых тестов.Я настроил его так, чтобы я мог использовать одноэлементный зонд, чтобы изменить конфигурацию своей системы и добавить флаг «test» - это удобно, потому что я хочу иметь возможность запускать некоторые тесты без аутентификации реального пользователя или проверки пользовательских ролей.

Однако кажется, что это может открыть дверь для уязвимости при развертывании приложения.Я ищу предложения о том, как сделать эту "заднюю дверь" немного более пуленепробиваемой.Я мог бы использовать фиктивный объект, чтобы справиться с этим, но я думаю, что это оставляет открытую заднюю дверь.

Ответы [ 3 ]

1 голос
/ 18 августа 2011

Создайте некоторую защиту вокруг процесса, который вы используете, чтобы перевести приложение в тестовый режим - базовая аутентификация для этой страницы или что-то в этом роде. Все это можно настроить непосредственно в web.xml.

1 голос
/ 18 августа 2011

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

Это позволяет обойти вашу проблему, позволяет мне протестировать процесс входа в систему, и при необходимости я создаю нескольких пользователей с различными чертами / ролями, с которыми я могу тестировать.

Поскольку пользователи находятся под моим контролем, они остаются согласованными и соответствуют ожидаемым результатам испытаний.

1 голос
/ 18 августа 2011

Используйте специальный параметр, который достаточно длинный, чтобы предполагать.Например GUID.Это может быть даже жестко закодировано в вашем приложении.Все тесты будут добавлять этот параметр к каждому URL, который они используют.Вы можете проверить этот параметр с помощью специального HttpFilter и включить тестовый режим.

...