Add a test case
Signed-off-by: Vlad Safronov <vladislav.safronov@oracle.com>
This commit is contained in:
		| @@ -248,7 +248,9 @@ func (c *oauthConnector) addGroupsFromMap(groups map[string]struct{}, result map | ||||
| 			groups[groupString] = struct{}{} | ||||
| 		} | ||||
| 		if groupMap, ok := group.(map[string]interface{}); ok { | ||||
| 			groups[groupMap["name"]] = true | ||||
| 			if groupName, ok := groupMap["name"].(string); ok { | ||||
| 				groups[groupName] = true | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
|   | ||||
| @@ -100,6 +100,42 @@ func TestHandleCallBackForGroupsInUserInfo(t *testing.T) { | ||||
| 	assert.Equal(t, identity.EmailVerified, false) | ||||
| } | ||||
|  | ||||
| func TestHandleCallBackForGroupMapsInUserInfo(t *testing.T) { | ||||
| 	tokenClaims := map[string]interface{}{} | ||||
|  | ||||
| 	userInfoClaims := map[string]interface{}{ | ||||
| 		"name":               "test-name", | ||||
| 		"user_id_key":        "test-user-id", | ||||
| 		"user_name_key":      "test-username", | ||||
| 		"preferred_username": "test-preferred-username", | ||||
| 		"mail":               "mod_mail", | ||||
| 		"has_verified_email": false, | ||||
| 		"groups_key": []interface{}{ | ||||
| 			map[string]string{"name": "admin-group", "id": "111"}, | ||||
| 			map[string]string{"name": "user-group", "id": "222"}, | ||||
| 		}, | ||||
| 	} | ||||
|  | ||||
| 	testServer := testSetup(t, tokenClaims, userInfoClaims) | ||||
| 	defer testServer.Close() | ||||
|  | ||||
| 	conn := newConnector(t, testServer.URL) | ||||
| 	req := newRequestWithAuthCode(t, testServer.URL, "some-code") | ||||
|  | ||||
| 	identity, err := conn.HandleCallback(connector.Scopes{Groups: true}, req) | ||||
| 	assert.Equal(t, err, nil) | ||||
|  | ||||
| 	sort.Strings(identity.Groups) | ||||
| 	assert.Equal(t, len(identity.Groups), 2) | ||||
| 	assert.Equal(t, identity.Groups[0], "admin-group") | ||||
| 	assert.Equal(t, identity.Groups[1], "user-group") | ||||
| 	assert.Equal(t, identity.UserID, "test-user-id") | ||||
| 	assert.Equal(t, identity.Username, "test-username") | ||||
| 	assert.Equal(t, identity.PreferredUsername, "test-preferred-username") | ||||
| 	assert.Equal(t, identity.Email, "mod_mail") | ||||
| 	assert.Equal(t, identity.EmailVerified, false) | ||||
| } | ||||
|  | ||||
| func TestHandleCallBackForGroupsInToken(t *testing.T) { | ||||
| 	tokenClaims := map[string]interface{}{ | ||||
| 		"groups_key": []string{"test-group"}, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user