package de.flower.rmt.test;
import de.flower.common.test.wicket.WicketTester;
import de.flower.common.ui.serialize.Filter;
import org.apache.wicket.protocol.http.WebApplication;
import org.mockito.Mockito;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
/**
* Base class for ui-test that require full application stack down to database.
*
* @author flowerrrr
*/
public abstract class AbstractRMTWicketIntegrationTests extends AbstractRMTIntegrationTests {
protected WicketTester wicketTester = null;
@Autowired
private WebApplication webApp;
@Autowired
private Filter filter;
protected WebApplication createWebApp(ApplicationContext ctx) {
// return new TestApplication(ctx);
return webApp;
}
@BeforeMethod
public final void init() {
if (wicketTester == null) {
createTester(applicationContext);
}
}
@AfterMethod
public final void cleanup() {
Mockito.validateMockitoUsage();
}
private void createTester(ApplicationContext ctx) {
WebApplication webApp = createWebApp(ctx);
wicketTester = new WicketTester(webApp);
wicketTester.setPageSerializationValidatorFilter(filter);
}
}