Author: solomax
Date: Fri Jan 13 04:19:56 2017
New Revision: 1778490

URL: http://svn.apache.org/viewvc?rev=1778490&view=rev
Log:
no jira: additional tests for calendar web service are added

Added:
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/TestCalendarService.java
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/TestCalendarService.java
    
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/TestCalendarService.java
Modified:
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/AbstractJUnitDefaults.java
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/AbstractWebServiceTest.java
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/AbstractJUnitDefaults.java
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/AbstractWebServiceTest.java
    
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/AbstractJUnitDefaults.java
    
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/AbstractWebServiceTest.java

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/AbstractJUnitDefaults.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/AbstractJUnitDefaults.java?rev=1778490&r1=1778489&r2=1778490&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/AbstractJUnitDefaults.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/AbstractJUnitDefaults.java
 Fri Jan 13 04:19:56 2017
@@ -27,10 +27,12 @@ import java.util.UUID;
 
 import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
 import org.apache.openmeetings.db.dao.calendar.AppointmentDao;
+import org.apache.openmeetings.db.dao.user.GroupDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.entity.calendar.Appointment;
 import org.apache.openmeetings.db.entity.room.Room;
 import org.apache.openmeetings.db.entity.user.Address;
+import org.apache.openmeetings.db.entity.user.GroupUser;
 import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.installation.ImportInitvalues;
 import org.apache.openmeetings.installation.InstallationConfig;
@@ -41,7 +43,8 @@ import org.springframework.beans.factory
 
 public abstract class AbstractJUnitDefaults extends AbstractSpringTest {
        private static final Logger log = 
Red5LoggerFactory.getLogger(AbstractJUnitDefaults.class);
-       
+       public static final int ONE_HOUR = 60 * 60 * 1000;
+
        protected static final String username = "admin";
        protected static final String userpass = "12345";
        private static final String orgname = "smoketest";
@@ -53,6 +56,8 @@ public abstract class AbstractJUnitDefau
        @Autowired
        private UserDao userDao;
        @Autowired
+       private GroupDao groupDao;
+       @Autowired
        private ImportInitvalues importInitvalues;
        @Autowired
        protected ConfigurationDao cfgDao;
@@ -72,14 +77,22 @@ public abstract class AbstractJUnitDefau
                }
        }
 
-       public Appointment createAppointment() {
-               Date appointmentstart = new Date();
-               Date appointmentend = new Date();
-               appointmentend.setTime(appointmentstart.getTime() + 3600);
-               return createAppointment(appointmentstart, appointmentend);
+       public Appointment getAppointment() {
+               Date start = new Date();
+               Date end = new Date();
+               end.setTime(start.getTime() + ONE_HOUR);
+               return getAppointment(start, end);
        }
-       
+
        public Appointment getAppointment(Date start, Date end) {
+               return getAppointment(userDao.get(1L), start, end);
+       }
+
+       public Appointment getAppointment(User owner, Date start, Date end) {
+               return getAppointment(owner, null, start, end);
+       }
+
+       public Appointment getAppointment(User owner, Room r, Date start, Date 
end) {
                assertNotNull("Can't access to appointment dao implimentation", 
appointmentDao);
 
                // add new appointment
@@ -99,42 +112,24 @@ public abstract class AbstractJUnitDefau
                ap.setIsYearly(false);
                ap.setPasswordProtected(false);
 
-               ap.setOwner(userDao.get(1L));
+               ap.setOwner(owner);
                ap.setConnectedEvent(false);
 
                if (ap.getReminder() == null) {
                        ap.setReminder(Appointment.Reminder.none);
                }
                
-               Room r = new Room();
-               r.setType(Room.Type.conference);
-               r.setAppointment(true);
+               if (r == null) {
+                       r = new Room();
+                       r.setType(Room.Type.conference);
+                       r.setAppointment(true);
+               }
                ap.setRoom(r);
                return ap;
        }
 
-       public Appointment createAppointment(Date start, Date end) {
-               assertNotNull("Can't access to appointment dao implimentation", 
appointmentDao);
-
+       public Appointment createAppointment(Appointment ap) {
                // add new appointment
-               Appointment ap = new Appointment();
-
-               ap.setTitle("appointmentName");
-               ap.setLocation("appointmentLocation");
-
-               ap.setStart(start);
-               ap.setEnd(end);
-               ap.setDescription("appointmentDescription");
-               ap.setInserted(new Date());
-               ap.setDeleted(false);
-               ap.setIsDaily(false);
-               ap.setIsWeekly(false);
-               ap.setIsMonthly(false);
-               ap.setIsYearly(false);
-               ap.setPasswordProtected(false);
-
-               ap.setOwner(userDao.get(1L));
-               ap.setConnectedEvent(false);
                ap = appointmentDao.update(ap, null, false);
                assertNotNull("Cann't add appointment", ap.getId());
                return ap;
@@ -157,6 +152,8 @@ public abstract class AbstractJUnitDefau
                u.setAddress(new Address());
                u.getAddress().setEmail(String.format("email%s@local", uuid));
                u.setRights(UserDao.getDefaultRights());
+               u.setTimeZoneId("Asia/Bangkok");
+               u.getGroupUsers().add(new GroupUser(groupDao.get(1L), u));
                u.updatePassword(cfgDao, getRandomPass(uuid));
                u.setLanguageId(1L);
                return u;

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/AbstractWebServiceTest.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/AbstractWebServiceTest.java?rev=1778490&r1=1778489&r2=1778490&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/AbstractWebServiceTest.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/AbstractWebServiceTest.java
 Fri Jan 13 04:19:56 2017
@@ -45,7 +45,11 @@ public class AbstractWebServiceTest exte
        }
 
        public static ServiceResult login() {
-               ServiceResult sr = 
getClient(USER_SERVICE_URL).path("/login").query("user", 
username).query("pass", userpass)
+               return login(username, userpass);
+       }
+
+       public static ServiceResult login(String user, String pass) {
+               ServiceResult sr = 
getClient(USER_SERVICE_URL).path("/login").query("user", user).query("pass", 
pass)
                                .get(ServiceResult.class);
                assertEquals("Login should be successful", Type.SUCCESS.name(), 
sr.getType());
                return sr;

Added: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/TestCalendarService.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/TestCalendarService.java?rev=1778490&view=auto
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/TestCalendarService.java
 (added)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/TestCalendarService.java
 Fri Jan 13 04:19:56 2017
@@ -0,0 +1,62 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.test.webservice;
+
+import static org.junit.Assert.assertNotNull;
+
+import java.util.Date;
+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.calendar.AppointmentDTO;
+import org.apache.openmeetings.db.entity.calendar.Appointment;
+import org.apache.openmeetings.db.entity.room.Room;
+import org.apache.openmeetings.db.entity.user.User;
+import org.junit.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class TestCalendarService extends AbstractWebServiceTest {
+       public final static String CALENDAR_SERVICE_URL = BASE_SERVICES_URL + 
"/calendar";
+       @Autowired
+       private RoomDao roomDao;
+
+       private void actualTest(Room r) throws Exception {
+               String uuid = UUID.randomUUID().toString();
+               User u = createUser(uuid);
+               ServiceResult sr = login(u.getLogin(), getRandomPass(uuid));
+
+               Date start = new Date();
+               Appointment a = createAppointment(getAppointment(u, r, start, 
new Date(start.getTime() + ONE_HOUR)));
+
+               AppointmentDTO app = 
getClient(CALENDAR_SERVICE_URL).path("/room/" + 
a.getRoom().getId()).query("sid", sr.getMessage())
+                               .get(AppointmentDTO.class);
+               assertNotNull("Valid DTO should be returned", app);
+       }
+
+       @Test
+       public void testGetByAppRoom() throws Exception {
+               actualTest(null);
+       }
+
+       @Test
+       public void testGetByPublicRoom() throws Exception {
+               actualTest(roomDao.get(5L)); //default public restricted room
+       }
+}

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/AbstractJUnitDefaults.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/AbstractJUnitDefaults.java?rev=1778490&r1=1778489&r2=1778490&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/AbstractJUnitDefaults.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/AbstractJUnitDefaults.java
 Fri Jan 13 04:19:56 2017
@@ -27,10 +27,12 @@ import java.util.UUID;
 
 import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
 import org.apache.openmeetings.db.dao.calendar.AppointmentDao;
+import org.apache.openmeetings.db.dao.user.GroupDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.entity.calendar.Appointment;
 import org.apache.openmeetings.db.entity.room.Room;
 import org.apache.openmeetings.db.entity.user.Address;
+import org.apache.openmeetings.db.entity.user.GroupUser;
 import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.installation.ImportInitvalues;
 import org.apache.openmeetings.installation.InstallationConfig;
@@ -41,7 +43,8 @@ import org.springframework.beans.factory
 
 public abstract class AbstractJUnitDefaults extends AbstractSpringTest {
        private static final Logger log = 
Red5LoggerFactory.getLogger(AbstractJUnitDefaults.class);
-       
+       public static final int ONE_HOUR = 60 * 60 * 1000;
+
        protected static final String username = "admin";
        protected static final String userpass = "12345";
        private static final String orgname = "smoketest";
@@ -53,6 +56,8 @@ public abstract class AbstractJUnitDefau
        @Autowired
        private UserDao userDao;
        @Autowired
+       private GroupDao groupDao;
+       @Autowired
        private ImportInitvalues importInitvalues;
        @Autowired
        protected ConfigurationDao cfgDao;
@@ -72,14 +77,22 @@ public abstract class AbstractJUnitDefau
                }
        }
 
-       public Appointment createAppointment() {
-               Date appointmentstart = new Date();
-               Date appointmentend = new Date();
-               appointmentend.setTime(appointmentstart.getTime() + 3600);
-               return createAppointment(appointmentstart, appointmentend);
+       public Appointment getAppointment() {
+               Date start = new Date();
+               Date end = new Date();
+               end.setTime(start.getTime() + ONE_HOUR);
+               return getAppointment(start, end);
        }
-       
+
        public Appointment getAppointment(Date start, Date end) {
+               return getAppointment(userDao.get(1L), start, end);
+       }
+
+       public Appointment getAppointment(User owner, Date start, Date end) {
+               return getAppointment(owner, null, start, end);
+       }
+
+       public Appointment getAppointment(User owner, Room r, Date start, Date 
end) {
                assertNotNull("Can't access to appointment dao implimentation", 
appointmentDao);
 
                // add new appointment
@@ -99,42 +112,24 @@ public abstract class AbstractJUnitDefau
                ap.setIsYearly(false);
                ap.setPasswordProtected(false);
 
-               ap.setOwner(userDao.get(1L));
+               ap.setOwner(owner);
                ap.setConnectedEvent(false);
 
                if (ap.getReminder() == null) {
                        ap.setReminder(Appointment.Reminder.none);
                }
                
-               Room r = new Room();
-               r.setType(Room.Type.conference);
-               r.setAppointment(true);
+               if (r == null) {
+                       r = new Room();
+                       r.setType(Room.Type.conference);
+                       r.setAppointment(true);
+               }
                ap.setRoom(r);
                return ap;
        }
 
-       public Appointment createAppointment(Date start, Date end) {
-               assertNotNull("Can't access to appointment dao implimentation", 
appointmentDao);
-
+       public Appointment createAppointment(Appointment ap) {
                // add new appointment
-               Appointment ap = new Appointment();
-
-               ap.setTitle("appointmentName");
-               ap.setLocation("appointmentLocation");
-
-               ap.setStart(start);
-               ap.setEnd(end);
-               ap.setDescription("appointmentDescription");
-               ap.setInserted(new Date());
-               ap.setDeleted(false);
-               ap.setIsDaily(false);
-               ap.setIsWeekly(false);
-               ap.setIsMonthly(false);
-               ap.setIsYearly(false);
-               ap.setPasswordProtected(false);
-
-               ap.setOwner(userDao.get(1L));
-               ap.setConnectedEvent(false);
                ap = appointmentDao.update(ap, null, false);
                assertNotNull("Cann't add appointment", ap.getId());
                return ap;
@@ -157,6 +152,8 @@ public abstract class AbstractJUnitDefau
                u.setAddress(new Address());
                u.getAddress().setEmail(String.format("email%s@local", uuid));
                u.setRights(UserDao.getDefaultRights());
+               u.setTimeZoneId("Asia/Bangkok");
+               u.getGroupUsers().add(new GroupUser(groupDao.get(1L), u));
                u.updatePassword(cfgDao, getRandomPass(uuid));
                u.setLanguageId(1L);
                return u;

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/AbstractWebServiceTest.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/AbstractWebServiceTest.java?rev=1778490&r1=1778489&r2=1778490&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/AbstractWebServiceTest.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/AbstractWebServiceTest.java
 Fri Jan 13 04:19:56 2017
@@ -45,7 +45,11 @@ public class AbstractWebServiceTest exte
        }
 
        public static ServiceResult login() {
-               ServiceResult sr = 
getClient(USER_SERVICE_URL).path("/login").query("user", 
username).query("pass", userpass)
+               return login(username, userpass);
+       }
+
+       public static ServiceResult login(String user, String pass) {
+               ServiceResult sr = 
getClient(USER_SERVICE_URL).path("/login").query("user", user).query("pass", 
pass)
                                .get(ServiceResult.class);
                assertEquals("Login should be successful", Type.SUCCESS.name(), 
sr.getType());
                return sr;

Added: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/TestCalendarService.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/TestCalendarService.java?rev=1778490&view=auto
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/TestCalendarService.java
 (added)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/TestCalendarService.java
 Fri Jan 13 04:19:56 2017
@@ -0,0 +1,62 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.test.webservice;
+
+import static org.junit.Assert.assertNotNull;
+
+import java.util.Date;
+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.calendar.AppointmentDTO;
+import org.apache.openmeetings.db.entity.calendar.Appointment;
+import org.apache.openmeetings.db.entity.room.Room;
+import org.apache.openmeetings.db.entity.user.User;
+import org.junit.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class TestCalendarService extends AbstractWebServiceTest {
+       public final static String CALENDAR_SERVICE_URL = BASE_SERVICES_URL + 
"/calendar";
+       @Autowired
+       private RoomDao roomDao;
+
+       private void actualTest(Room r) throws Exception {
+               String uuid = UUID.randomUUID().toString();
+               User u = createUser(uuid);
+               ServiceResult sr = login(u.getLogin(), getRandomPass(uuid));
+
+               Date start = new Date();
+               Appointment a = createAppointment(getAppointment(u, r, start, 
new Date(start.getTime() + ONE_HOUR)));
+
+               AppointmentDTO app = 
getClient(CALENDAR_SERVICE_URL).path("/room/" + 
a.getRoom().getId()).query("sid", sr.getMessage())
+                               .get(AppointmentDTO.class);
+               assertNotNull("Valid DTO should be returned", app);
+       }
+
+       @Test
+       public void testGetByAppRoom() throws Exception {
+               actualTest(null);
+       }
+
+       @Test
+       public void testGetByPublicRoom() throws Exception {
+               actualTest(roomDao.get(5L)); //default public restricted room
+       }
+}

Modified: 
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/AbstractJUnitDefaults.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/AbstractJUnitDefaults.java?rev=1778490&r1=1778489&r2=1778490&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/AbstractJUnitDefaults.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/AbstractJUnitDefaults.java
 Fri Jan 13 04:19:56 2017
@@ -27,10 +27,12 @@ import java.util.UUID;
 
 import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
 import org.apache.openmeetings.db.dao.calendar.AppointmentDao;
+import org.apache.openmeetings.db.dao.user.GroupDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.entity.calendar.Appointment;
 import org.apache.openmeetings.db.entity.room.Room;
 import org.apache.openmeetings.db.entity.user.Address;
+import org.apache.openmeetings.db.entity.user.GroupUser;
 import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.installation.ImportInitvalues;
 import org.apache.openmeetings.installation.InstallationConfig;
@@ -41,7 +43,8 @@ import org.springframework.beans.factory
 
 public abstract class AbstractJUnitDefaults extends AbstractSpringTest {
        private static final Logger log = 
Red5LoggerFactory.getLogger(AbstractJUnitDefaults.class);
-       
+       public static final int ONE_HOUR = 60 * 60 * 1000;
+
        protected static final String username = "admin";
        protected static final String userpass = "12345";
        private static final String orgname = "smoketest";
@@ -53,6 +56,8 @@ public abstract class AbstractJUnitDefau
        @Autowired
        private UserDao userDao;
        @Autowired
+       private GroupDao groupDao;
+       @Autowired
        private ImportInitvalues importInitvalues;
        @Autowired
        protected ConfigurationDao cfgDao;
@@ -72,14 +77,22 @@ public abstract class AbstractJUnitDefau
                }
        }
 
-       public Appointment createAppointment() {
-               Date appointmentstart = new Date();
-               Date appointmentend = new Date();
-               appointmentend.setTime(appointmentstart.getTime() + 3600);
-               return createAppointment(appointmentstart, appointmentend);
+       public Appointment getAppointment() {
+               Date start = new Date();
+               Date end = new Date();
+               end.setTime(start.getTime() + ONE_HOUR);
+               return getAppointment(start, end);
        }
-       
+
        public Appointment getAppointment(Date start, Date end) {
+               return getAppointment(userDao.get(1L), start, end);
+       }
+
+       public Appointment getAppointment(User owner, Date start, Date end) {
+               return getAppointment(owner, null, start, end);
+       }
+
+       public Appointment getAppointment(User owner, Room r, Date start, Date 
end) {
                assertNotNull("Can't access to appointment dao implimentation", 
appointmentDao);
 
                // add new appointment
@@ -99,42 +112,24 @@ public abstract class AbstractJUnitDefau
                ap.setIsYearly(false);
                ap.setPasswordProtected(false);
 
-               ap.setOwner(userDao.get(1L));
+               ap.setOwner(owner);
                ap.setConnectedEvent(false);
 
                if (ap.getReminder() == null) {
                        ap.setReminder(Appointment.Reminder.none);
                }
                
-               Room r = new Room();
-               r.setType(Room.Type.conference);
-               r.setAppointment(true);
+               if (r == null) {
+                       r = new Room();
+                       r.setType(Room.Type.conference);
+                       r.setAppointment(true);
+               }
                ap.setRoom(r);
                return ap;
        }
 
-       public Appointment createAppointment(Date start, Date end) {
-               assertNotNull("Can't access to appointment dao implimentation", 
appointmentDao);
-
+       public Appointment createAppointment(Appointment ap) {
                // add new appointment
-               Appointment ap = new Appointment();
-
-               ap.setTitle("appointmentName");
-               ap.setLocation("appointmentLocation");
-
-               ap.setStart(start);
-               ap.setEnd(end);
-               ap.setDescription("appointmentDescription");
-               ap.setInserted(new Date());
-               ap.setDeleted(false);
-               ap.setIsDaily(false);
-               ap.setIsWeekly(false);
-               ap.setIsMonthly(false);
-               ap.setIsYearly(false);
-               ap.setPasswordProtected(false);
-
-               ap.setOwner(userDao.get(1L));
-               ap.setConnectedEvent(false);
                ap = appointmentDao.update(ap, null, false);
                assertNotNull("Cann't add appointment", ap.getId());
                return ap;
@@ -157,6 +152,8 @@ public abstract class AbstractJUnitDefau
                u.setAddress(new Address());
                u.getAddress().setEmail(String.format("email%s@local", uuid));
                u.setRights(UserDao.getDefaultRights());
+               u.setTimeZoneId("Asia/Bangkok");
+               u.getGroupUsers().add(new GroupUser(groupDao.get(1L), u));
                u.updatePassword(cfgDao, getRandomPass(uuid));
                u.setLanguageId(1L);
                return u;

Modified: 
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/AbstractWebServiceTest.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/AbstractWebServiceTest.java?rev=1778490&r1=1778489&r2=1778490&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/AbstractWebServiceTest.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/AbstractWebServiceTest.java
 Fri Jan 13 04:19:56 2017
@@ -45,7 +45,11 @@ public class AbstractWebServiceTest exte
        }
 
        public static ServiceResult login() {
-               ServiceResult sr = 
getClient(USER_SERVICE_URL).path("/login").query("user", 
username).query("pass", userpass)
+               return login(username, userpass);
+       }
+
+       public static ServiceResult login(String user, String pass) {
+               ServiceResult sr = 
getClient(USER_SERVICE_URL).path("/login").query("user", user).query("pass", 
pass)
                                .get(ServiceResult.class);
                assertEquals("Login should be successful", Type.SUCCESS.name(), 
sr.getType());
                return sr;

Added: 
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/TestCalendarService.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/TestCalendarService.java?rev=1778490&view=auto
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/TestCalendarService.java
 (added)
+++ 
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/TestCalendarService.java
 Fri Jan 13 04:19:56 2017
@@ -0,0 +1,62 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.test.webservice;
+
+import static org.junit.Assert.assertNotNull;
+
+import java.util.Date;
+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.calendar.AppointmentDTO;
+import org.apache.openmeetings.db.entity.calendar.Appointment;
+import org.apache.openmeetings.db.entity.room.Room;
+import org.apache.openmeetings.db.entity.user.User;
+import org.junit.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class TestCalendarService extends AbstractWebServiceTest {
+       public final static String CALENDAR_SERVICE_URL = BASE_SERVICES_URL + 
"/calendar";
+       @Autowired
+       private RoomDao roomDao;
+
+       private void actualTest(Room r) throws Exception {
+               String uuid = UUID.randomUUID().toString();
+               User u = createUser(uuid);
+               ServiceResult sr = login(u.getLogin(), getRandomPass(uuid));
+
+               Date start = new Date();
+               Appointment a = createAppointment(getAppointment(u, r, start, 
new Date(start.getTime() + ONE_HOUR)));
+
+               AppointmentDTO app = 
getClient(CALENDAR_SERVICE_URL).path("/room/" + 
a.getRoom().getId()).query("sid", sr.getMessage())
+                               .get(AppointmentDTO.class);
+               assertNotNull("Valid DTO should be returned", app);
+       }
+
+       @Test
+       public void testGetByAppRoom() throws Exception {
+               actualTest(null);
+       }
+
+       @Test
+       public void testGetByPublicRoom() throws Exception {
+               actualTest(roomDao.get(5L)); //default public restricted room
+       }
+}


Reply via email to