You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2018/03/21 14:07:25 UTC
[openmeetings] branch master updated: [OPENMEETINGS-1857] 'hash'
method of room service is fixed
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 9e93ede [OPENMEETINGS-1857] 'hash' method of room service is fixed
9e93ede is described below
commit 9e93ededc9d06a3886d3b378f030315d999bc3af
Author: Maxim Solodovnik <so...@gmail.com>
AuthorDate: Wed Mar 21 21:06:55 2018 +0700
[OPENMEETINGS-1857] 'hash' method of room service is fixed
---
.../openmeetings/db/dto/room/InvitationDTO.java | 63 ++++++++++++++++++----
.../openmeetings/webservice/TestRoomService.java | 35 ++++++++++++
2 files changed, 87 insertions(+), 11 deletions(-)
diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/InvitationDTO.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/InvitationDTO.java
index e24cac9..7503567 100644
--- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/InvitationDTO.java
+++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/InvitationDTO.java
@@ -37,6 +37,8 @@ import org.apache.openmeetings.util.crypt.CryptProvider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.github.openjson.JSONObject;
+
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class InvitationDTO implements Serializable {
@@ -65,72 +67,81 @@ public class InvitationDTO implements Serializable {
return email;
}
- public void setEmail(String email) {
+ public InvitationDTO setEmail(String email) {
this.email = email;
+ return this;
}
public String getFirstname() {
return firstname;
}
- public void setFirstname(String firstname) {
+ public InvitationDTO setFirstname(String firstname) {
this.firstname = firstname;
+ return this;
}
public String getLastname() {
return lastname;
}
- public void setLastname(String lastname) {
+ public InvitationDTO setLastname(String lastname) {
this.lastname = lastname;
+ return this;
}
public String getMessage() {
return message;
}
- public void setMessage(String message) {
+ public InvitationDTO setMessage(String message) {
this.message = message;
+ return this;
}
public String getSubject() {
return subject;
}
- public void setSubject(String subject) {
+ public InvitationDTO setSubject(String subject) {
this.subject = subject;
+ return this;
}
public Long getRoomId() {
return roomId;
}
- public void setRoomId(Long roomId) {
+ public InvitationDTO setRoomId(Long roomId) {
this.roomId = roomId;
+ return this;
}
public boolean isPasswordProtected() {
return passwordProtected;
}
- public void setPasswordProtected(boolean passwordProtected) {
+ public InvitationDTO setPasswordProtected(boolean passwordProtected) {
this.passwordProtected = passwordProtected;
+ return this;
}
public String getPassword() {
return password;
}
- public void setPassword(String password) {
+ public InvitationDTO setPassword(String password) {
this.password = password;
+ return this;
}
public Valid getValid() {
return valid;
}
- public void setValid(Valid valid) {
+ public InvitationDTO setValid(Valid valid) {
this.valid = valid;
+ return this;
}
/**
@@ -148,8 +159,9 @@ public class InvitationDTO implements Serializable {
* @param validFrom
* date-time in format YYYY-MM-dd HH:mm:ss
*/
- public void setValidFrom(String validFrom) {
+ public InvitationDTO setValidFrom(String validFrom) {
this.validFrom = validFrom;
+ return this;
}
/**
@@ -167,8 +179,9 @@ public class InvitationDTO implements Serializable {
* @param validTo
* date-time in format YYYY-MM-dd HH:mm:ss
*/
- public void setValidTo(String validTo) {
+ public InvitationDTO setValidTo(String validTo) {
this.validTo = validTo;
+ return this;
}
public long getLanguageId() {
@@ -219,4 +232,32 @@ public class InvitationDTO implements Serializable {
i.setAppointment(null);
return i;
}
+
+ public static InvitationDTO fromString(String s) {
+ return get(new JSONObject(s));
+ }
+
+ public static InvitationDTO get(JSONObject o) {
+ if (o == null) {
+ return null;
+ }
+ InvitationDTO i = new InvitationDTO();
+ i.firstname = o.optString("firstname");
+ i.lastname = o.optString("lastname");
+ i.email = o.optString("email");
+ i.password = o.optString("password");
+ i.passwordProtected = o.optBoolean("passwordProtected", false);
+ i.subject = o.optString("subject");
+ i.roomId = o.getLong("roomId");
+ i.message = o.optString("message");
+ i.valid = Valid.valueOf(o.optString("valid", Valid.Period.name()));
+ i.validFrom = o.optString("validFrom");
+ i.validTo = o.optString("validTo");
+ return i;
+ }
+
+ @Override
+ public String toString() {
+ return new JSONObject(this).toString();
+ }
}
diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestRoomService.java b/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestRoomService.java
index 128470a..63d74f7 100644
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestRoomService.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestRoomService.java
@@ -25,19 +25,28 @@ import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import java.io.IOException;
+import java.util.List;
import java.util.UUID;
+import org.apache.openmeetings.db.dao.room.RoomDao;
import org.apache.openmeetings.db.dto.basic.ServiceResult;
+import org.apache.openmeetings.db.dto.basic.ServiceResult.Type;
import org.apache.openmeetings.db.dto.file.FileItemDTO;
+import org.apache.openmeetings.db.dto.room.InvitationDTO;
import org.apache.openmeetings.db.dto.room.RoomDTO;
import org.apache.openmeetings.db.dto.room.RoomFileDTO;
import org.apache.openmeetings.db.entity.file.BaseFileItem;
+import org.apache.openmeetings.db.entity.room.Invitation.Valid;
import org.apache.openmeetings.db.entity.room.Room;
import org.junit.Test;
+import org.springframework.beans.factory.annotation.Autowired;
public class TestRoomService extends AbstractWebServiceTest {
private static final long CAPACITY = 666L;
+ @Autowired
+ private RoomDao roomDao;
+
@Test
public void testExternal() {
ServiceResult sr = login();
@@ -134,4 +143,30 @@ public class TestRoomService extends AbstractWebServiceTest {
CallResult<RoomDTO> res = createAndValidate(fileCall.getSid(), r);
assertFalse("Room files should NOT be empty", res.getObj().getFiles().isEmpty());
}
+
+ @Test
+ public void testHash() {
+ List<Room> rooms = roomDao.get(0, 100);
+ assertFalse("Room list should not be empty", rooms.isEmpty());
+
+ ServiceResult sr = login();
+ ServiceResult res = getClient(getRoomUrl())
+ .path("/hash")
+ .query("sid", sr.getMessage())
+ .query("invite", new InvitationDTO()
+ .setFirstname("Mark")
+ .setLastname("Steven")
+ .setEmail("abc@gmail.com")
+ .setPassword("Sys@123!")
+ .setPasswordProtected(true)
+ .setSubject("Health Meeting")
+ .setRoomId(rooms.get(0).getId())
+ .setMessage("Meeting")
+ .setValid(Valid.Period)
+ .setValidFrom("2018-03-19 02:25:12")
+ .setValidTo("2018-04-20 02:25:12")
+ .toString())
+ .post("", ServiceResult.class);
+ assertEquals("Login should be successful", Type.SUCCESS.name(), res.getType());
+ }
}
--
To stop receiving notification emails like this one, please contact
solomax@apache.org.