So testen Sie die Anmeldung / Authentifizierung mit Arquillian - Java EE 7

Wir haben eine Java EE 7-Anwendung und verwenden Arquillian, um Dinge zu testen. Nun wollen wir nach Berechtigungen des aktuell angemeldeten Benutzers suchen. Meine Frage ist ganz einfach: Wie melde ich einen Benutzer an, wenn ich mich in einem Testfall befinde? ich habe gelesenProgrammaticLogin funktioniert nicht in Arquillian-Tests undEmbedded Glassfish, Sicherheits- und Arquillian-Fragen aber sie werden nicht klar beantwortet. Mein aktueller Ansatz sieht ungefähr so ​​aus:

// 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();
    }
}

Wenn ich jetzt versuche, dies auszuführen, erhalte ich eine LoginException, die besagt, dass ich kein LoginModule für "fileRealm" konfiguriert habe. Aber "fileRealm" ist nicht der Bereich, nach dem ich suche (ich habe es dort zum ersten Mal zum Testen abgelegt, aber dann habe ich es in "secureJDBCRealm" geändert, unserem benutzerdefinierten Sicherheitsbereich für GlassFish). Wir gebrauchenarquillian-glassfish-embedded-3.1 zum Prüfen.

Weiß jemand, wo man das Reich für Arquillian definiert?Warum sucht meine Anwendung weiterhin nach fileRealm? Ist das der Standardwert? (konnte hier keine Spezifikationen finden)

Antworten auf die Frage(1)

Ihre Antwort auf die Frage