2015-03-24 18 views
5

Sto provando a testare il mio progetto wicket utilizzando Wicket Page Test.Test della pagina Wicket, configurazione di sicurezza Jetty

Avvio del test fa sì Jetty di gettare questo errore:

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 org.eclipse.jetty.secur[email protected] in [email protected] 

mia suite TestNG assomiglia a questo:

<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> 

La classe di test si presenta così:

@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"); 
    } 
} 

Ho trovato alcuni suggerimenti su internet su come cambiare la configurazione Jetty come questo:

<?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> 

Ma non sarebbe ora come includere questa configurazione nel mio test. Cosa mi manca? Come dovrei configurare il jetty per il mio test?

+0

Può darci alcuni più input su come il vostro web.xml è strutturato? Il problema principale è ovviamente che il molo non riesce a trovare un loginService per la login-config. Con un molo incorporato, normalmente è possibile aggiungere questo servizio "server.addBean (loginService);" - ma wicket-tester non consente molta personalizzazione su come avviare il server jetty ecc. –

risposta

0

Im non un java pro ma ho cercato per la tua domanda trovo collega alcune utile Link 1Link 2link 3

+0

Si prega di non rilasciare semplicemente i collegamenti, ma di aggiungere alcune informazioni rilevanti da loro alla risposta, poiché i collegamenti tendono a rompersi. – RobAu

+0

I collegamenti rimandano a informazioni non aggiornate o non disponibili. Non c'è un contesto nella risposta e quindi è molto difficile usare i collegamenti. –

+0

fratello vedi la data della domanda stai bene. –