2015-03-24 11 views
5

Próbuję przetestować mój projekt wicket za pomocą testu strony Wicket.Test strony wicket, konfiguracja zabezpieczenia Jetty

rozpoczęciem testu powoduje Jetty rzucić ten błąd:

2015-03-24 17:46:24,789 WARN [:] [main] [] [||] - org.eclipse.jetty.webapp.WebAppContext - Failed startup of context o.e.j.w.WebAppContext 
java.lang.IllegalStateException: No LoginService for [email protected]51268 in [email protected] 

Moja TestNG apartament wygląda tak:

<suite name="wicket-page-test-sample"> 
<test verbose="2" name="tests" annotations="JDK"> 
    <packages> 
     <package name="..."></package> 
    </packages> 
    <classes> 
     <class name="com.ttdev.wicketpagetest.WebPageTestContext"></class> 
     <class name="nl.pack.test.MessagePanelTest"></class> 
    </classes> 
</test> 

Klasa badanie wygląda tak:

@Test 
public class MessagePanelTest 
{ 
    public void testOpenComponent() 
    { 

     final StringBuffer log = new StringBuffer(); 
     MockableSpringBeanInjector.mockBean("hibernateService", mock(HibernateService.class)); 

     WicketSeleniumDriver ws = WebPageTestContext.getWicketSelenium(); 
     ws.openComponent(new ComponentFactory() 
     { 
      private static final long serialVersionUID = 1L; 

      public Component createComponent(String id) 
      { 
       return new MessagePanel(mock(AjaxRequestTarget.class)); 
      } 
     }); 
     assert ws.getText(By.id("info")).equals("Hello"); 
    } 
} 

Znalazłem kilka sugestii w Internecie na temat zmiany konfiguracji Jetty w ten sposób:

<?xml version="1.0" encoding="ISO-8859-1"?> 
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd"> 
<Configure class="org.eclipse.jetty.webapp.WebAppContext"> 
    <Get name="securityHandler"> 
     <Set name="loginService"> 
      <New class="org.eclipse.jetty.security.HashLoginService"> 
       <Set name="name">MySecurityRealm</Set> 
       <Set name="config">src/test/resources/jetty-realm.properties</Set> 
       <Call name="start"/> 
      </New> 
     </Set> 
     <Set name="checkWelcomeFiles">true</Set> 
    </Get> 
</Configure> 

Ale nie chciałbym teraz włączyć tej konfiguracji do moich testów. czego mi brakuje? Jak powinienem skonfigurować pomost do mojego testu?

+0

można dać jako jakiegoś bardziej wejścia w jaki sposób web.xml jest skonstruowany? Głównym problemem jest oczywiście to, że pomost nie może znaleźć usługi loginService dla login-config. Za pomocą wbudowanego pomostu możesz zwykle dodać tę usługę przez "server.addBean (loginService);" - ale tester furtek nie pozwala na wiele dostosowań, jak uruchomić serwer pomostowy itp. –

Odpowiedz

0

Nie jestem pro java ale szukałem za pytanie i znaleźć jakieś przydatne linki Link 1Link 2link 3

+0

Nie tylko upuść linki, ale dodaj do nich odpowiednie informacje, ponieważ linki mają tendencję do łamania się. – RobAu

+0

Linki wskazują na nieaktualne lub niedostępne informacje. W odpowiedzi nie ma kontekstu i dlatego bardzo trudno jest korzystać z linków. –

+0

bro zobacz datę pytania czy wszystko w porządku. –