Fix Sonar cloud flagged issues (#4987)

This commit is contained in:
Suresh Srinivas 2022-05-16 17:32:15 -07:00 committed by GitHub
parent 0ba22c1d2f
commit 9cab223a6f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 15 additions and 40 deletions

View File

@ -763,7 +763,7 @@ public abstract class EntityRepository<T extends EntityInterface> {
from = toId;
to = fromId;
}
return daoCollection.relationshipDAO().insert(fromId, toId, fromEntity, toEntity, relationship.ordinal(), json);
return daoCollection.relationshipDAO().insert(from, to, fromEntity, toEntity, relationship.ordinal(), json);
}
public List<String> findBoth(UUID entity1, String entityType1, Relationship relationship, String entity2) {

View File

@ -31,7 +31,6 @@ import java.util.UUID;
import lombok.extern.slf4j.Slf4j;
import org.openmetadata.catalog.Entity;
import org.openmetadata.catalog.entity.data.MlModel;
import org.openmetadata.catalog.jdbi3.EntityRepository.EntityUpdater;
import org.openmetadata.catalog.resources.mlmodels.MlModelResource;
import org.openmetadata.catalog.type.EntityReference;
import org.openmetadata.catalog.type.Include;

View File

@ -215,7 +215,7 @@ public class UserRepository extends EntityRepository<User> {
List<String> teamIds = findFrom(user.getId(), Entity.USER, Relationship.HAS, Entity.TEAM);
List<EntityReference> teams = EntityUtil.populateEntityReferences(teamIds, Entity.TEAM);
// return only the non-deleted teams
return teams.stream().filter((team) -> !team.getDeleted()).collect(Collectors.toList());
return teams.stream().filter(team -> !team.getDeleted()).collect(Collectors.toList());
}
private void assignRoles(User user, List<EntityReference> roles) {

View File

@ -34,7 +34,7 @@ public abstract class EntityResource<T extends EntityInterface, K extends Entity
protected final Authorizer authorizer;
private final boolean supportsOwner;
public EntityResource(Class<T> entityClass, K repository, Authorizer authorizer) {
protected EntityResource(Class<T> entityClass, K repository, Authorizer authorizer) {
this.entityClass = entityClass;
allowedFields = Entity.getAllowedFields(entityClass);
supportsOwner = allowedFields.contains(FIELD_OWNER);

View File

@ -17,7 +17,6 @@ import static org.openmetadata.catalog.security.SecurityUtil.ADMIN;
import static org.openmetadata.catalog.security.SecurityUtil.BOT;
import static org.openmetadata.catalog.security.SecurityUtil.OWNER;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import io.swagger.annotations.Api;
import io.swagger.v3.oas.annotations.ExternalDocumentation;
import io.swagger.v3.oas.annotations.Operation;
@ -28,8 +27,6 @@ import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.parameters.RequestBody;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
import java.util.UUID;
@ -79,11 +76,6 @@ public class FeedResource {
private final FeedRepository dao;
private final Authorizer authorizer;
private static List<String> getAllowedFields() {
JsonPropertyOrder propertyOrder = Thread.class.getAnnotation(JsonPropertyOrder.class);
return new ArrayList<>(Arrays.asList(propertyOrder.value()));
}
public static List<Thread> addHref(UriInfo uriInfo, List<Thread> threads) {
threads.forEach(t -> addHref(uriInfo, t));
return threads;

View File

@ -15,6 +15,7 @@ package org.openmetadata.catalog.resources.metrics;
import static org.openmetadata.catalog.security.SecurityUtil.ADMIN;
import static org.openmetadata.catalog.security.SecurityUtil.BOT;
import static org.openmetadata.catalog.security.SecurityUtil.OWNER;
import io.swagger.annotations.Api;
import io.swagger.v3.oas.annotations.Operation;
@ -173,7 +174,7 @@ public class MetricsResource extends EntityResource<Metrics, MetricsRepository>
public Response createOrUpdate(
@Context UriInfo uriInfo, @Context SecurityContext securityContext, @Valid Metrics metrics) throws IOException {
addToMetrics(securityContext, metrics);
return createOrUpdate(uriInfo, securityContext, metrics);
return createOrUpdate(uriInfo, securityContext, metrics, ADMIN | BOT | OWNER);
}
private void addToMetrics(SecurityContext securityContext, Metrics metrics) {

View File

@ -15,6 +15,7 @@ package org.openmetadata.catalog.resources.reports;
import static org.openmetadata.catalog.security.SecurityUtil.ADMIN;
import static org.openmetadata.catalog.security.SecurityUtil.BOT;
import static org.openmetadata.catalog.security.SecurityUtil.OWNER;
import io.swagger.annotations.Api;
import io.swagger.v3.oas.annotations.Operation;
@ -165,7 +166,7 @@ public class ReportResource extends EntityResource<Report, ReportRepository> {
public Response createOrUpdate(
@Context UriInfo uriInfo, @Context SecurityContext securityContext, @Valid Report report) throws IOException {
addToReport(securityContext, report);
return createOrUpdate(uriInfo, securityContext, report);
return createOrUpdate(uriInfo, securityContext, report, ADMIN | BOT | OWNER);
}
private void addToReport(SecurityContext securityContext, Report report) {

View File

@ -47,9 +47,7 @@ import javax.ws.rs.core.SecurityContext;
import javax.ws.rs.core.UriInfo;
import org.openmetadata.catalog.Entity;
import org.openmetadata.catalog.api.services.CreateDatabaseService;
import org.openmetadata.catalog.api.services.DatabaseConnection;
import org.openmetadata.catalog.entity.services.DatabaseService;
import org.openmetadata.catalog.fernet.Fernet;
import org.openmetadata.catalog.jdbi3.CollectionDAO;
import org.openmetadata.catalog.jdbi3.DatabaseServiceRepository;
import org.openmetadata.catalog.jdbi3.ListFilter;
@ -72,7 +70,6 @@ public class DatabaseServiceResource extends EntityResource<DatabaseService, Dat
public static final String COLLECTION_PATH = "v1/services/databaseServices/";
static final String FIELDS = "pipelines,owner";
private final Fernet fernet;
@Override
public DatabaseService addHref(UriInfo uriInfo, DatabaseService service) {
@ -84,7 +81,6 @@ public class DatabaseServiceResource extends EntityResource<DatabaseService, Dat
public DatabaseServiceResource(CollectionDAO dao, Authorizer authorizer) {
super(DatabaseService.class, new DatabaseServiceRepository(dao), authorizer);
this.fernet = Fernet.getInstance();
}
public static class DatabaseServiceList extends ResultList<DatabaseService> {
@ -357,18 +353,4 @@ public class DatabaseServiceResource extends EntityResource<DatabaseService, Dat
.withUpdatedBy(securityContext.getUserPrincipal().getName())
.withUpdatedAt(System.currentTimeMillis());
}
private void validateDatabaseConnection(
DatabaseConnection databaseConnection, CreateDatabaseService.DatabaseServiceType databaseServiceType) {
try {
Object connectionConfig = databaseConnection.getConfig();
String clazzName =
"org.openmetadata.catalog.services.connections.database." + databaseServiceType.value() + "Connection";
Class<?> clazz = Class.forName(clazzName);
JsonUtils.convertValue(connectionConfig, clazz);
} catch (Exception e) {
throw new RuntimeException(
String.format("Failed to construct connection instance of %s", databaseServiceType.value()));
}
}
}

View File

@ -79,11 +79,11 @@ class ConfigResourceTest extends CatalogApplicationTest {
WebTarget target = getConfigResource("jwks");
JWKSResponse auth = TestUtils.get(target, JWKSResponse.class, TEST_AUTH_HEADERS);
assertNotNull(auth);
assertEquals(auth.getJwsKeys().size(), 1);
assertEquals(1, auth.getJwsKeys().size());
JWKSKey jwksKey = auth.getJwsKeys().get(0);
assertEquals(jwksKey.getAlg(), "RS256");
assertEquals(jwksKey.getUse(), "sig");
assertEquals(jwksKey.getKty(), "RSA");
assertEquals("RS256", jwksKey.getAlg());
assertEquals("sig", jwksKey.getUse());
assertEquals("RSA", jwksKey.getKty());
assertNotNull(jwksKey.getN());
assertNotNull(jwksKey.getE());
}

View File

@ -694,13 +694,13 @@ public class UserResourceTest extends EntityResourceTest<User, CreateUser> {
Date date = jwt.getExpiresAt();
long daysBetween = ((date.getTime() - jwt.getIssuedAt().getTime()) / (1000 * 60 * 60 * 24));
assertTrue(daysBetween >= 6);
assertEquals(jwt.getClaims().get("sub").asString(), "ingestion-bot-jwt");
assertEquals(jwt.getClaims().get("isBot").asBoolean(), true);
assertEquals("ingestion-bot-jwt", jwt.getClaims().get("sub").asString());
assertEquals(true, jwt.getClaims().get("isBot").asBoolean());
TestUtils.put(getResource(String.format("users/revokeToken/%s", user.getId())), User.class, OK, ADMIN_AUTH_HEADERS);
jwtAuthMechanism =
TestUtils.get(
getResource(String.format("users/token/%s", user.getId())), JWTAuthMechanism.class, ADMIN_AUTH_HEADERS);
assertEquals(jwtAuthMechanism.getJWTToken(), StringUtils.EMPTY);
assertEquals(StringUtils.EMPTY, jwtAuthMechanism.getJWTToken());
}
private DecodedJWT decodedJWT(String token) throws MalformedURLException, JwkException, HttpResponseException {

View File

@ -53,7 +53,7 @@ public class JWTTokenGeneratorTest {
.withDisplayName("ingestion-bot");
JWTAuthMechanism jwtAuthMechanism = jwtTokenGenerator.generateJWTToken(user, JWTTokenExpiry.Seven);
DecodedJWT jwt = decodedJWT(jwtAuthMechanism.getJWTToken());
assertEquals(jwt.getClaims().get("sub").asString(), "ingestion-bot");
assertEquals("ingestion-bot", jwt.getClaims().get("sub").asString());
Date date = jwt.getExpiresAt();
long daysBetween = ((date.getTime() - jwt.getIssuedAt().getTime()) / (1000 * 60 * 60 * 24));
assertTrue(daysBetween >= 6);