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 2017/10/01 08:04:31 UTC
openmeetings git commit: [OPENMEETINGS-1714] more issues are fixed
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 <so...@gmail.com>
Authored: Sun Oct 1 15:04:24 2017 +0700
Committer: Maxim Solodovnik <so...@gmail.com>
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("user1@junit.openmeetings.apache.org");
- 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("user1@junit.openmeetings.apache.org")
+ .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())