Repository: openmeetings
Updated Branches:
  refs/heads/master 3dac8e2fe -> a771f1eb1


[OPENMEETINGS-1714] more issues are fixed


Project: http://git-wip-us.apache.org/repos/asf/openmeetings/repo
Commit: http://git-wip-us.apache.org/repos/asf/openmeetings/commit/a771f1eb
Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/a771f1eb
Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/a771f1eb

Branch: refs/heads/master
Commit: a771f1eb1bb40bb1e70a779e05794597911800a5
Parents: 3dac8e2
Author: Maxim Solodovnik <[email protected]>
Authored: Sun Oct 1 15:04:24 2017 +0700
Committer: Maxim Solodovnik <[email protected]>
Committed: Sun Oct 1 15:04:24 2017 +0700

----------------------------------------------------------------------
 .../db/dto/room/RoomOptionsDTO.java             |  6 ++-
 .../db/dto/user/ExternalUserDTO.java            | 18 ++++---
 .../web/app/OmAuthenticationStrategy.java       |  2 +-
 .../web/app/TestOmAuthenticationStrategy.java   | 23 ++++++++-
 .../openmeetings/web/app/TestWebSession.java    | 51 ++++++++++++++++++++
 .../webservice/TestUserService.java             | 49 +++++++++++++------
 6 files changed, 123 insertions(+), 26 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/openmeetings/blob/a771f1eb/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomOptionsDTO.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomOptionsDTO.java
 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomOptionsDTO.java
index 90ef239..07c5428 100644
--- 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomOptionsDTO.java
+++ 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomOptionsDTO.java
@@ -47,8 +47,9 @@ public class RoomOptionsDTO implements Serializable {
                return roomId;
        }
 
-       public void setRoomId(Long roomId) {
+       public RoomOptionsDTO setRoomId(Long roomId) {
                this.roomId = roomId;
+               return this;
        }
 
        public Long getRecordingId() {
@@ -63,8 +64,9 @@ public class RoomOptionsDTO implements Serializable {
                return moderator;
        }
 
-       public void setModerator(boolean moderator) {
+       public RoomOptionsDTO setModerator(boolean moderator) {
                this.moderator = moderator;
+               return this;
        }
 
        public boolean isShowAudioVideoTest() {

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/a771f1eb/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/user/ExternalUserDTO.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/user/ExternalUserDTO.java
 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/user/ExternalUserDTO.java
index ad9945e..a345860 100644
--- 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/user/ExternalUserDTO.java
+++ 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/user/ExternalUserDTO.java
@@ -46,24 +46,27 @@ public class ExternalUserDTO implements Serializable {
                return login;
        }
 
-       public void setLogin(String login) {
+       public ExternalUserDTO setLogin(String login) {
                this.login = login;
+               return this;
        }
 
        public String getFirstname() {
                return firstname;
        }
 
-       public void setFirstname(String firstname) {
+       public ExternalUserDTO setFirstname(String firstname) {
                this.firstname = firstname;
+               return this;
        }
 
        public String getLastname() {
                return lastname;
        }
 
-       public void setLastname(String lastname) {
+       public ExternalUserDTO setLastname(String lastname) {
                this.lastname = lastname;
+               return this;
        }
 
        public String getProfilePictureUrl() {
@@ -78,24 +81,27 @@ public class ExternalUserDTO implements Serializable {
                return email;
        }
 
-       public void setEmail(String email) {
+       public ExternalUserDTO setEmail(String email) {
                this.email = email;
+               return this;
        }
 
        public String getExternalId() {
                return externalId;
        }
 
-       public void setExternalId(String externalId) {
+       public ExternalUserDTO setExternalId(String externalId) {
                this.externalId = externalId;
+               return this;
        }
 
        public String getExternalType() {
                return externalType;
        }
 
-       public void setExternalType(String externalType) {
+       public ExternalUserDTO setExternalType(String externalType) {
                this.externalType = externalType;
+               return this;
        }
 
        public static ExternalUserDTO fromString(String s) {

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/a771f1eb/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/OmAuthenticationStrategy.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/OmAuthenticationStrategy.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/OmAuthenticationStrategy.java
index a1b213f..ef90fdb 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/OmAuthenticationStrategy.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/OmAuthenticationStrategy.java
@@ -62,7 +62,7 @@ public class OmAuthenticationStrategy extends 
DefaultAuthenticationStrategy {
 
        public void save(final String username, final String password, final 
Type type, final Long domainId) {
                if (type != Type.oauth) {
-                       super.save(username, password, type.name(), "" + 
domainId);
+                       super.save(username, password, type.name(), 
String.valueOf(domainId));
                }
        }
 }

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/a771f1eb/openmeetings-web/src/test/java/org/apache/openmeetings/web/app/TestOmAuthenticationStrategy.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/test/java/org/apache/openmeetings/web/app/TestOmAuthenticationStrategy.java
 
b/openmeetings-web/src/test/java/org/apache/openmeetings/web/app/TestOmAuthenticationStrategy.java
index 377e9fa..c3643c2 100644
--- 
a/openmeetings-web/src/test/java/org/apache/openmeetings/web/app/TestOmAuthenticationStrategy.java
+++ 
b/openmeetings-web/src/test/java/org/apache/openmeetings/web/app/TestOmAuthenticationStrategy.java
@@ -19,15 +19,36 @@
 package org.apache.openmeetings.web.app;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
 
+import javax.servlet.http.Cookie;
+
+import org.apache.openmeetings.AbstractWicketTester;
 import org.apache.openmeetings.db.entity.user.User;
 import org.junit.Test;
 
-public class TestOmAuthenticationStrategy {
+public class TestOmAuthenticationStrategy extends AbstractWicketTester {
        @Test
        public void test() {
                OmAuthenticationStrategy s = new OmAuthenticationStrategy();
                s.save(null, null, User.Type.oauth, null);
+               assertNull("Wasn't saved, should not be loaded", s.load());
+
+               s.save("aa", "bb", User.Type.contact, null);
+               copyCookies();
+               assertNotNull("Should be loaded", s.load());
+
                assertEquals(0, s.decode(null).length);
+               assertEquals(4, s.decode("1").length);
+               assertEquals(4, s.decode("1-sep-2").length);
+               assertEquals(4, s.decode("1-sep-2-sep-user").length);
+               assertEquals(4, s.decode("1-sep-2-sep-user-sep-3").length);
+       }
+
+       private void copyCookies() {
+               for (Cookie c : tester.getResponse().getCookies()) {
+                       tester.getRequest().addCookie(c);
+               }
        }
 }

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/a771f1eb/openmeetings-web/src/test/java/org/apache/openmeetings/web/app/TestWebSession.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/test/java/org/apache/openmeetings/web/app/TestWebSession.java
 
b/openmeetings-web/src/test/java/org/apache/openmeetings/web/app/TestWebSession.java
new file mode 100644
index 0000000..34f39d0
--- /dev/null
+++ 
b/openmeetings-web/src/test/java/org/apache/openmeetings/web/app/TestWebSession.java
@@ -0,0 +1,51 @@
+/*
+ * 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.web.app;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import org.apache.openmeetings.AbstractWicketTester;
+import org.apache.openmeetings.db.entity.user.User;
+import org.apache.openmeetings.util.OmException;
+import org.junit.Test;
+
+public class TestWebSession extends AbstractWicketTester {
+       @Test
+       public void testLogin() throws OmException {
+               WebSession ws = WebSession.get();
+               assertFalse("Should not be signed in", ws.isSignedIn());
+
+               try {
+                       ws.signIn(username, "", User.Type.contact, null);
+                       fail("Exception should be thrown");
+               } catch(OmException exc) {
+                       assertTrue("Expected exception", true);
+               }
+               assertFalse(ws.signIn(username, "", User.Type.user, null));
+               assertTrue(ws.signIn(username, userpass, User.Type.user, null));
+               try {
+                       ws.signIn(username, userpass, User.Type.ldap, null);
+                       fail("Exception should be thrown");
+               } catch(OmException exc) {
+                       assertTrue("Expected exception", true);
+               }
+       }
+}

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/a771f1eb/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestUserService.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestUserService.java
 
b/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestUserService.java
index ed4ec1e..f21318f 100644
--- 
a/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestUserService.java
+++ 
b/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestUserService.java
@@ -37,8 +37,11 @@ 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.db.entity.user.User;
+import org.apache.openmeetings.util.OmException;
 import org.apache.openmeetings.web.app.WebSession;
 import org.apache.wicket.util.string.StringValue;
+import org.junit.Assert;
 import org.junit.Test;
 
 public class TestUserService extends AbstractWebServiceTest {
@@ -55,31 +58,45 @@ public class TestUserService extends AbstractWebServiceTest 
{
                assertNotNull("Valid ServiceResult should be returned", r);
        }
 
-       @Test
-       public void hashTest() {
-               ServiceResult r = login();
-               ExternalUserDTO user = new ExternalUserDTO();
-               user.setExternalId("1");
-               user.setExternalType("OmJunitTests");
-               user.setEmail("[email protected]");
-               user.setFirstname("First Name 1");
-               user.setLastname("Last Name 1");
-               user.setLogin("login1");
-               RoomOptionsDTO options = new RoomOptionsDTO();
-               options.setRoomId(5L);
-               options.setModerator(true);
+       private static ServiceResult getHash(String sid) {
+               ExternalUserDTO user = new ExternalUserDTO()
+                               .setExternalId("1")
+                               .setExternalType(UNIT_TEST_EXT_TYPE)
+                               .setEmail("[email protected]")
+                               .setFirstname("First Name 1")
+                               .setLastname("Last Name 1")
+                               .setLogin("login1");
+               RoomOptionsDTO options = new RoomOptionsDTO()
+                               .setRoomId(5L)
+                               .setModerator(true);
                Response resp = getClient(USER_SERVICE_URL)
                                .path("/hash")
-                               .query("sid", r.getMessage())
+                               .query("sid", sid)
                                .form(new Form().param("user", 
user.toString()).param("options", options.toString()));
                assertNotNull("Valid ServiceResult should be returned", resp);
                assertEquals("Call should be successful", 
Response.Status.OK.getStatusCode(), resp.getStatus());
-               ServiceResult r1 = resp.readEntity(ServiceResult.class);
+               return resp.readEntity(ServiceResult.class);
+       }
+
+       @Test
+       public void hashTestNoAuth() {
+               ServiceResult r = getHash("aa");
+               assertEquals("OM Call should NOT be successful", r.getType(), 
Type.ERROR.name());
+       }
+
+       @Test
+       public void hashTest() throws OmException {
+               ServiceResult r = login();
+               ServiceResult r1 = getHash(r.getMessage());
                assertEquals("OM Call should be successful", r1.getType(), 
Type.SUCCESS.name());
 
                WebSession ws = WebSession.get();
+               assertTrue(ws.signIn(username, userpass, User.Type.user, null));
+               Long userId0 = WebSession.getUserId();
                ws.checkHashes(StringValue.valueOf(r1.getMessage()), 
StringValue.valueOf(""));
                assertTrue("Login via secure hash should be successful", 
ws.isSignedIn());
+               Long userId1 = WebSession.getUserId();
+               Assert.assertNotEquals(userId0, userId1);
        }
 
        @Test
@@ -99,7 +116,7 @@ public class TestUserService extends AbstractWebServiceTest {
                u.getAddress().setCountry(Locale.getDefault().getCountry());
                u.setTimeZoneId(tz);
                u.setExternalId(uuid);
-               u.setExternalType("OmJunitTests");
+               u.setExternalType(UNIT_TEST_EXT_TYPE);
                UserDTO user = getClient(USER_SERVICE_URL)
                                .path("/")
                                .query("sid", r.getMessage())

Reply via email to