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