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