Repository: openmeetings Updated Branches: refs/heads/3.3.x b3f271455 -> c67943e84
[OPENMEETINGS-1660] UserWebService.add method is fixed Project: http://git-wip-us.apache.org/repos/asf/openmeetings/repo Commit: http://git-wip-us.apache.org/repos/asf/openmeetings/commit/c67943e8 Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/c67943e8 Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/c67943e8 Branch: refs/heads/3.3.x Commit: c67943e848334ec157b013dea448e87dc1d4a2ba Parents: b3f2714 Author: Maxim Solodovnik <[email protected]> Authored: Tue Jun 27 23:50:40 2017 +0700 Committer: Maxim Solodovnik <[email protected]> Committed: Tue Jun 27 23:50:40 2017 +0700 ---------------------------------------------------------------------- .../openmeetings/db/dto/user/UserDTO.java | 9 ++++++ .../openmeetings/service/mail/EmailManager.java | 7 ++--- .../test/webservice/TestUserService.java | 29 ++++++++++++++++++++ 3 files changed, 41 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/openmeetings/blob/c67943e8/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/user/UserDTO.java ---------------------------------------------------------------------- diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/user/UserDTO.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/user/UserDTO.java index 8d43150..4cfd63b 100644 --- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/user/UserDTO.java +++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/user/UserDTO.java @@ -190,6 +190,10 @@ public class UserDTO implements Serializable { this.externalType = externalType; } + public static UserDTO fromString(String s) { + return get(new JSONObject(s)); + } + public static UserDTO get(JSONObject o) { if (o == null) { return null; @@ -214,4 +218,9 @@ public class UserDTO implements Serializable { u.type = optEnum(Type.class, o, "type"); return u; } + + @Override + public String toString() { + return new JSONObject(this).toString(); + } } http://git-wip-us.apache.org/repos/asf/openmeetings/blob/c67943e8/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/EmailManager.java ---------------------------------------------------------------------- diff --git a/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/EmailManager.java b/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/EmailManager.java index 49f181a..22e5073 100644 --- a/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/EmailManager.java +++ b/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/EmailManager.java @@ -52,7 +52,7 @@ public class EmailManager { /** * sends a mail address to the user with his account data - * + * * @param username * @param userpass * @param email @@ -64,11 +64,10 @@ public class EmailManager { log.debug("sendMail:: username = {}, email = {}", username, email); Integer sendEmailAtRegister = configurationDao.getConfValue("sendEmailAtRegister", Integer.class, "0"); + ensureApplication(langId != null ? langId : configurationDao.getConfValue(CONFIG_DEFAULT_LANG_KEY, Long.class, "1")); String link = ((IApplication)Application.get(wicketApplicationName)).urlForActivatePage(new PageParameters().add("u", hash)); - + if (sendEmailAtRegister == 1) { - ensureApplication(langId != null ? langId : - configurationDao.getConfValue(CONFIG_DEFAULT_LANG_KEY, Long.class, "1")); mailHandler.send(email, getString(512) , RegisterUserTemplate.getEmail(username, email, sendEmailWithVerficationCode ? link : null)); } http://git-wip-us.apache.org/repos/asf/openmeetings/blob/c67943e8/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/TestUserService.java ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/TestUserService.java b/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/TestUserService.java index f1ee5b1..3aa1375 100644 --- a/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/TestUserService.java +++ b/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/TestUserService.java @@ -23,6 +23,9 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; +import java.util.Locale; +import java.util.UUID; + import javax.ws.rs.core.Form; import javax.ws.rs.core.Response; @@ -30,6 +33,8 @@ import org.apache.openmeetings.db.dto.basic.ServiceResult; import org.apache.openmeetings.db.dto.basic.ServiceResult.Type; import org.apache.openmeetings.db.dto.room.RoomOptionsDTO; import org.apache.openmeetings.db.dto.user.ExternalUserDTO; +import org.apache.openmeetings.db.dto.user.UserDTO; +import org.apache.openmeetings.db.entity.user.Address; import org.apache.openmeetings.web.app.WebSession; import org.apache.wicket.util.string.StringValue; import org.apache.wicket.util.tester.WicketTester; @@ -86,6 +91,30 @@ public class TestUserService extends AbstractWebServiceTest { assertTrue("Login via secure hash should be successful", ws.isSignedIn()); } + @Test + public void addUserTest() { + ServiceResult r = login(); + UserDTO u = new UserDTO(); + String uuid = UUID.randomUUID().toString(); + u.setLogin("test" + uuid); + u.setPassword("aS" + UUID.randomUUID().toString() + "!"); + u.setFirstname("testF" + uuid); + u.setLastname("testL" + uuid); + u.setAddress(new Address()); + u.getAddress().setEmail(uuid + "@local"); + u.getAddress().setCountry(Locale.getDefault().getCountry()); + u.setExternalId(uuid); + u.setExternalType("OmJunitTests"); + UserDTO user = getClient(USER_SERVICE_URL) + .path("/") + .query("sid", r.getMessage()) + .query("user", u.toString()) + .query("confirm", false).post(null, UserDTO.class); + assertNotNull("Valid UserDTO should be returned", user); + assertNotNull("Id should not be NULL", user.getId()); + assertEquals("OM Call should be successful", u.getLogin(), user.getLogin()); + } + @After public void tearDown() { if (tester != null) {
