Выполнение тестов
Запуск тестов
Рекомендуется ознакомиться с ../testsuite/integration-arquillian/HOW-TO-RUN.md.
Браузер
В наборе тестов используется Selenium. По умолчанию он использует WebDriver HtmlUnit, но также может быть выполнен с Chrome или Firefox.
Чтобы запустить тесты с Firefox, добавьте -Dbrowser=firefox
, а для Chrome — -Dbrowser=chrome
.
База данных
По умолчанию в наборе тестов используется встроенная база данных H2. Для тестирования с другими базами данных см. раздел «Тестирование базы данных» (tests-db.md).
Тестовые утилиты
Все утилиты можно выполнить из каталога testsuite/utils:
cd testsuite/utils
Сервер Keycloak
Для запуска базового сервера Keycloak для тестирования выполните:
mvn exec:java -Pkeycloak-server
или запустите org.keycloak.testsuite.KeycloakServer из вашей любимой IDE!
При запуске сервера также можно импортировать область из файла json:
mvn exec:java -Pkeycloak-server -Dimport=testrealm.json
При запуске сервера транспорт https можно настроить, установив хранилище ключей, содержащее сертификат сервера, и порт https, при необходимости установив хранилище доверенных сертификатов.
mvn exec:java -Pkeycloak-server \
-Djavax.net.ssl.trustStore=/path/to/truststore.jks \
-Djavax.net.ssl.keyStore=/path/to/keystore.jks \
-Djavax.net.ssl.keyStorePassword=CHANGEME \
-Dkeycloak.port.https=8443
KeycloakServer можно настроить с помощью системных свойств или через файл ~/.keycloak-server.properties
. Использование файла позволяет сохранять настройки и может быть более удобным при работе из IDE.
Доступные параметры включают:
Ключ | Описание |
---|---|
keycloak.port | Установить порт HTTP для сервера |
keycloak.port.https | Установить порт HTTPS для сервера |
keycloak.bind.address | Установить адрес привязки для сервера |
resources | Загружает ресурсы темы непосредственно из рабочей области и отключает кэширование |
keycloak.theme.dir | Указывает альтернативное местоположение для загрузки пользовательских тем из |
keycloak.theme.cacheTemplates | Отключает кэширование шаблонов тем |
keyclock.theme.cacheThemes | Отключает кеширование тем |
keycloak.theme.staticMaxAge | Устанавливает максимальный возраст клиентского кэша для ресурсов темы |
import | Импортирует область json при запуске |
Администратор по умолчанию в основной области создаётся с учётными данными:
admin
admin
Сервер тестового набора Keycloak автоматически создаст нового пользователя основной области при выполнении следующих условий:
keycloak.createAdminUser
установлено на true
(по умолчанию true
, если не указано)Сервер Keycloak может загружать ресурсы непосредственно из файловой системы вместо пути к классам. Это позволяет редактировать HTML, стили и обновлять изображения без перезапуска сервера. Чтобы сервер использовал ресурсы из файловой системы, начните с:
mvn exec:java -Pkeycloak-server -Dresources
Вы также можете указать каталог тем, используемый сервером, с помощью:
mvn exec:java -Pkeycloak-server -Dkeycloak.theme.dir=<PATH TO THEMES DIR>
Например, чтобы использовать примеры тем, запустите сервер с:
mvn exec:java -Pkeycloak-server -Dkeycloak.theme.dir=examples/themes
ПРИМЕЧАНИЕ: Если указан keycloak.theme.dir
, то темы по умолчанию (base, rcue и keycloak) загружаются из пути к классам.
Коды TOTP
Чтобы сгенерировать коды TOTP без Google Authenticator, выполните:
mvn exec:java -Ptotp
или запустите org.keycloak.testsuite.TotpGenerator из вашей любимой IDE!
После запуска скопируйте/вставьте секрет TOTP и нажмите Enter. Почтовый сервер
Чтобы запустить тестовый почтовый сервер для тестирования отправки электронной почты, выполните:
mvn exec:java -Pmail-server
или запустите org.keycloak.testsuite.MailServer из вашей любимой IDE!
Для настройки Keycloak для использования вышеуказанного сервера добавьте следующие системные свойства:
keycloak.mail.smtp.from=auto@keycloak.org
keycloak.mail.smtp.host=localhost
keycloak.mail.smtp.port=3025
Например, если вы используете тестовые утилиты, запустите сервер Keycloak с помощью:
mvn exec:java -Pkeycloak-server -Dkeycloak.mail.smtp.from=auto@keycloak.org -Dkeycloak.mail.smtp.host=localhost -Dkeycloak.mail.smtp.port=3025
Сервер LDAP
Чтобы запустить сервер LDAP на основе ApacheDS для тестирования отправки LDAP, выполните:
mvn exec:java -Pldap
Существуют дополнительные системные свойства, которые можно использовать для настройки (подробности см. в классе LDAPEmbeddedServer). После этого вы можете создать провайдера федерации LDAP в консоли администратора Keycloak со следующими настройками:
Сервер Kerberos
Чтобы запустить сервер Kerberos на основе ApacheDS для тестирования Kerberos + LDAP, выполните:
mvn exec:java -Pkerberos
Существуют дополнительные системные свойства, которые можно использовать для настройки (см. классы LDAPEmbeddedServer и KerberosEmbeddedServer для получения подробной информации), но для целей тестирования значения по умолчанию должны быть подходящими. По умолчанию сервер ApacheDS LDAP будет работать на localhost:10389, а сервер Kerberos KDC — на localhost:6088.
Альтернативой является запуск Kerberos с альтернативной областью KC2.COM вместо KEYCLOAK.ORG по умолчанию. В этом случае сервер ApacheDS будет запущен со всеми портами, сдвинутыми на 1000 (например, LDAP на 11389, Kerberos KDC на 7088). Это позволяет запускать два сервера Kerberos параллельно для проверки таких вещей, как доверие между областями Kerberos:
mvn exec:java -Pkerberos -Dkeycloak.kerberos.realm=KC2.COM
После запуска Kerberos вы можете создать провайдер федерации LDAP в консоли администрирования Keycloak с теми же настройками, что и в предыдущем разделе LDAP. Но дополнительно вы можете включить аутентификацию Kerberos в провайдере LDAP со следующими настройками:
Как только вы это сделаете, вам также следует убедиться, что ваш файл конфигурации клиента Kerberos правильно настроен с доменом KEYCLOAK.ORG. См. ../testsuite/integration-arquillian/tests/base/src/test/resources/kerberos/test-krb5.conf для вдохновения. Расположение файла конфигурации Kerberos зависит от платформы (в Linux это файл /etc/krb5.conf
).
Затем вам нужно настроить свой браузер, чтобы разрешить SPNEGO/Kerberos-логин с localhost
.
Точные шаги снова зависят от браузера. Для Firefox см., например, http://www.microhowto.info/howto/configure_firefox_to_authenticate_using_spnego_and_kerberos.html. URI localhost
должен быть разрешён в опции конфигурации network.negotiate-auth.trusted-uris
.
В Chrome вам просто нужно запустить браузер с командой, подобной этой (более подробная информация содержится в документации Chrome):
/usr/bin/google-chrome-stable --auth-server-whitelist="localhost"
Наконец, проверьте интеграцию, получив билет Kerberos. Во многих ОС вы можете сделать это, выполнив команду из CMD, подобную этой:
kinit hnelson@KEYCLOAK.ORG
и предоставив пароль secret
.
Теперь, когда вы обращаетесь к http://localhost:8081/auth/realms/master/account
, вы должны автоматически войти в систему как пользователь hnelson
.
Простой балансировщик нагрузки
Вы можете запустить класс SimpleUndertowLoadBalancer
из...
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )