This is an automated email from the ASF dual-hosted git repository.

pradeep pushed a commit to branch ranger-2.4
in repository https://gitbox.apache.org/repos/asf/ranger.git


The following commit(s) were added to refs/heads/ranger-2.4 by this push:
     new 1a9c169f0 RANGER-4112: Update servicedef by name results in 400 status 
code
1a9c169f0 is described below

commit 1a9c169f07e82f48688fc8fd012a9641fc40dc18
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 fac25878e..e11d8efd8 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);
        }
        

Reply via email to