Instanziieren JerseyTest mit dieser KlasseJerseyTest mit shiro
public class NMAAbstractRestTest extends JerseyTest {
@Override
protected Application configure() {
NMAdaptorApplication application = new NMAdaptorApplication();
return application;
}
}
NMAdaptorApplication Konstruktor.
public NMAdaptorApplication() {
log.info("NM-Adaptor-Application is being initilized....");
register(NMRestExceptionMapper.class);
register(ShiroFeature.class);
register(NMMarshallingFeature.class);
register(new LoggingFeature(java.util.logging.Logger.getLogger("nma"), LoggingFeature.Verbosity.PAYLOAD_ANY));
packages(true, "com.retailwave.rwos.nma.rest.resource");
loadProperties();
}
während des folgenden Testverfahren ausführt
@Test
public void makeOrder()
{
...
Entity entity = Entity.entity(orderContent, MediaType.APPLICATION_JSON);
WebTarget target = target("customerorders");
target.path("");
target.queryParam("cmd", "create");
target.queryParam("branchCode", "610");
arget.property(HttpAuthenticationFeature.HTTP_AUTHENTICATION_BASIC_USERNAME, "admin");
target.property(HttpAuthenticationFeature.HTTP_AUTHENTICATION_BASIC_PASSWORD, "admin");
Response response = target.request().post(entity);
}
immer die folgende Ausnahme
16: 34: 23,893 ERROR [Grizzly-HTTP-Server-0] crrneNMRestExceptionMapper - Ausnahme gefangen bei Mapper: Kein SecurityManager, auf den der aufrufende Code zugreifen kann, der entweder an den org.apache.shiro.util.ThreadContext oder als statischer vm-Singleton gebunden ist. Dies ist eine ungültige Anwendungskonfiguration. org.apache.shiro.UnavailableSecurityManagerException: Kein SecurityManager, auf den der aufrufende Code zugreifen kann, der entweder an den org.apache.shiro.util.ThreadContext oder als statischer vm-Singleton gebunden ist. Dies ist eine ungültige Anwendungskonfiguration. bei org.apache.shiro.SecurityUtils.getSecurityManager (SecurityUtils.java:123) bei org.apache.shiro.subject.Subject $ Builder. (Subject.java:627)
Ich denke, seine wegen Shiro-Filter, den ich in web.xml konfiguriert habe
<filter>
<filter-name>ShiroFilter</filter-name>
<filter-class>org.apache.shiro.web.servlet.ShiroFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>ShiroFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
während JUnit Test dies fehlschlägt. Gibt es eine Möglichkeit, web.xml in JerseyTest
Perfect, nicht gelöst noch, aber jetzt braucht es zusätzliche shiro configs. Ich hoffe, ich kann es lösen. Ich werde aktualisieren, sobald ich fertig bin. – vels4j