Я создал компонент SEAM, который проверяет, существует ли хотя бы один пользователь с глобальными правами администратора и создает его, если нет.Как проверить, что наблюдатель org.jboss.seam.postInitialization работает правильно
@Name("installer")
@Stateless
public class InstallerBean implements Installer, Serializable{
@Observer("org.jboss.seam.postInitialization")
public void install() {
...
}
public boolean isInstalled() {
...
}
}
Теперь мне нужно проверить, что установщик работает правильно. Мне нужно проверить, что isInstalled() возвращает true и проверяет, что правильные пользователи и роли существуют в базе данных. Однако SeamTest.ComponentTest.testComponents() запускается до завершения установки. Я вижу в журнале, что последние сообщения от моего установщика появляются в середине второго выполнения теста, поэтому мои тесты случайным образом терпят неудачу.
Я пытаюсь проверить мои установки следующим образом:
public class InstallerTests extends SeamTest {
@Test
public void isInstalledTest() {
new ComponentTest() {
@Override
protected void testComponents() {
...
}
}
}
...
}
Как я могу сделать мой тестовый запуск после моей установки compleated?
Я новичок в SEAM, поэтому, возможно, я делаю все совершенно неправильно. Пожалуйста, скажите мне, есть ли лучший способ.
эта проблема не была решена главным образом потому, что мы решили удалить компонент-установщик из проекта и использовать файл import.sql для инициализации базы данных. Решение с помощью Tread.sleep() должно работать, но я не могу попробовать его сейчас. – VestniK