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

Reply via email to