This is an automated email from the ASF dual-hosted git repository. solomax pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/openmeetings.git
The following commit(s) were added to refs/heads/master by this push: new 3122b13 [OPENMEETINGS-1850] tests are partially fixed 3122b13 is described below commit 3122b13cdb5a5c5d6d2242e36bf6fea7690eb974 Author: Maxim Solodovnik <solomax...@gmail.com> AuthorDate: Wed Mar 14 10:56:22 2018 +0700 [OPENMEETINGS-1850] tests are partially fixed --- .../java/org/apache/openmeetings/IApplication.java | 3 +-- .../apache/openmeetings/web/app/Application.java | 19 ++++++++-------- .../apache/openmeetings/AbstractJUnitDefaults.java | 8 +++++-- .../apache/openmeetings/AbstractWicketTester.java | 17 ++++----------- .../webservice/AbstractWebServiceTest.java | 25 ---------------------- 5 files changed, 20 insertions(+), 52 deletions(-) diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/IApplication.java b/openmeetings-db/src/main/java/org/apache/openmeetings/IApplication.java index e107dfd..07ad9c5 100644 --- a/openmeetings-db/src/main/java/org/apache/openmeetings/IApplication.java +++ b/openmeetings-db/src/main/java/org/apache/openmeetings/IApplication.java @@ -23,7 +23,6 @@ import java.util.function.Supplier; import javax.servlet.ServletContext; -import org.apache.openmeetings.db.dao.basic.ConfigurationDao; import org.apache.openmeetings.db.entity.room.Invitation; import org.apache.openmeetings.util.ws.IClusterWsMessage; import org.apache.wicket.request.IExceptionMapper; @@ -48,7 +47,7 @@ public interface IApplication { String getServerId(); //JPA - void updateJpaAddresses(ConfigurationDao dao); + void updateJpaAddresses(); //WS void publishWsTopic(IClusterWsMessage msg); diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java index 01b3587..cb917c2 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java @@ -35,7 +35,6 @@ import static org.apache.openmeetings.web.pages.HashPage.INVITATION_HASH; import static org.apache.openmeetings.web.user.rooms.RoomEnterBehavior.getRoomUrlFragment; import static org.apache.openmeetings.web.util.OmUrlFragment.PROFILE_MESSAGES; import static org.apache.wicket.resource.JQueryResourceReference.getV3; -import static org.springframework.web.context.support.WebApplicationContextUtils.getWebApplicationContext; import java.io.File; import java.net.UnknownHostException; @@ -123,7 +122,6 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; import org.springframework.stereotype.Component; -import org.springframework.web.context.WebApplicationContext; import org.wicketstuff.dashboard.WidgetRegistry; import org.wicketstuff.dashboard.web.DashboardContext; import org.wicketstuff.dashboard.web.DashboardContextInjector; @@ -167,6 +165,8 @@ public class Application extends AuthenticatedWebApplication implements IApplica private ConfigurationDao cfgDao; @Autowired private RecordingDao recordingDao; + @Autowired + private UserDao userDao; @Override protected void init() { @@ -190,7 +190,7 @@ public class Application extends AuthenticatedWebApplication implements IApplica String serverId = evt.getMember().getStringAttribute(NAME_ATTR_KEY); getBean(ClientManager.class).clean(serverId); getBean(StreamClientManager.class).clean(serverId); - updateJpaAddresses(_getBean(ConfigurationDao.class)); + updateJpaAddresses(); } @Override @@ -201,7 +201,7 @@ public class Application extends AuthenticatedWebApplication implements IApplica @Override public void memberAdded(MembershipEvent evt) { //server added, need to process persistent addresses - updateJpaAddresses(_getBean(ConfigurationDao.class)); + updateJpaAddresses(); //check for duplicate instance-names Set<String> names = new HashSet<>(); for (Member m : evt.getMembers()) { @@ -293,7 +293,7 @@ public class Application extends AuthenticatedWebApplication implements IApplica // Init properties setXFrameOptions(cfgDao.getString(CONFIG_HEADER_XFRAME, HEADER_XFRAME_SAMEORIGIN)); setContentSecurityPolicy(cfgDao.getString(CONFIG_HEADER_CSP, HEADER_CSP_SELF)); - updateJpaAddresses(cfgDao); + updateJpaAddresses(); setExtProcessTtl(cfgDao.getInt(CONFIG_EXT_PROCESS_TTL, getExtProcessTtl())); Version.logOMStarted(); recordingDao.resetProcessingStatus(); //we are starting so all processing recordings are now errors @@ -378,8 +378,7 @@ public class Application extends AuthenticatedWebApplication implements IApplica } public <T> T _getBean(Class<T> clazz) { - WebApplicationContext wac = getWebApplicationContext(getServletContext()); - return wac == null ? null : wac.getBean(clazz); + return ctx == null ? null : ctx.getBean(clazz); } public static String getString(String id) { @@ -421,7 +420,7 @@ public class Application extends AuthenticatedWebApplication implements IApplica public static boolean isInstalled() { boolean result = isInstalled; if (!isInstalled && isInitComplete()) { - isInstalled = result = get()._getBean(UserDao.class).count() > 0; + isInstalled = result = get().userDao.count() > 0; } return result; } @@ -543,7 +542,7 @@ public class Application extends AuthenticatedWebApplication implements IApplica } @Override - public void updateJpaAddresses(ConfigurationDao dao) { + public void updateJpaAddresses() { StringBuilder sb = new StringBuilder(); String delim = ""; for (Member m : hazelcast.getCluster().getMembers()) { @@ -554,7 +553,7 @@ public class Application extends AuthenticatedWebApplication implements IApplica sb.append("localhost"); } try { - dao.updateClusterAddresses(sb.toString()); + cfgDao.updateClusterAddresses(sb.toString()); } catch (UnknownHostException e) { log.error("Uexpected exception while updating JPA addresses", e); throw new WicketRuntimeException(e); diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/AbstractJUnitDefaults.java b/openmeetings-web/src/test/java/org/apache/openmeetings/AbstractJUnitDefaults.java index 635d3c0..8906829 100644 --- a/openmeetings-web/src/test/java/org/apache/openmeetings/AbstractJUnitDefaults.java +++ b/openmeetings-web/src/test/java/org/apache/openmeetings/AbstractJUnitDefaults.java @@ -39,8 +39,8 @@ import org.apache.openmeetings.db.entity.user.User; import org.apache.openmeetings.installation.ImportInitvalues; import org.apache.openmeetings.installation.InstallationConfig; import org.junit.Before; -import org.slf4j.LoggerFactory; import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; public abstract class AbstractJUnitDefaults extends AbstractSpringTest { @@ -69,7 +69,11 @@ public abstract class AbstractJUnitDefaults extends AbstractSpringTest { @Before public void setUp() throws Exception { setWicketApplicationName(DEFAULT_CONTEXT_NAME); - cfgDao.reinit(); + try { + cfgDao.reinit(); + } catch (Exception e) { + log.warn("DB seems not to be inited", e); + } if (userDao.count() < 1) { makeDefaultScheme(); // regular user diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/AbstractWicketTester.java b/openmeetings-web/src/test/java/org/apache/openmeetings/AbstractWicketTester.java index 14847db..325bcbd 100644 --- a/openmeetings-web/src/test/java/org/apache/openmeetings/AbstractWicketTester.java +++ b/openmeetings-web/src/test/java/org/apache/openmeetings/AbstractWicketTester.java @@ -26,14 +26,12 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; -import static org.springframework.web.context.WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE; import java.io.Serializable; import java.util.List; import java.util.Locale; import java.util.function.Consumer; -import javax.servlet.ServletContext; import javax.servlet.ServletContextEvent; import org.apache.openmeetings.db.entity.user.User; @@ -56,7 +54,6 @@ import org.junit.Assert; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.context.support.XmlWebApplicationContext; import com.googlecode.wicket.jquery.ui.widget.dialog.AbstractDialog; import com.googlecode.wicket.jquery.ui.widget.dialog.ButtonAjaxBehavior; @@ -75,32 +72,26 @@ public class AbstractWicketTester extends AbstractJUnitDefaults { } public static WicketTester getWicketTester(Application app, long langId) { - if (app.getName() == null) { + boolean testerNeedInit = app.getName() != null; + if (!testerNeedInit) { //FIXME TODO re-use this for templates app.setName(getWicketApplicationName()); app.setServletContext(new MockServletContext(app, null)); app.setConfigurationType(RuntimeConfigurationType.DEPLOYMENT); - ServletContext sc = app.getServletContext(); OMContextListener omcl = new OMContextListener(); - omcl.contextInitialized(new ServletContextEvent(sc)); + omcl.contextInitialized(new ServletContextEvent(app.getServletContext())); ThreadContext.setApplication(app); app.initApplication(); } ensureApplication(langId); // to ensure WebSession is attached - WicketTester tester = new WicketTester(app, app.getServletContext()); + WicketTester tester = new WicketTester(app, app.getServletContext(), testerNeedInit); setInitComplete(true); return tester; } public static void destroy(WicketTester tester) { if (tester != null) { - ServletContext sc = tester.getServletContext(); - try { - ((XmlWebApplicationContext)sc.getAttribute(ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE)).close(); - } catch (Exception e) { - log.error("Unexpected error while destroying XmlWebApplicationContext", e); - } tester.destroy(); } } diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/AbstractWebServiceTest.java b/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/AbstractWebServiceTest.java index 6e3ec32..562d132 100644 --- a/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/AbstractWebServiceTest.java +++ b/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/AbstractWebServiceTest.java @@ -19,7 +19,6 @@ package org.apache.openmeetings.webservice; import static javax.ws.rs.core.MediaType.APPLICATION_FORM_URLENCODED; -import static org.apache.openmeetings.AbstractWicketTester.getWicketTester; import static org.apache.openmeetings.util.OmFileHelper.getOmHome; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; @@ -52,15 +51,10 @@ import org.apache.openmeetings.db.dto.room.RoomDTO; import org.apache.openmeetings.db.dto.user.UserDTO; import org.apache.openmeetings.db.entity.file.BaseFileItem; import org.apache.openmeetings.db.entity.user.User; -import org.apache.openmeetings.web.app.Application; -import org.apache.openmeetings.web.app.WebSession; import org.apache.openmeetings.webservice.util.AppointmentMessageBodyReader; -import org.apache.wicket.util.tester.WicketTester; -import org.junit.After; import org.junit.AfterClass; import org.junit.Assert; import org.junit.BeforeClass; -import org.springframework.beans.factory.annotation.Autowired; public class AbstractWebServiceTest extends AbstractJUnitDefaults { private static Tomcat tomcat; @@ -72,10 +66,6 @@ public class AbstractWebServiceTest extends AbstractJUnitDefaults { private static final String FILE_SERVICE_MOUNT = "file"; public static final String UNIT_TEST_EXT_TYPE = "om_unit_tests"; public static final long TIMEOUT = 5 * 60 * 1000; - protected WicketTester tester; - - @Autowired - private Application app; public static WebClient getClient(String url) { WebClient c = WebClient.create(url, Arrays.asList(new AppointmentMessageBodyReader())) @@ -121,21 +111,6 @@ public class AbstractWebServiceTest extends AbstractJUnitDefaults { port = tomcat.getConnector().getLocalPort(); } - @Override - public void setUp() throws Exception { - super.setUp(); - tester = getWicketTester(app); - assertNotNull("Web session should not be null", WebSession.get()); - } - - @After - public void tearDown() { - if (tester != null) { - //can be null in case exception on initialization - tester.destroy(); - } - } - @AfterClass public static void destroy() throws Exception { if (tomcat.getServer() != null && tomcat.getServer().getState() != LifecycleState.DESTROYED) { -- To stop receiving notification emails like this one, please contact solo...@apache.org.