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 0124811  [OPENMEETINGS-2177] Login UI tests
0124811 is described below

commit 01248118fb6dc7946a9aae311e90d844b2957093
Author: Maxim Solodovnik <[email protected]>
AuthorDate: Fri Mar 6 13:20:13 2020 +0700

    [OPENMEETINGS-2177] Login UI tests
---
 .../db/dao/basic/ConfigurationDao.java             |  8 +++----
 .../openmeetings/db/util/ApplicationHelper.java    |  4 ++--
 .../openmeetings/util/OpenmeetingsVariables.java   |  4 ++--
 .../web/pages/auth/RegisterDialog.java             | 22 +++++-------------
 .../openmeetings/web/pages/auth/SignInDialog.java  | 10 ---------
 .../openmeetings/web/pages/auth/SignInPage.java    |  4 +++-
 .../apache/openmeetings/web/user/chat/Chat.java    |  4 ++--
 .../apache/openmeetings/user/TestUserContact.java  |  9 ++++----
 .../web/app/TestUserManagerMocked.java             |  4 ++--
 .../openmeetings/web/pages/auth/TestLoginUI.java   | 26 ++++++++++++++--------
 10 files changed, 43 insertions(+), 52 deletions(-)

diff --git 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/ConfigurationDao.java
 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/ConfigurationDao.java
index 4da99d0..f912111 100644
--- 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/ConfigurationDao.java
+++ 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/ConfigurationDao.java
@@ -73,11 +73,12 @@ import static 
org.apache.openmeetings.util.OpenmeetingsVariables.setApplicationN
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.setAudioBitrate;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.setAudioRate;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.setBaseUrl;
-import static 
org.apache.openmeetings.util.OpenmeetingsVariables.setChatSenndOnEnter;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.setChatSendOnEnter;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.setContentSecurityPolicy;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.setCryptClassName;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.setDefaultGroup;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.setDefaultLang;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.setDefaultTimezone;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.setDisplayNameEditable;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.setExtProcessTtl;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.setGaCode;
@@ -116,7 +117,6 @@ import org.apache.openmeetings.db.dao.IDataProviderDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.entity.basic.Configuration;
 import org.apache.openmeetings.db.util.DaoHelper;
-import org.apache.openmeetings.util.OpenmeetingsVariables;
 import org.apache.openmeetings.util.crypt.CryptProvider;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -461,7 +461,7 @@ public class ConfigurationDao implements 
IDataProviderDao<Configuration> {
                        log.error("There is no correct time zone set in the 
configuration of OpenMeetings for the key default.timezone or key is missing in 
table, using default locale!");
                        defaultTzName = TimeZone.getDefault().getID();
                }
-               OpenmeetingsVariables.setDefaultTimezone(defaultTzName);
+               setDefaultTimezone(defaultTzName);
        }
 
        private void reloadRestAllowOrigin() {
@@ -493,7 +493,7 @@ public class ConfigurationDao implements 
IDataProviderDao<Configuration> {
        }
 
        private void reloadChatSendOnEnter() {
-               setChatSenndOnEnter(getBool(CONFIG_CHAT_SEND_ON_ENTER, false));
+               setChatSendOnEnter(getBool(CONFIG_CHAT_SEND_ON_ENTER, false));
        }
 
        private void reloadAllowRegisterFront() {
diff --git 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ApplicationHelper.java
 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ApplicationHelper.java
index ec39aaf..38ef520 100644
--- 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ApplicationHelper.java
+++ 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ApplicationHelper.java
@@ -18,6 +18,7 @@
  */
 package org.apache.openmeetings.db.util;
 
+import static org.apache.openmeetings.util.OpenmeetingsVariables.getAppClass;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.getWicketApplicationName;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.isInitComplete;
 import static 
org.springframework.web.context.WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE;
@@ -33,7 +34,6 @@ import org.apache.openmeetings.IApplication;
 import org.apache.openmeetings.IWebSession;
 import org.apache.openmeetings.db.dao.label.LabelDao;
 import org.apache.openmeetings.util.OMContextListener;
-import org.apache.openmeetings.util.OpenmeetingsVariables;
 import org.apache.wicket.Application;
 import org.apache.wicket.RuntimeConfigurationType;
 import org.apache.wicket.ThreadContext;
@@ -62,7 +62,7 @@ public class ApplicationHelper {
                if (app == null) {
                        // This is the case for non-web-app applications 
(command line admin)
                        try {
-                               app = 
(WebApplication)OpenmeetingsVariables.getAppClass().getDeclaredConstructor().newInstance();
+                               app = 
(WebApplication)getAppClass().getDeclaredConstructor().newInstance();
                                app.setName(String.format("--%s--", 
UUID.randomUUID())); //temporary name for temporary application
                                ServletContext sc = new MockServletContext(app, 
null);
                                XmlWebApplicationContext xmlContext = new 
XmlWebApplicationContext();
diff --git 
a/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java
 
b/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java
index 6c47ad5..d9005ab 100644
--- 
a/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java
+++ 
b/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java
@@ -333,11 +333,11 @@ public class OpenmeetingsVariables {
                minLnameLength = length;
        }
 
-       public static boolean getChatSenndOnEnter() {
+       public static boolean isChatSendOnEnter() {
                return chatSendOnEnter;
        }
 
-       public static void setChatSenndOnEnter(boolean sendOnEnter) {
+       public static void setChatSendOnEnter(boolean sendOnEnter) {
                chatSendOnEnter = sendOnEnter;
        }
 
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/RegisterDialog.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/RegisterDialog.java
index 6c8fe40..461da2a 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/RegisterDialog.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/RegisterDialog.java
@@ -76,8 +76,6 @@ public class RegisterDialog extends Modal<String> {
        private boolean wasRegistered = false;
 
        private final Modal<String> registerInfo;
-       private boolean sendConfirmation = false;
-       private boolean sendEmailAtRegister = false;
        @SpringBean
        private IUserManager userManager;
        @SpringBean
@@ -125,8 +123,8 @@ public class RegisterDialog extends Modal<String> {
        @Override
        public Modal<String> show(IPartialPageRequestHandler handler) {
                String baseURL = getBaseUrl();
-               sendEmailAtRegister = isSendRegisterEmail();
-               sendConfirmation = !Strings.isEmpty(baseURL) && 
isSendVerificationEmail();
+               boolean sendEmailAtRegister = isSendRegisterEmail();
+               boolean sendConfirmation = !Strings.isEmpty(baseURL) && 
isSendVerificationEmail();
                String messageCode = "account.created";
                if (sendConfirmation && sendEmailAtRegister) {
                        messageCode = "warn.notverified";
@@ -201,19 +199,11 @@ public class RegisterDialog extends Modal<String> {
                        }).setLabel(new ResourceModel("110"));
                        confirmPassword.setLabel(new ResourceModel("116"));
                        
emailField.add(RfcCompliantEmailAddressValidator.getInstance()).setLabel(new 
ResourceModel("119"));
-                       add(new AjaxButton("submit") { // FAKE button so 
"submit-on-enter" works as expected
+                       AjaxButton ab = new AjaxButton("submit") { // FAKE 
button so "submit-on-enter" works as expected
                                private static final long serialVersionUID = 1L;
-
-                               @Override
-                               protected void onSubmit(AjaxRequestTarget 
target) {
-                                       RegisterForm.this.onSubmit(target);
-                               }
-
-                               @Override
-                               protected void onError(AjaxRequestTarget 
target) {
-                                       RegisterForm.this.onError(target);
-                               }
-                       });
+                       };
+                       add(ab);
+                       setDefaultButton(ab);
                }
 
                @Override
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
index be817ba..c1d2684 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
@@ -164,16 +164,6 @@ public class SignInDialog extends Modal<String> {
                        credentials.add(new CheckBox("rememberMe", new 
PropertyModel<Boolean>(SignInDialog.this, 
"rememberMe")).setOutputMarkupId(true));
                        AjaxButton ab = new AjaxButton("submit") { //FAKE 
button so "submit-on-enter" works as expected
                                private static final long serialVersionUID = 1L;
-
-                               @Override
-                               protected void onSubmit(AjaxRequestTarget 
target) {
-                                       SignInForm.this.onSubmit(target);
-                               }
-
-                               @Override
-                               protected void onError(AjaxRequestTarget 
target) {
-                                       SignInForm.this.onError(target);
-                               }
                        };
                        add(ab);
                        setDefaultButton(ab);
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInPage.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInPage.java
index cfb30cb..84792e1 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInPage.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInPage.java
@@ -61,6 +61,7 @@ import org.apache.openmeetings.web.pages.BaseInitedPage;
 import org.apache.openmeetings.web.room.IconTextModal;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
+import org.apache.wicket.model.Model;
 import org.apache.wicket.model.ResourceModel;
 import org.apache.wicket.request.IRequestParameters;
 import org.apache.wicket.request.cycle.RequestCycle;
@@ -107,12 +108,13 @@ public class SignInPage extends BaseInitedPage {
                }
        };
        private final ForgetPasswordDialog forget = new 
ForgetPasswordDialog("forget", forgetInfoDialog);
-       private final Modal<String> registerInfoDialog = new 
TextContentModal("registerInfo", new ResourceModel("warn.notverified")) {
+       private final Modal<String> registerInfoDialog = new 
TextContentModal("registerInfo", Model.of("")) {
                private static final long serialVersionUID = 1L;
 
                @Override
                protected void onInitialize() {
                        super.onInitialize();
+                       setModelObject(getString("warn.notverified"));
                        get("content").setOutputMarkupId(true);
                }
 
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/Chat.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/Chat.java
index 9195d8d..d31175e 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/Chat.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/Chat.java
@@ -21,6 +21,7 @@ package org.apache.openmeetings.web.user.chat;
 import static org.apache.openmeetings.core.util.ChatWebSocketHelper.ID_ALL;
 import static 
org.apache.openmeetings.core.util.ChatWebSocketHelper.ID_ROOM_PREFIX;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DASHBOARD_SHOW_CHAT;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.isChatSendOnEnter;
 import static org.apache.openmeetings.web.app.WebSession.getUserId;
 import static org.apache.openmeetings.web.room.RoomPanel.isModerator;
 import static 
org.apache.openmeetings.web.util.CallbackFunctionHelper.getNamedFunction;
@@ -42,7 +43,6 @@ import org.apache.openmeetings.db.entity.basic.ChatMessage;
 import org.apache.openmeetings.db.entity.basic.Client;
 import org.apache.openmeetings.db.entity.room.Room;
 import org.apache.openmeetings.db.entity.user.User;
-import org.apache.openmeetings.util.OpenmeetingsVariables;
 import org.apache.openmeetings.web.app.ClientManager;
 import org.apache.openmeetings.web.common.MainPanel;
 import org.apache.wicket.ajax.AbstractDefaultAjaxBehavior;
@@ -144,7 +144,7 @@ public class Chat extends Panel {
                                                .put("userId", getUserId())
                                                .put("all", getString("1494"))
                                                .put("room", getString("406"))
-                                               .put("sendOnEnter", 
OpenmeetingsVariables.getChatSenndOnEnter()).toString())
+                                               .put("sendOnEnter", 
isChatSendOnEnter()).toString())
                                .append("); ");
                return processGlobal(sb);
        }
diff --git 
a/openmeetings-web/src/test/java/org/apache/openmeetings/user/TestUserContact.java
 
b/openmeetings-web/src/test/java/org/apache/openmeetings/user/TestUserContact.java
index 4d4cbd5..bb569ff 100644
--- 
a/openmeetings-web/src/test/java/org/apache/openmeetings/user/TestUserContact.java
+++ 
b/openmeetings-web/src/test/java/org/apache/openmeetings/user/TestUserContact.java
@@ -19,6 +19,8 @@
 package org.apache.openmeetings.user;
 
 import static java.util.UUID.randomUUID;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.isSipEnabled;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.setSipEnabled;
 import static org.apache.openmeetings.web.app.WebSession.getUserId;
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
@@ -29,7 +31,6 @@ import java.util.List;
 
 import org.apache.openmeetings.AbstractWicketTester;
 import org.apache.openmeetings.db.entity.user.User;
-import org.apache.openmeetings.util.OpenmeetingsVariables;
 import org.junit.jupiter.api.Test;
 
 public class TestUserContact extends AbstractWicketTester {
@@ -62,15 +63,15 @@ public class TestUserContact extends AbstractWicketTester {
 
        @Test
        public void testCreateUserWithSip() throws Exception {
-               boolean sipEnabled = OpenmeetingsVariables.isSipEnabled();
+               boolean sipEnabled = isSipEnabled();
                try {
-                       OpenmeetingsVariables.setSipEnabled(true);
+                       setSipEnabled(true);
                        String uuid = randomUUID().toString();
                        User u = createUser(uuid);
                        assertTrue(userDao.verifyPassword(u.getId(), 
createPass()), "Password should be set as expected");
                        assertNotNull(u.getSipUser());
                } finally {
-                       OpenmeetingsVariables.setSipEnabled(sipEnabled);
+                       setSipEnabled(sipEnabled);
                }
        }
 
diff --git 
a/openmeetings-web/src/test/java/org/apache/openmeetings/web/app/TestUserManagerMocked.java
 
b/openmeetings-web/src/test/java/org/apache/openmeetings/web/app/TestUserManagerMocked.java
index d3c4d09..818c1da 100644
--- 
a/openmeetings-web/src/test/java/org/apache/openmeetings/web/app/TestUserManagerMocked.java
+++ 
b/openmeetings-web/src/test/java/org/apache/openmeetings/web/app/TestUserManagerMocked.java
@@ -18,6 +18,7 @@
  */
 package org.apache.openmeetings.web.app;
 
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.setCryptClassName;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.mockito.ArgumentMatchers.any;
@@ -37,7 +38,6 @@ import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.db.entity.user.User.Type;
 import org.apache.openmeetings.db.manager.IClientManager;
 import org.apache.openmeetings.service.mail.EmailManager;
-import org.apache.openmeetings.util.OpenmeetingsVariables;
 import org.apache.openmeetings.util.crypt.SCryptImplementation;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
@@ -62,7 +62,7 @@ public class TestUserManagerMocked {
 
        @Test
        public void oauthTest() throws NoSuchAlgorithmException, IOException {
-               
OpenmeetingsVariables.setCryptClassName(SCryptImplementation.class.getCanonicalName());
+               
setCryptClassName(SCryptImplementation.class.getCanonicalName());
                when(userDao.validLogin(anyString())).thenReturn(true);
                when(userDao.checkEmail(anyString(), eq(Type.OAUTH), 
any(Long.class), nullable(Long.class))).thenReturn(true);
                when(userDao.update(any(User.class), nullable(String.class), 
any(Long.class))).then(new Answer<User>() {
diff --git 
a/openmeetings-web/src/test/java/org/apache/openmeetings/web/pages/auth/TestLoginUI.java
 
b/openmeetings-web/src/test/java/org/apache/openmeetings/web/pages/auth/TestLoginUI.java
index afe73a1..84b56c2 100644
--- 
a/openmeetings-web/src/test/java/org/apache/openmeetings/web/pages/auth/TestLoginUI.java
+++ 
b/openmeetings-web/src/test/java/org/apache/openmeetings/web/pages/auth/TestLoginUI.java
@@ -21,6 +21,8 @@ package org.apache.openmeetings.web.pages.auth;
 import static java.util.UUID.randomUUID;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_EMAIL_AT_REGISTER;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_EMAIL_VERIFICATION;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.isSendVerificationEmail;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.setSendVerificationEmail;
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertNull;
@@ -50,8 +52,8 @@ public class TestLoginUI extends AbstractWicketTester {
 
        private void checkLogin(String login, String pass) {
                FormTester formTester = tester.newFormTester("signin:signin");
-               formTester.setValue("login", login);
-               formTester.setValue("pass", pass);
+               formTester.setValue("credentials:login", login);
+               formTester.setValue("credentials:pass", pass);
                formTester.submit("submit");
 
                tester.assertNoErrorMessage();
@@ -101,13 +103,19 @@ public class TestLoginUI extends AbstractWicketTester {
                tester.assertRenderedPage(SignInPage.class);
 
                String uid = randomUUID().toString();
-               performRegister(uid, "account.created");
+               boolean verify = isSendVerificationEmail();
+               try {
+                       setSendVerificationEmail(false);
+                       performRegister(uid, "account.created");
+               } finally {
+                       setSendVerificationEmail(verify);
+               }
        }
 
        private FormTester showForget() {
                tester.startPage(SignInPage.class);
                tester.assertRenderedPage(SignInPage.class);
-               tester.clickLink("signin:signin:forget");
+               tester.clickLink("signin:signin:credentials:forget");
                return tester.newFormTester("forget:form");
        }
 
@@ -145,7 +153,7 @@ public class TestLoginUI extends AbstractWicketTester {
        }
 
        private void performRegister(String uid, String lbl) throws 
ReflectiveOperationException, SecurityException {
-               AbstractAjaxBehavior b1 = getButtonBehavior("signin", 1);
+               AbstractAjaxBehavior b1 = getButtonBehavior("signin", 0);
                tester.executeBehavior(b1);
                FormTester formTester = tester.newFormTester(PATH_REGISTER);
                formTester.setValue("login", getLogin(uid));
@@ -157,8 +165,8 @@ public class TestLoginUI extends AbstractWicketTester {
                formTester.setValue("captcha:captchaText", 
getCaptcha("register:form:captcha:captcha"));
                formTester.submit("submit");
                checkErrors(0);
-               
tester.assertLabel("register:confirmRegistration:container:message", 
getEscapedString(lbl));
-               AbstractAjaxBehavior b2 = 
getButtonBehavior("register:confirmRegistration", 0);
+               tester.assertLabel("registerInfo:content", 
getEscapedString(lbl));
+               AbstractAjaxBehavior b2 = getButtonBehavior("registerInfo", 0);
                tester.executeBehavior(b2);
        }
 
@@ -170,7 +178,7 @@ public class TestLoginUI extends AbstractWicketTester {
                forgetTester.setValue("captcha:captchaText", 
getCaptcha("forget:form:captcha:captcha"));
                forgetTester.submit("submit");
                checkErrors(0);
-               tester.assertLabel("forget:confirmDialog:container:message", 
getEscapedString("321"));
+               tester.assertLabel("forgetInfo:content", 
getEscapedString("321"));
        }
 
        // complex test
@@ -225,7 +233,7 @@ public class TestLoginUI extends AbstractWicketTester {
                        resetTester.setValue("confirmPassword", passwd);
                        resetTester.submit("submit");
                        checkErrors(0);
-                       
tester.assertLabel("resetPassword:confirmReset:container:message", 
getEscapedString("332"));
+                       tester.assertLabel("resetInfo:content", 
getEscapedString("332"));
                } finally {
                        for (Configuration c : cfgs) {
                                c.setValueB(false);

Reply via email to