Skip to content

Commit

Permalink
Add Null Check for isAdmin (#16407)
Browse files Browse the repository at this point in the history
* Remove Retry From Abstract Event Consumer

* - Add Check for null Or Empty in isAdmin

* - Fix Test
  • Loading branch information
mohityadav766 authored May 24, 2024
1 parent 7959e25 commit fe2db2d
Show file tree
Hide file tree
Showing 5 changed files with 17 additions and 12 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package org.openmetadata.service.security.auth;

import static org.openmetadata.common.utils.CommonUtil.nullOrEmpty;
import static org.openmetadata.service.exception.CatalogExceptionMessage.NOT_IMPLEMENTED_METHOD;
import static org.openmetadata.service.util.UserUtil.getRoleListFromUser;

Expand Down Expand Up @@ -106,7 +107,7 @@ default JwtResponse getJwtResponse(User storedUser, long expireInSeconds) {
.generateJWTToken(
storedUser.getName(),
getRoleListFromUser(storedUser),
storedUser.getIsAdmin(),
!nullOrEmpty(storedUser.getIsAdmin()) && storedUser.getIsAdmin(),
storedUser.getEmail(),
expireInSeconds,
false,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
import static javax.ws.rs.core.Response.Status.BAD_REQUEST;
import static javax.ws.rs.core.Response.Status.INTERNAL_SERVER_ERROR;
import static javax.ws.rs.core.Response.Status.NOT_IMPLEMENTED;
import static org.openmetadata.common.utils.CommonUtil.nullOrEmpty;
import static org.openmetadata.schema.api.teams.CreateUser.CreatePasswordType.ADMIN_CREATE;
import static org.openmetadata.schema.auth.ChangePasswordRequest.RequestType.SELF;
import static org.openmetadata.schema.auth.ChangePasswordRequest.RequestType.USER;
Expand Down Expand Up @@ -389,7 +390,7 @@ public JwtResponse getNewAccessToken(TokenRefreshRequest request) {
.generateJWTToken(
storedUser.getName(),
getRoleListFromUser(storedUser),
storedUser.getIsAdmin(),
!nullOrEmpty(storedUser.getIsAdmin()) && storedUser.getIsAdmin(),
storedUser.getEmail(),
loginConfiguration.getJwtTokenExpiryTime(),
false,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@

package org.openmetadata.service.security.saml;

import static org.openmetadata.common.utils.CommonUtil.nullOrEmpty;
import static org.openmetadata.service.util.UserUtil.getRoleListFromUser;

import com.onelogin.saml2.Auth;
Expand Down Expand Up @@ -90,7 +91,7 @@ private void handleResponse(HttpServletRequest req, HttpServletResponse resp) th
.generateJWTToken(
username,
getRoleListFromUser(user),
user.getIsAdmin(),
!nullOrEmpty(user.getIsAdmin()) && user.getIsAdmin(),
email,
SamlSettingsHolder.getInstance().getTokenValidity(),
false,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1146,29 +1146,30 @@ void testUserImportExport() throws IOException {
String user =
"userImportExport,d,s,[email protected],America/Los_Angeles,true,teamImportExport,";
String user1 =
"userImportExport1,,,[email protected],,,teamImportExport1,DataConsumer";
String user11 = "userImportExport11,,,[email protected],,,teamImportExport11,";
"userImportExport1,,,[email protected],,false,teamImportExport1,DataConsumer";
String user11 = "userImportExport11,,,[email protected],,false,teamImportExport11,";
List<String> createRecords = listOf(user, user1, user11);

// Update user descriptions
user = "userImportExport,displayName,,[email protected],,,teamImportExport,";
user1 = "userImportExport1,displayName1,,[email protected],,,teamImportExport1,";
user = "userImportExport,displayName,,[email protected],,false,teamImportExport,";
user1 =
"userImportExport1,displayName1,,[email protected],,false,teamImportExport1,";
user11 =
"userImportExport11,displayName11,,[email protected],,,teamImportExport11,";
"userImportExport11,displayName11,,[email protected],,false,teamImportExport11,";
List<String> updateRecords = listOf(user, user1, user11);

// Add new users
String user2 =
"userImportExport2,displayName2,,[email protected],,,teamImportExport1,";
"userImportExport2,displayName2,,[email protected],,false,teamImportExport1,";
String user21 =
"userImportExport21,displayName21,,[email protected],,,teamImportExport11,";
"userImportExport21,displayName21,,[email protected],,false,teamImportExport11,";
List<String> newRecords = listOf(user2, user21);
testImportExport("teamImportExport", UserCsv.HEADERS, createRecords, updateRecords, newRecords);

// Import to team11 a user in team1 - since team1 is not under team11 hierarchy, import should
// fail
String user3 =
"userImportExport3,displayName3,,[email protected],,,teamImportExport1,";
"userImportExport3,displayName3,,[email protected],,false,teamImportExport1,";
csv = EntityCsvTest.createCsv(UserCsv.HEADERS, listOf(user3), null);
result = importCsv("teamImportExport11", csv, false);
String error =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,8 @@
},
"isAdmin": {
"description": "When true indicates user is an administrator for the system with superuser privileges.",
"type": "boolean"
"type": "boolean",
"default": false
},
"authenticationMechanism": {
"$ref": "#/definitions/authenticationMechanism"
Expand Down

0 comments on commit fe2db2d

Please sign in to comment.