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/12/12 08:05:32 UTC

[openmeetings] branch master updated: [OPENMEETINGS-1971] second-level object is being found as expected

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 f8516c3  [OPENMEETINGS-1971] second-level object is being found as expected
f8516c3 is described below

commit f8516c33357883ef04d83d1c639760185ffb319d
Author: Maxim Solodovnik <so...@gmail.com>
AuthorDate: Wed Dec 12 15:04:55 2018 +0700

    [OPENMEETINGS-1971] second-level object is being found as expected
---
 .../apache/openmeetings/db/dto/user/OAuthUser.java |  5 +++++
 .../openmeetings/db/dto/user/TestOAuthUser.java    | 23 +++++++++++++++++++---
 2 files changed, 25 insertions(+), 3 deletions(-)

diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/user/OAuthUser.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/user/OAuthUser.java
index 906cb90..f8fcda7 100644
--- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/user/OAuthUser.java
+++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/user/OAuthUser.java
@@ -111,6 +111,11 @@ public class OAuthUser implements Serializable {
 						return jao;
 					}
 				}
+			} else if (o instanceof JSONObject) {
+				JSONObject jo = (JSONObject)o;
+				if (jo.has(prop)) {
+					return jo;
+				}
 			}
 		}
 		return new JSONObject();
diff --git a/openmeetings-db/src/test/java/org/apache/openmeetings/db/dto/user/TestOAuthUser.java b/openmeetings-db/src/test/java/org/apache/openmeetings/db/dto/user/TestOAuthUser.java
index f860e06..acc5ca9 100644
--- a/openmeetings-db/src/test/java/org/apache/openmeetings/db/dto/user/TestOAuthUser.java
+++ b/openmeetings-db/src/test/java/org/apache/openmeetings/db/dto/user/TestOAuthUser.java
@@ -45,7 +45,7 @@ public class TestOAuthUser {
 				"{'id': '11klahjsfwehf5', 'email': 'alsfkvslvmclqwkdsm@gmail.com', 'verified_email': true, 'name': 'John Doe', 'given_name': 'John', 'family_name': 'Doe', 'link': 'https://plus.google.com/+JohnDoe', 'picture': 'https://lh3.googleusercontent.com/somehash/photo.jpg', 'gender': 'male', 'locale': 'en'}"
 				, server
 				);
-		assertEquals("UID should be correct", "11klahjsfwehf5", user.getLogin());
+		assertEquals("Login should be correct", "11klahjsfwehf5", user.getLogin());
 		assertEquals("Email should be correct", "alsfkvslvmclqwkdsm@gmail.com", user.getEmail());
 		assertEquals("Firstname should be correct", "John", user.getUserData().get(PARAM_FNAME));
 		assertEquals("Lastname should be correct", "Doe", user.getUserData().get(PARAM_LNAME));
@@ -62,7 +62,7 @@ public class TestOAuthUser {
 				"{'response':[{'uid':4uidhere4,'first_name':'John','last_name':'Doe'}]}"
 				, server
 				);
-		assertEquals("UID should be correct", "4uidhere4", user.getLogin());
+		assertEquals("Login should be correct", "4uidhere4", user.getLogin());
 		assertTrue("Email should be empty", Strings.isEmpty(user.getEmail()));
 		assertEquals("Firstname should be correct", "John", user.getUserData().get(PARAM_FNAME));
 		assertEquals("Lastname should be correct", "Doe", user.getUserData().get(PARAM_LNAME));
@@ -76,12 +76,29 @@ public class TestOAuthUser {
 	}
 
 	@Test
+	public void secondLevel1() {
+		OAuthServer server = new OAuthServer()
+				.addMapping(PARAM_LOGIN, "username")
+				.addMapping(PARAM_EMAIL, "email")
+				.addMapping(PARAM_FNAME, "fname")
+				.addMapping(PARAM_LNAME, "lname");
+		OAuthUser user = new OAuthUser(
+				"{\"hasError\": false, \"result\": {\"username\": \"test\", \"email\": \"aaa@test.com\", \"fname\": \"first\", \"lname\":\"last\"}}"
+				, server
+				);
+		assertEquals("Login should be correct", "test", user.getLogin());
+		assertEquals("Email should be correct", "aaa@test.com", user.getEmail());
+		assertEquals("Firstname should be correct", "first", user.getUserData().get(PARAM_FNAME));
+		assertEquals("Lastname should be correct", "last", user.getUserData().get(PARAM_LNAME));
+	}
+
+	@Test
 	public void map() {
 		Map<String, String> umap = new HashMap<>();
 		umap.put("login", "abc");
 		umap.put("email", "abc@local");
 		OAuthUser user = new OAuthUser(umap);
-		assertEquals("UID should be correct", "abc", user.getLogin());
+		assertEquals("Login should be correct", "abc", user.getLogin());
 		assertEquals("Email should be correct", "abc@local", user.getEmail());
 		assertNull("First should be empty", user.getUserData().get(PARAM_FNAME));
 		assertNull("Lastname should be empty", user.getUserData().get(PARAM_LNAME));