我们有一个 Java EE 7 应用程序并使用 Arquillian 进行测试。现在我们要检查当前登录用户的一些权限。我的问题很基本,在测试用例中如何登录用户?我已阅读ProgrammaticLogin 在 arquillian 测试和Embedded Glassfish、安全性和 Arquillian 问题中不起作用,但没有明确回答。我目前的方法是这样的:
// Inject services etc.
@Test
public void testLogin(){
UserAccount user = new UserAccount();
user.setUsername("bob");
user.setPassword("bob");
userAccountService.save(user);
ProgrammaticLogin pl = new ProgrammaticLogin();
String realmName = "secureJDBCRealm";
try {
pl.login("bob", "bob".toCharArray(), realmName, true);
} catch (Exception e){
e.printStackTrace();
}
}
现在,当我尝试运行它时,会得到一个 LoginException,声称我没有为“fileRealm”配置 LoginModule。但是“fileRealm”不是我要搜索的领域(我第一次将它放在那里进行测试,但后来我将其更改为“secureJDBCRealm”,这是我们为 GlassFish 定制的安全领域)。我们arquillian-glassfish-embedded-3.1
用于测试。
- 有人知道在哪里为 Arquillian 定义领域吗?
- 为什么我的应用程序一直在寻找 fileRealm?这是默认值吗?(在这里找不到任何规格)