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 <[email protected]>
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);
}