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.

Reply via email to