Ich möchte meine EJBs auf einem eingebetteten Glassfish mit Arquillian testen.
Wichtig ist, dass ich Sicherheit haben muss, weil meine Bean-Logik eine programmatische Sicherheitsprüfung durchführt ( sessionContext.isCallerInRole(role)
).
Ist es möglich, einen Login mit Arquillian auf einem Embedded Glassfish zu simulieren?
Wie richte ich den eingebetteten Glassfish so ein, dass Benutzer- und Rolleneigenschaftsdateien verwendet werden?
[BEARBEITEN]
Ich habe einen Beitrag gefunden, dem ich meine Richtung zu folgen versuche ( Ссылка ), aber ich habe immer noch Probleme.
1 my arquillian.xml
wird nicht aufgenommen
2 Ich bekomme Warnungen bezüglich @Resource SessionContext
3 Ich kann die Instanz des laufenden Servers nicht erhalten
src / test / resources / arquillian.xml:
%Vor%mein Test:
%Vor%Meine Login-Hilfsklasse:
%Vor%mein EJB:
%Vor%Wenn ich den Test ausführe, ist dies die Ausgabe:
%Vor%Die eigenständige Glassfish-Instanzkonfiguration kann mit dem integrierten Argugian GlassFish-Containeradapter verwendet werden. Sie müssen die Sicherheit in Ihren Tests überprüfen, daher müssen Sie zuerst Ihre GlassFish-Instanzkonfiguration vorbereiten. Dies kann auch durch programmatische Konfiguration erreicht werden (siehe Ссылка ), aber für mich Konfiguration in Testressourcen sieht natürlicher aus. Um Benutzer im Dateibereich zu konfigurieren (standardmäßig verwendet), müssen Sie:
Starten Sie die Glassfish-Instanz mit dem Befehl asadmin :
%Vor%Fügen Sie Benutzer zum Dateibereich mit dem Befehl asadmin hinzu (gespeichert in der Datei keyfile ):
%Vor%Ordner kopieren
%Vor%um Ressourcen zu testen (zum Beispiel src / test / resources / domain , vorausgesetzt, Sie verwenden maven)
In arquillian.xml definiert Pfad Konfiguration glassfish (es wird kopiert Ziel / Test-Klassen / Domain von Maven):
%Vor%
Ordnen Sie Benutzern Rollen in glassfish-application.xml zu:
%Vor%Fügen Sie glassfish-application.xml hinzu, um Artefakte zu testen:
%Vor%Verwenden Sie in der Testmethode ProgrammaticLogin zur Authentifizierung:
%Vor%Tags und Links security java-ee jboss-arquillian glassfish-embedded