This is an automated email from the ASF dual-hosted git repository. pradeep pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ranger.git
The following commit(s) were added to refs/heads/master by this push: new fa2c6e03c RANGER-4112: Update servicedef by name results in 400 status code fa2c6e03c is described below commit fa2c6e03c7761ab60cf686ecaeb69bec2267ef47 Author: Pradeep AgrawaL <prad...@apache.org> AuthorDate: Tue Feb 28 16:55:05 2023 +0530 RANGER-4112: Update servicedef by name results in 400 status code --- security-admin/src/main/java/org/apache/ranger/rest/PublicAPIsv2.java | 2 +- security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java | 2 +- .../src/test/java/org/apache/ranger/rest/TestPublicAPIsv2.java | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/security-admin/src/main/java/org/apache/ranger/rest/PublicAPIsv2.java b/security-admin/src/main/java/org/apache/ranger/rest/PublicAPIsv2.java index 4ad6058cc..85cd7dd67 100644 --- a/security-admin/src/main/java/org/apache/ranger/rest/PublicAPIsv2.java +++ b/security-admin/src/main/java/org/apache/ranger/rest/PublicAPIsv2.java @@ -278,7 +278,7 @@ public class PublicAPIsv2 { serviceDef.setGuid(existingServiceDef.getGuid()); } - return serviceREST.updateServiceDef(serviceDef, null); + return serviceREST.updateServiceDef(serviceDef, serviceDef.getId()); } /* diff --git a/security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java b/security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java index 9e2fb66b4..5542250aa 100644 --- a/security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java +++ b/security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java @@ -332,7 +332,7 @@ public class ServiceREST { // if serviceDef.id is null, then set param 'id' into serviceDef Object if (serviceDef.getId() == null) { serviceDef.setId(id); - } else if(!serviceDef.getId().equals(id)) { + } else if(StringUtils.isBlank(serviceDef.getName()) && !serviceDef.getId().equals(id)) { throw restErrorUtil.createRESTException(HttpServletResponse.SC_BAD_REQUEST , "serviceDef Id mismatch", true); } diff --git a/security-admin/src/test/java/org/apache/ranger/rest/TestPublicAPIsv2.java b/security-admin/src/test/java/org/apache/ranger/rest/TestPublicAPIsv2.java index 53750a041..73a593e9f 100644 --- a/security-admin/src/test/java/org/apache/ranger/rest/TestPublicAPIsv2.java +++ b/security-admin/src/test/java/org/apache/ranger/rest/TestPublicAPIsv2.java @@ -317,7 +317,7 @@ public class TestPublicAPIsv2 { RangerServiceDef rangerServiceDef = rangerServiceDef(); String name = rangerServiceDef.getName(); Mockito.when(serviceREST.getServiceDefByName(name)).thenReturn(rangerServiceDef); - Mockito.when(serviceREST.updateServiceDef(rangerServiceDef, null)).thenReturn(rangerServiceDef); + Mockito.when(serviceREST.updateServiceDef(rangerServiceDef, rangerServiceDef.getId())).thenReturn(rangerServiceDef); RangerServiceDef dbRangerServiceDef = publicAPIsv2.updateServiceDefByName(rangerServiceDef, name); Assert.assertNotNull(dbRangerServiceDef); Assert.assertEquals(dbRangerServiceDef, rangerServiceDef); @@ -325,7 +325,7 @@ public class TestPublicAPIsv2 { rangerServiceDef.getId()); Assert.assertEquals(dbRangerServiceDef.getName(), rangerServiceDef.getName()); - Mockito.verify(serviceREST).updateServiceDef(rangerServiceDef, null); + Mockito.verify(serviceREST).updateServiceDef(rangerServiceDef, dbRangerServiceDef.getId()); Mockito.verify(serviceREST).getServiceDefByName(name); }