Repository: ranger
Updated Branches:
  refs/heads/ranger-0.7 49f874fcf -> eb8129534


RANGER-1795: Service should not be renamed if tagged service resources exist 
for it unless 'forceRename=true' option is specified


Project: http://git-wip-us.apache.org/repos/asf/ranger/repo
Commit: http://git-wip-us.apache.org/repos/asf/ranger/commit/eb812953
Tree: http://git-wip-us.apache.org/repos/asf/ranger/tree/eb812953
Diff: http://git-wip-us.apache.org/repos/asf/ranger/diff/eb812953

Branch: refs/heads/ranger-0.7
Commit: eb8129534c1b76ba0dc2f4661a45b1c0c522c51c
Parents: 49f874f
Author: Abhay Kulkarni <[email protected]>
Authored: Mon Oct 16 14:09:21 2017 -0700
Committer: Abhay Kulkarni <[email protected]>
Committed: Mon Oct 16 14:09:21 2017 -0700

----------------------------------------------------------------------
 .../ranger/plugin/store/ServiceStore.java       |  6 +++-
 .../org/apache/ranger/biz/ServiceDBStore.java   | 31 ++++++++++++++------
 .../apache/ranger/db/XXServiceResourceDao.java  | 12 ++++++++
 .../java/org/apache/ranger/rest/AssetREST.java  |  2 +-
 .../java/org/apache/ranger/rest/PublicAPIs.java |  2 +-
 .../org/apache/ranger/rest/PublicAPIsv2.java    | 10 ++++---
 .../org/apache/ranger/rest/ServiceREST.java     | 20 +++++++++++--
 .../resources/META-INF/jpa_named_queries.xml    |  6 ++++
 .../apache/ranger/biz/TestServiceDBStore.java   | 13 ++++----
 .../org/apache/ranger/rest/TestAssetREST.java   |  5 ++--
 .../org/apache/ranger/rest/TestPublicAPIs.java  |  5 ++--
 .../apache/ranger/rest/TestPublicAPIsv2.java    | 14 +++++----
 .../org/apache/ranger/rest/TestServiceREST.java | 10 +++++--
 13 files changed, 98 insertions(+), 38 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ranger/blob/eb812953/agents-common/src/main/java/org/apache/ranger/plugin/store/ServiceStore.java
----------------------------------------------------------------------
diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/store/ServiceStore.java 
b/agents-common/src/main/java/org/apache/ranger/plugin/store/ServiceStore.java
index 89c3326..2c57a6f 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/store/ServiceStore.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/store/ServiceStore.java
@@ -20,6 +20,7 @@
 package org.apache.ranger.plugin.store;
 
 import java.util.List;
+import java.util.Map;
 
 import org.apache.ranger.plugin.model.RangerPolicy;
 import org.apache.ranger.plugin.model.RangerService;
@@ -28,6 +29,9 @@ import org.apache.ranger.plugin.util.SearchFilter;
 import org.apache.ranger.plugin.util.ServicePolicies;
 
 public interface ServiceStore {
+
+    String OPTION_FORCE_RENAME = "forceRename";
+
        void init() throws Exception;
 
        RangerServiceDef createServiceDef(RangerServiceDef serviceDef) throws 
Exception;
@@ -48,7 +52,7 @@ public interface ServiceStore {
 
        RangerService createService(RangerService service) throws Exception;
 
-       RangerService updateService(RangerService service) throws Exception;
+       RangerService updateService(RangerService service, Map<String, Object> 
options) throws Exception;
 
        void deleteService(Long id) throws Exception;
 

http://git-wip-us.apache.org/repos/asf/ranger/blob/eb812953/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java
----------------------------------------------------------------------
diff --git 
a/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java 
b/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java
index d951090..6a1ef09 100644
--- a/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java
+++ b/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java
@@ -61,6 +61,7 @@ import 
org.apache.ranger.plugin.policyresourcematcher.RangerDefaultPolicyResourc
 import 
org.apache.ranger.plugin.policyresourcematcher.RangerPolicyResourceMatcher;
 import org.apache.ranger.plugin.resourcematcher.RangerAbstractResourceMatcher;
 import org.apache.ranger.plugin.service.RangerBaseService;
+import org.apache.ranger.plugin.store.ServiceStore;
 import org.apache.ranger.plugin.util.PasswordUtils;
 import org.apache.ranger.common.JSONUtil;
 import org.apache.ranger.common.PropertiesUtil;
@@ -1463,7 +1464,7 @@ public class ServiceDBStore extends AbstractServiceStore {
        }
 
        @Override
-       public RangerService updateService(RangerService service) throws 
Exception {
+       public RangerService updateService(RangerService service, Map<String, 
Object> options) throws Exception {
                if(LOG.isDebugEnabled()) {
                        LOG.debug("==> ServiceDBStore.updateService()");
                }
@@ -1481,13 +1482,26 @@ public class ServiceDBStore extends 
AbstractServiceStore {
                boolean renamed = 
!StringUtils.equalsIgnoreCase(service.getName(), existingName);
 
                if(renamed) {
-                       XXService newNameService = 
daoMgr.getXXService().findByName(service.getName());
+            XXService newNameService = 
daoMgr.getXXService().findByName(service.getName());
 
-                       if(newNameService != null) {
-                               throw 
restErrorUtil.createRESTException("another service already exists with name '"
-                                               + service.getName() + "'. ID=" 
+ newNameService.getId(), MessageEnums.DATA_NOT_UPDATABLE);
-                       }
-               }
+            if (newNameService != null) {
+                throw restErrorUtil.createRESTException("another service 
already exists with name '"
+                        + service.getName() + "'. ID=" + 
newNameService.getId(), MessageEnums.DATA_NOT_UPDATABLE);
+            }
+
+            long countOfTaggedResources = 
daoMgr.getXXServiceResource().countTaggedResourcesInServiceId(existing.getId());
+
+            Boolean isForceRename =  options != null && 
options.get(ServiceStore.OPTION_FORCE_RENAME) != null ? (Boolean) 
options.get(ServiceStore.OPTION_FORCE_RENAME) : Boolean.FALSE;
+
+            if (countOfTaggedResources != 0L) {
+                if (isForceRename) {
+                    LOG.warn("Forcing the renaming of service from " + 
existingName + " to " + service.getName() + " although it is associated with " 
+ countOfTaggedResources
+                    + " service-resources!");
+                } else {
+                    throw restErrorUtil.createRESTException("Service " + 
existingName + " cannot be renamed, as it has associated service-resources", 
MessageEnums.DATA_NOT_UPDATABLE);
+                }
+            }
+        }
 
                Map<String, String> configs = service.getConfigs();
                Map<String, String> validConfigs = 
validateRequiredConfigParams(service, configs);
@@ -3922,7 +3936,7 @@ public class ServiceDBStore extends AbstractServiceStore {
                                                        chkServiceUpdate = true;
                                }
                                if(chkServiceUpdate){
-                                       updateService(rangerService);
+                                       updateService(rangerService, null);
                                                        
if(LOG.isDebugEnabled()){
                                                                
LOG.debug("Updated service "+rangerService.getName()+" with custom properties 
in secure environment");
                                                        }
@@ -3931,7 +3945,6 @@ public class ServiceDBStore extends AbstractServiceStore {
                                }
                        } catch (Throwable e) {
                                LOG.fatal("updateServiceWithCustomProperty 
failed with exception : "+e.getMessage());
-                               return;
                        }
        }
 

http://git-wip-us.apache.org/repos/asf/ranger/blob/eb812953/security-admin/src/main/java/org/apache/ranger/db/XXServiceResourceDao.java
----------------------------------------------------------------------
diff --git 
a/security-admin/src/main/java/org/apache/ranger/db/XXServiceResourceDao.java 
b/security-admin/src/main/java/org/apache/ranger/db/XXServiceResourceDao.java
index 9859992..f87c0ae 100644
--- 
a/security-admin/src/main/java/org/apache/ranger/db/XXServiceResourceDao.java
+++ 
b/security-admin/src/main/java/org/apache/ranger/db/XXServiceResourceDao.java
@@ -84,6 +84,18 @@ public class XXServiceResourceDao extends 
BaseDao<XXServiceResource> {
                }
        }
 
+       public long countTaggedResourcesInServiceId(Long serviceId) {
+               if (serviceId == null) {
+                       return -1;
+               }
+               try {
+                       return 
getEntityManager().createNamedQuery("XXServiceResource.countTaggedResourcesInServiceId",
 Long.class)
+                                       .setParameter("serviceId", 
serviceId).getSingleResult();
+               } catch (NoResultException e) {
+                       return -1;
+               }
+       }
+
        public List<XXServiceResource> findForServicePlugin(Long serviceId) {
                if (serviceId == null) {
                        return new ArrayList<XXServiceResource>();

http://git-wip-us.apache.org/repos/asf/ranger/blob/eb812953/security-admin/src/main/java/org/apache/ranger/rest/AssetREST.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/rest/AssetREST.java 
b/security-admin/src/main/java/org/apache/ranger/rest/AssetREST.java
index 54226d9..3c274e3 100644
--- a/security-admin/src/main/java/org/apache/ranger/rest/AssetREST.java
+++ b/security-admin/src/main/java/org/apache/ranger/rest/AssetREST.java
@@ -190,7 +190,7 @@ public class AssetREST {
 
                RangerService service = serviceUtil.toRangerService(vXAsset);
 
-               RangerService updatedService = 
serviceREST.updateService(service);
+               RangerService updatedService = 
serviceREST.updateService(service, null);
                
                VXAsset ret = serviceUtil.toVXAsset(updatedService);
 

http://git-wip-us.apache.org/repos/asf/ranger/blob/eb812953/security-admin/src/main/java/org/apache/ranger/rest/PublicAPIs.java
----------------------------------------------------------------------
diff --git 
a/security-admin/src/main/java/org/apache/ranger/rest/PublicAPIs.java 
b/security-admin/src/main/java/org/apache/ranger/rest/PublicAPIs.java
index d3c22d7..7818eb5 100644
--- a/security-admin/src/main/java/org/apache/ranger/rest/PublicAPIs.java
+++ b/security-admin/src/main/java/org/apache/ranger/rest/PublicAPIs.java
@@ -144,7 +144,7 @@ public class PublicAPIs {
                RangerService service = serviceUtil.toRangerService(vXAsset);
                service.setVersion(existing.getVersion());
 
-               RangerService updatedService = 
serviceREST.updateService(service);
+               RangerService updatedService = 
serviceREST.updateService(service, null);
                
                VXAsset retvXAsset = serviceUtil.toVXAsset(updatedService);
                

http://git-wip-us.apache.org/repos/asf/ranger/blob/eb812953/security-admin/src/main/java/org/apache/ranger/rest/PublicAPIsv2.java
----------------------------------------------------------------------
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 fa3c68e..0281c94 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
@@ -209,7 +209,8 @@ public class PublicAPIsv2 {
        @Path("/api/service/{id}")
        @PreAuthorize("@rangerPreAuthSecurityHandler.isAPISpnegoAccessible()")
        @Produces({ "application/json", "application/xml" })
-       public RangerService updateService(RangerService service, 
@PathParam("id") Long id) {
+       public RangerService updateService(RangerService service, 
@PathParam("id") Long id,
+                                       @Context HttpServletRequest request) {
                // if service.id is specified, it should be same as the param 
'id'
                if(service.getId() == null) {
                        service.setId(id);
@@ -217,7 +218,7 @@ public class PublicAPIsv2 {
                        throw 
restErrorUtil.createRESTException(HttpServletResponse.SC_BAD_REQUEST , "service 
id mismatch", true);
                }
 
-               return serviceREST.updateService(service);
+               return serviceREST.updateService(service, request);
        }
 
 
@@ -226,7 +227,8 @@ public class PublicAPIsv2 {
        @PreAuthorize("@rangerPreAuthSecurityHandler.isAPISpnegoAccessible()")
        @Produces({ "application/json", "application/xml" })
        public RangerService updateServiceByName(RangerService service,
-                                                      @PathParam("name") 
String name) {
+                                             @PathParam("name") String name,
+                                             @Context HttpServletRequest 
request) {
                // ignore service.id - if specified. Retrieve using the given 
name and use id from the retrieved object
                RangerService existingService = getServiceByName(name);
                service.setId(existingService.getId());
@@ -237,7 +239,7 @@ public class PublicAPIsv2 {
                        service.setName(existingService.getName());
                }
 
-               return serviceREST.updateService(service);
+               return serviceREST.updateService(service, request);
        }
 
        /*

http://git-wip-us.apache.org/repos/asf/ranger/blob/eb812953/security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java
----------------------------------------------------------------------
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 8ea8313..6e6d241 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
@@ -101,6 +101,7 @@ import 
org.apache.ranger.plugin.policyengine.RangerPolicyEngineOptions;
 import org.apache.ranger.plugin.service.ResourceLookupContext;
 import org.apache.ranger.plugin.store.PList;
 import org.apache.ranger.plugin.store.EmbeddedServiceDefsUtil;
+import org.apache.ranger.plugin.store.ServiceStore;
 import org.apache.ranger.plugin.util.GrantRevokeRequest;
 import org.apache.ranger.plugin.util.RangerAccessRequestUtil;
 import org.apache.ranger.plugin.util.RangerPerfTracer;
@@ -670,7 +671,8 @@ public class ServiceREST {
        @Path("/services/{id}")
        @Produces({ "application/json", "application/xml" })
        @PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + 
RangerAPIList.UPDATE_SERVICE + "\")")
-       public RangerService updateService(RangerService service) {
+       public RangerService updateService(RangerService service,
+                                       @Context HttpServletRequest request) {
                if(LOG.isDebugEnabled()) {
                        LOG.debug("==> ServiceREST.updateService(): " + 
service);
                }
@@ -693,7 +695,9 @@ public class ServiceREST {
                        XXServiceDef xxServiceDef = 
daoManager.getXXServiceDef().findByName(service.getType());
                        bizUtil.hasKMSPermissions("Service", 
xxServiceDef.getImplclassname());
 
-                       ret = svcStore.updateService(service);
+                       Map<String, Object> options = getOptions(request);
+
+            ret = svcStore.updateService(service, options);
                } catch(WebApplicationException excp) {
                        throw excp;
                } catch(Throwable excp) {
@@ -3304,4 +3308,16 @@ public class ServiceREST {
                        }
                }
        }
+
+       private Map<String, Object> getOptions(HttpServletRequest request) {
+           Map<String, Object> ret = null;
+           if (request != null) {
+               String isForceRenameOption = 
request.getParameter(ServiceStore.OPTION_FORCE_RENAME);
+               if (StringUtils.isNotBlank(isForceRenameOption)) {
+                   ret = new HashMap<String, Object>();
+                   ret.put(ServiceStore.OPTION_FORCE_RENAME, 
Boolean.valueOf(isForceRenameOption));
+            }
+        }
+        return ret;
+    }
 }

http://git-wip-us.apache.org/repos/asf/ranger/blob/eb812953/security-admin/src/main/resources/META-INF/jpa_named_queries.xml
----------------------------------------------------------------------
diff --git a/security-admin/src/main/resources/META-INF/jpa_named_queries.xml 
b/security-admin/src/main/resources/META-INF/jpa_named_queries.xml
index a212e59..786b4bf 100644
--- a/security-admin/src/main/resources/META-INF/jpa_named_queries.xml
+++ b/security-admin/src/main/resources/META-INF/jpa_named_queries.xml
@@ -1085,6 +1085,12 @@
                </query>
        </named-query>
 
+       <named-query name="XXServiceResource.countTaggedResourcesInServiceId">
+               <query>select count(obj.id) from XXServiceResource obj where 
obj.serviceId = :serviceId and obj.id in
+                       (select tagResMap.resourceId from XXTagResourceMap 
tagResMap)
+               </query>
+       </named-query>
+
        <named-query name="XXServiceResource.findForServicePlugin">
                <query>
                        select obj from XXServiceResource obj, XXService 
service where service.id = :serviceId and service.tagService is not null and 
obj.serviceId = service.id and obj.id in

http://git-wip-us.apache.org/repos/asf/ranger/blob/eb812953/security-admin/src/test/java/org/apache/ranger/biz/TestServiceDBStore.java
----------------------------------------------------------------------
diff --git 
a/security-admin/src/test/java/org/apache/ranger/biz/TestServiceDBStore.java 
b/security-admin/src/test/java/org/apache/ranger/biz/TestServiceDBStore.java
index cd7a605..44523fb 100644
--- a/security-admin/src/test/java/org/apache/ranger/biz/TestServiceDBStore.java
+++ b/security-admin/src/test/java/org/apache/ranger/biz/TestServiceDBStore.java
@@ -1215,10 +1215,12 @@ public class TestServiceDBStore {
                XXServiceConfigDefDao xServiceConfigDefDao = Mockito
                                .mock(XXServiceConfigDefDao.class);
                XXUserDao xUserDao = Mockito.mock(XXUserDao.class);
-               XXUser xUser = Mockito.mock(XXUser.class);
+        XXUser xUser = Mockito.mock(XXUser.class);
+        XXServiceResourceDao xServiceResourceDao = 
Mockito.mock(XXServiceResourceDao.class);
 
                VXUser vXUser = null;
                RangerService rangerService = rangerService();
+               Map<String, Object> options = null;
                String name = "fdfdfds";
 
                List<XXTrxLog> trxLogList = new ArrayList<XXTrxLog>();
@@ -1247,12 +1249,9 @@ public class TestServiceDBStore {
                xServiceConfigDefList.add(serviceConfigDefObj);
                Mockito.when(daoManager.getXXServiceConfigDef()).thenReturn(
                                xServiceConfigDefDao);
-               Mockito.when(xServiceConfigDefDao.findByServiceDefName(name))
-                               .thenReturn(xServiceConfigDefList);
-
-               Mockito.when(svcService.getTransactionLog(rangerService, 
xService, 0))
-                               .thenReturn(trxLogList);
+               
Mockito.when(daoManager.getXXServiceResource()).thenReturn(xServiceResourceDao);
 
+               
Mockito.when(xServiceResourceDao.countTaggedResourcesInServiceId(xService.getId())).thenReturn(0L);
                Mockito.when(svcService.update(rangerService))
                                .thenReturn(rangerService);
                Mockito.when(daoManager.getXXService()).thenReturn(xServiceDao);
@@ -1303,7 +1302,7 @@ public class TestServiceDBStore {
                
Mockito.when(xServiceVersionInfoDao.update(xServiceVersionInfo)).thenReturn(xServiceVersionInfo);
 
                RangerService dbRangerService = serviceDBStore
-                               .updateService(rangerService);
+                               .updateService(rangerService, options);
                Assert.assertNotNull(dbRangerService);
                Assert.assertEquals(dbRangerService, rangerService);
                Assert.assertEquals(dbRangerService.getId(), 
rangerService.getId());

http://git-wip-us.apache.org/repos/asf/ranger/blob/eb812953/security-admin/src/test/java/org/apache/ranger/rest/TestAssetREST.java
----------------------------------------------------------------------
diff --git 
a/security-admin/src/test/java/org/apache/ranger/rest/TestAssetREST.java 
b/security-admin/src/test/java/org/apache/ranger/rest/TestAssetREST.java
index af07e60..5e4c68e 100644
--- a/security-admin/src/test/java/org/apache/ranger/rest/TestAssetREST.java
+++ b/security-admin/src/test/java/org/apache/ranger/rest/TestAssetREST.java
@@ -325,14 +325,15 @@ public class TestAssetREST {
        @Test
        public void testUpdateXAsset() {
                RangerService rangerService = rangerService(Id);
+               HttpServletRequest request = null;
                VXAsset vXAsset = vXAsset(Id);
                
Mockito.when(serviceUtil.toRangerService(vXAsset)).thenReturn(rangerService);
-               
Mockito.when(serviceREST.updateService(rangerService)).thenReturn(rangerService);
+               Mockito.when(serviceREST.updateService(rangerService, 
request)).thenReturn(rangerService);
                
Mockito.when(serviceUtil.toVXAsset(rangerService)).thenReturn(vXAsset);
                VXAsset asset = assetREST.updateXAsset(vXAsset);
                Assert.assertNotNull(asset);
                Assert.assertEquals(vXAsset, asset);
-               Mockito.verify(serviceREST).updateService(rangerService);
+               Mockito.verify(serviceREST).updateService(rangerService, 
request);
                Mockito.verify(serviceUtil).toRangerService(vXAsset);
                Mockito.verify(serviceUtil).toVXAsset(rangerService);
        }

http://git-wip-us.apache.org/repos/asf/ranger/blob/eb812953/security-admin/src/test/java/org/apache/ranger/rest/TestPublicAPIs.java
----------------------------------------------------------------------
diff --git 
a/security-admin/src/test/java/org/apache/ranger/rest/TestPublicAPIs.java 
b/security-admin/src/test/java/org/apache/ranger/rest/TestPublicAPIs.java
index 9faae93..11c709c 100644
--- a/security-admin/src/test/java/org/apache/ranger/rest/TestPublicAPIs.java
+++ b/security-admin/src/test/java/org/apache/ranger/rest/TestPublicAPIs.java
@@ -293,6 +293,7 @@ public class TestPublicAPIs {
        public void test3updateRepository() throws Exception {
                VXAsset vXAsset = new VXAsset();
                RangerService rangerService = rangerService();
+        HttpServletRequest request = null;
                VXRepository vXRepository = vXRepository(rangerService);
                XXService xService = xService();
                XXServiceDao xServiceDao = Mockito.mock(XXServiceDao.class);
@@ -300,7 +301,7 @@ public class TestPublicAPIs {
                Mockito.when(xServiceDao.getById(Id)).thenReturn(xService);
                
Mockito.when(serviceUtil.publicObjecttoVXAsset(vXRepository)).thenReturn(vXAsset);
                
Mockito.when(serviceUtil.toRangerService(vXAsset)).thenReturn(rangerService);
-               
Mockito.when(serviceREST.updateService(rangerService)).thenReturn(rangerService);
+               Mockito.when(serviceREST.updateService(rangerService, 
request)).thenReturn(rangerService);
                
Mockito.when(serviceUtil.toVXAsset(rangerService)).thenReturn(vXAsset);
                
Mockito.when(serviceUtil.vXAssetToPublicObject(vXAsset)).thenReturn(vXRepository);
                VXRepository dbVXRepository = 
publicAPIs.updateRepository(vXRepository, Id);
@@ -311,7 +312,7 @@ public class TestPublicAPIs {
                                vXRepository.getId());
                Assert.assertEquals(dbVXRepository.getName(),
                                vXRepository.getName());
-               Mockito.verify(serviceREST).updateService(rangerService);
+               Mockito.verify(serviceREST).updateService(rangerService, 
request);
                Mockito.verify(serviceUtil).publicObjecttoVXAsset(vXRepository);
                Mockito.verify(serviceUtil).toRangerService(vXAsset);
                Mockito.verify(serviceUtil).toVXAsset(rangerService);

http://git-wip-us.apache.org/repos/asf/ranger/blob/eb812953/security-admin/src/test/java/org/apache/ranger/rest/TestPublicAPIsv2.java
----------------------------------------------------------------------
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 761ed03..527b9a2 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
@@ -403,31 +403,33 @@ public class TestPublicAPIsv2 {
        @Test
        public void test13updateService() throws Exception {
                RangerService rangerService = rangerService();
-               
Mockito.when(serviceREST.updateService(rangerService)).thenReturn(rangerService);
-               RangerService dbRangerService = 
publicAPIsv2.updateService(rangerService, Id);
+               HttpServletRequest request = null;
+               Mockito.when(serviceREST.updateService(rangerService, 
request)).thenReturn(rangerService);
+               RangerService dbRangerService = 
publicAPIsv2.updateService(rangerService, Id, request);
                Assert.assertNotNull(dbRangerService);
                Assert.assertEquals(dbRangerService, rangerService);
                Assert.assertEquals(dbRangerService.getId(),
                                rangerService.getId());
                Assert.assertEquals(dbRangerService.getName(),
                                rangerService.getName());
-               Mockito.verify(serviceREST).updateService(rangerService);
+               Mockito.verify(serviceREST).updateService(rangerService, 
request);
        }
        
        @Test
        public void test14updateServiceByName() throws Exception {
                RangerService rangerService = rangerService();
+        HttpServletRequest request = null;
                String name = rangerService.getName();
                
Mockito.when(serviceREST.getServiceByName(name)).thenReturn(rangerService);
-               
Mockito.when(serviceREST.updateService(rangerService)).thenReturn(rangerService);
-               RangerService dbRangerService = 
publicAPIsv2.updateServiceByName(rangerService, name);
+               Mockito.when(serviceREST.updateService(rangerService, 
request)).thenReturn(rangerService);
+               RangerService dbRangerService = 
publicAPIsv2.updateServiceByName(rangerService, name, request);
                Assert.assertNotNull(dbRangerService);
                Assert.assertEquals(dbRangerService, rangerService);
                Assert.assertEquals(dbRangerService.getId(),
                                rangerService.getId());
                Assert.assertEquals(dbRangerService.getName(),
                                rangerService.getName());
-               Mockito.verify(serviceREST).updateService(rangerService);
+               Mockito.verify(serviceREST).updateService(rangerService, 
request);
                Mockito.verify(serviceREST).getServiceByName(name);
        }
        

http://git-wip-us.apache.org/repos/asf/ranger/blob/eb812953/security-admin/src/test/java/org/apache/ranger/rest/TestServiceREST.java
----------------------------------------------------------------------
diff --git 
a/security-admin/src/test/java/org/apache/ranger/rest/TestServiceREST.java 
b/security-admin/src/test/java/org/apache/ranger/rest/TestServiceREST.java
index 8056948..68908b2 100644
--- a/security-admin/src/test/java/org/apache/ranger/rest/TestServiceREST.java
+++ b/security-admin/src/test/java/org/apache/ranger/rest/TestServiceREST.java
@@ -543,6 +543,9 @@ public class TestServiceREST {
 
                RangerService rangerService = rangerService();
                XXServiceDef xServiceDef = serviceDef();
+        HttpServletRequest request = null;
+               Map<String, Object> options = null;
+
                XXServiceDefDao xServiceDefDao = 
Mockito.mock(XXServiceDefDao.class);
                Mockito.when(validatorFactory.getServiceValidator(svcStore))
                                .thenReturn(serviceValidator);
@@ -552,11 +555,12 @@ public class TestServiceREST {
                                .thenReturn(xServiceDef);
 
                Mockito.when(
-                               svcStore.updateService((RangerService) 
Mockito.anyObject()))
+
+                               svcStore.updateService((RangerService) 
Mockito.any(), (Map<String, Object>) Mockito.any()))
                                .thenReturn(rangerService);
 
                RangerService dbRangerService = serviceREST
-                               .updateService(rangerService);
+                               .updateService(rangerService, request);
                Assert.assertNotNull(dbRangerService);
                Assert.assertNotNull(dbRangerService);
                Assert.assertEquals(rangerService, dbRangerService);
@@ -580,7 +584,7 @@ public class TestServiceREST {
                                dbRangerService.getUpdatedBy());
                Mockito.verify(validatorFactory).getServiceValidator(svcStore);
                Mockito.verify(daoManager).getXXServiceDef();
-               Mockito.verify(svcStore).updateService(rangerService);
+               Mockito.verify(svcStore).updateService(rangerService, options);
        }
 
        @Test

Reply via email to