Jak przetestować logowanie / uwierzytelnianie za pomocą Arquillian - Java EE 7
Mamy aplikację Java EE 7 i używamy Arquilliana do testowania rzeczy. Teraz chcemy sprawdzić jakieś uprawnienia aktualnie zalogowanego użytkownika. Moje pytanie jest dość proste, w jaki sposób mogę zalogować się do użytkownika, gdy znajduje się w testcase? przeczytałemProgrammaticLogin nie działa w testach arquillian iWbudowane pytania Glassfish, bezpieczeństwa i Arquilliana ale nie są wyraźnie odpowiedzi. Moje obecne podejście brzmi mniej więcej tak:
// 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();
}
}
Teraz, gdy próbuję to uruchomić, uzyskaj wyjątek LoginException, twierdząc, że nie mam skonfigurowanego modułu logowania dla „fileRealm”. Ale „fileRealm” nie jest domeną, której szukam (umieściłem ją tam, aby przetestować po raz pierwszy, ale potem zmieniłem ją na „secureJDBCRealm”, która jest naszą niestandardową domeną zabezpieczeń dla GlassFish). Używamyarquillian-glassfish-embedded-3.1
dla testów.