Repository: incubator-ranger Updated Branches: refs/heads/master 9adfcbe06 -> dbc489a7f
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/dbc489a7/security-admin/src/main/java/org/apache/ranger/common/ServiceUtil.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/common/ServiceUtil.java b/security-admin/src/main/java/org/apache/ranger/common/ServiceUtil.java index d6a6188..b8117fd 100644 --- a/security-admin/src/main/java/org/apache/ranger/common/ServiceUtil.java +++ b/security-admin/src/main/java/org/apache/ranger/common/ServiceUtil.java @@ -67,8 +67,6 @@ public class ServiceUtil { static Map<String, Integer> mapServiceTypeToAssetType = new HashMap<String, Integer>(); static Map<String, Integer> mapAccessTypeToPermType = new HashMap<String, Integer>(); static String version; - static String uniqueKeySeparator; - static int assetType; @Autowired JSONUtil jsonUtil; @@ -121,10 +119,8 @@ public class ServiceUtil { mapAccessTypeToPermType.put("getUserTopology", 29); mapAccessTypeToPermType.put("getTopologyInfo", 30); mapAccessTypeToPermType.put("uploadNewCredentials", 31); - - version = "0"; - uniqueKeySeparator = "_"; + version = "0"; } public RangerService toRangerService(VXAsset asset) { @@ -146,26 +142,39 @@ public class ServiceUtil { } public VXAsset toVXAsset(RangerService service) { - if(service == null) { + if(service == null || toAssetType(service.getType()) == null) { return null; } - VXAsset ret = null; - - Integer assetType = toAssetType(service.getType()); - - if(assetType != null) { - ret = new VXAsset(); - - rangerObjectToDataObject(service, ret); + VXAsset ret = new VXAsset(); - ret.setAssetType(toAssetType(service.getType())); - ret.setName(service.getName()); - ret.setDescription(service.getDescription()); - ret.setActiveStatus(service.getIsEnabled() ? RangerCommonEnums.STATUS_ENABLED : RangerCommonEnums.STATUS_DISABLED); - ret.setConfig(jsonUtil.readMapToString(service.getConfigs())); + rangerObjectToDataObject(service, ret); + + ret.setAssetType(toAssetType(service.getType())); + ret.setName(service.getName()); + ret.setDescription(service.getDescription()); + ret.setActiveStatus(service.getIsEnabled() ? RangerCommonEnums.STATUS_ENABLED : RangerCommonEnums.STATUS_DISABLED); + ret.setConfig(jsonUtil.readMapToString(service.getConfigs())); + + return ret; + } + + public VXRepository toVXRepository(RangerService service){ + if(service == null || toAssetType(service.getType()) == null) { + return null; } + VXRepository ret = new VXRepository(); + + rangerObjectToDataObject(service,ret); + + ret.setRepositoryType(service.getType()); + ret.setName(service.getName()); + ret.setDescription(service.getDescription()); + ret.setIsActive(service.getIsEnabled()); + ret.setConfig(jsonUtil.readMapToString(service.getConfigs())); + ret.setVersion(Long.toString(service.getVersion())); + return ret; } @@ -189,18 +198,18 @@ public class ServiceUtil { ret.setIsEnabled(resource.getResourceStatus() == RangerCommonEnums.STATUS_ENABLED); ret.setIsAuditEnabled(resource.getAuditList() != null && resource.getAuditList().size() > 0); - Boolean isRecursive = resource.getIsRecursive() == RangerCommonEnums.BOOL_TRUE; + Boolean isPathRecursive = resource.getIsRecursive() == RangerCommonEnums.BOOL_TRUE; Boolean isTableExcludes = resource.getTableType() == RangerCommonEnums.POLICY_EXCLUSION; Boolean isColumnExcludes = resource.getColumnType() == RangerCommonEnums.POLICY_EXCLUSION; - toRangerResourceList(resource.getName(), "path", Boolean.FALSE, isRecursive, ret.getResources()); - toRangerResourceList(resource.getTables(), "table", isTableExcludes, isRecursive, ret.getResources()); - toRangerResourceList(resource.getColumnFamilies(), "column-family", Boolean.FALSE, isRecursive, ret.getResources()); - toRangerResourceList(resource.getColumns(), "column", isColumnExcludes, isRecursive, ret.getResources()); - toRangerResourceList(resource.getDatabases(), "database", Boolean.FALSE, isRecursive, ret.getResources()); - toRangerResourceList(resource.getUdfs(), "udf", Boolean.FALSE, isRecursive, ret.getResources()); - toRangerResourceList(resource.getTopologies(), "topology", Boolean.FALSE, isRecursive, ret.getResources()); - toRangerResourceList(resource.getServices(), "service", Boolean.FALSE, isRecursive, ret.getResources()); + toRangerResourceList(resource.getName(), "path", Boolean.FALSE, isPathRecursive, ret.getResources()); + toRangerResourceList(resource.getTables(), "table", isTableExcludes, Boolean.FALSE, ret.getResources()); + toRangerResourceList(resource.getColumnFamilies(), "column-family", Boolean.FALSE, Boolean.FALSE, ret.getResources()); + toRangerResourceList(resource.getColumns(), "column", isColumnExcludes, Boolean.FALSE, ret.getResources()); + toRangerResourceList(resource.getDatabases(), "database", Boolean.FALSE, Boolean.FALSE, ret.getResources()); + toRangerResourceList(resource.getUdfs(), "udf", Boolean.FALSE, Boolean.FALSE, ret.getResources()); + toRangerResourceList(resource.getTopologies(), "topology", Boolean.FALSE, Boolean.FALSE, ret.getResources()); + toRangerResourceList(resource.getServices(), "service", Boolean.FALSE, Boolean.FALSE, ret.getResources()); HashMap<String, List<VXPermMap>> sortedPermMap = new HashMap<String, List<VXPermMap>>(); @@ -219,7 +228,7 @@ public class ServiceUtil { } } - assetType = getAssetType(service,ret.getService()); + Integer assetType = getAssetType(service,ret.getService()); for (Entry<String, List<VXPermMap>> entry : sortedPermMap.entrySet()) { List<String> userList = new ArrayList<String>(); @@ -248,7 +257,7 @@ public class ServiceUtil { if(StringUtils.equalsIgnoreCase(accessType, "Admin")) { policyItem.setDelegateAdmin(Boolean.TRUE); - if ( assetType == RangerCommonEnums.ASSET_HBASE) { + if ( assetType != null && assetType == RangerCommonEnums.ASSET_HBASE) { accessList.add(new RangerPolicyItemAccess(accessType)); } } else { @@ -275,7 +284,7 @@ public class ServiceUtil { } public VXResource toVXResource(RangerPolicy policy, RangerService service) { - if(policy == null || service == null) { + if(policy == null || service == null || toAssetType(service.getType()) == null) { return null; } @@ -338,6 +347,34 @@ public class ServiceUtil { return ret; } + public VXAsset publicObjecttoVXAsset(VXRepository vXRepository) { + VXAsset ret = new VXAsset(); + publicDataObjectTovXDataObject(vXRepository,ret); + + Integer assetType = toAssetType(vXRepository.getRepositoryType()); + + ret.setAssetType(assetType == null ? -1 : assetType.intValue()); + ret.setName(vXRepository.getName()); + ret.setDescription(vXRepository.getDescription()); + ret.setActiveStatus(vXRepository.getIsActive() ? RangerCommonEnums.STATUS_ENABLED : RangerCommonEnums.STATUS_DISABLED); + ret.setConfig(vXRepository.getConfig()); + return ret; + } + + public VXRepository vXAssetToPublicObject(VXAsset asset) { + VXRepository ret = new VXRepository(); + vXDataObjectToPublicDataObject(ret,asset); + + ret.setRepositoryType(toServiceType(asset.getAssetType())); + ret.setName(asset.getName()); + ret.setDescription(asset.getDescription()); + ret.setIsActive(asset.getActiveStatus() == RangerCommonEnums.STATUS_ENABLED ? true : false); + ret.setConfig(asset.getConfig()); + ret.setVersion(version); + + return ret; + } + private Map<String, RangerPolicy.RangerPolicyResource> toRangerResourceList(String resourceString, String resourceType, Boolean isExcludes, Boolean isRecursive, Map<String, RangerPolicy.RangerPolicyResource> resources) { Map<String, RangerPolicy.RangerPolicyResource> ret = resources == null ? new HashMap<String, RangerPolicy.RangerPolicyResource>() : resources; @@ -360,7 +397,7 @@ public class ServiceUtil { return ret; } - public static String toServiceType(int assetType) { + private static String toServiceType(int assetType) { String ret = null; for(Map.Entry<String, Integer> e : mapServiceTypeToAssetType.entrySet()) { @@ -374,21 +411,17 @@ public class ServiceUtil { return ret; } - public static Integer toAssetType(String serviceType) { + private static Integer toAssetType(String serviceType) { Integer ret = null; if(serviceType != null) { ret = mapServiceTypeToAssetType.get(serviceType.toLowerCase()); } - if(ret == null) { - ret = new Integer(-1); - } - return ret; } - public static String toAccessType(int permType) { + private static String toAccessType(int permType) { String ret = null; for(Map.Entry<String, Integer> e : mapAccessTypeToPermType.entrySet()) { @@ -402,7 +435,7 @@ public class ServiceUtil { return ret; } - public static Integer toPermType(String accessType) { + private static Integer toPermType(String accessType) { Integer ret = null; for(Map.Entry<String, Integer> e : mapAccessTypeToPermType.entrySet()) { @@ -416,50 +449,6 @@ public class ServiceUtil { return ret; } - public VXRepository toVXRepository(RangerService service){ - - VXRepository ret = new VXRepository(); - rangerObjectToDataObject(service,ret); - - ret.setRepositoryType(service.getType()); - ret.setName(service.getName()); - ret.setDescription(service.getDescription()); - ret.setIsActive(service.getIsEnabled()); - ret.setConfig(jsonUtil.readMapToString(service.getConfigs())); - ret.setVersion(Long.toString(service.getVersion())); - - return ret; - } - - - public VXAsset publicObjecttoVXAsset(VXRepository vXRepository) { - VXAsset ret = new VXAsset(); - publicDataObjectTovXDataObject(vXRepository,ret); - - ret.setAssetType(toAssetType(vXRepository.getRepositoryType())); - ret.setName(vXRepository.getName()); - ret.setDescription(vXRepository.getDescription()); - ret.setActiveStatus(vXRepository.getIsActive() ? RangerCommonEnums.STATUS_ENABLED : RangerCommonEnums.STATUS_DISABLED); - ret.setConfig(vXRepository.getConfig()); - return ret; - - } - - public VXRepository vXAssetToPublicObject(VXAsset asset) { - VXRepository ret = new VXRepository(); - vXDataObjectToPublicDataObject(ret,asset); - - ret.setRepositoryType(toServiceType(asset.getAssetType())); - ret.setName(asset.getName()); - ret.setDescription(asset.getDescription()); - ret.setIsActive(asset.getActiveStatus() == RangerCommonEnums.STATUS_ENABLED ? true : false); - ret.setConfig(asset.getConfig()); - ret.setVersion(version); - - return ret; - } - - private RangerBaseModelObject dataObjectToRangerObject(VXDataObject dataObject,RangerBaseModelObject rangerObject) { RangerBaseModelObject ret = rangerObject; @@ -499,7 +488,7 @@ public class ServiceUtil { } private void updateResourceName(VXPolicy policy) { - if(policy == null) { + if(policy == null || toAssetType(policy.getRepositoryType()) == null) { return; } @@ -729,7 +718,10 @@ public class ServiceUtil { List<VXRepository> repoList = new ArrayList<VXRepository>(); for (RangerService service : serviceList) { VXRepository vXRepo = toVXRepository(service); - repoList.add(vXRepo); + + if(vXRepo != null) { + repoList.add(vXRepo); + } } VXRepositoryList vXRepositoryList = new VXRepositoryList(repoList); return vXRepositoryList; @@ -764,7 +756,7 @@ public class ServiceUtil { public VXPolicy toVXPolicy(RangerPolicy policy, RangerService service) { - if(policy == null || service == null) { + if(policy == null || service == null || toAssetType(service.getType()) == null) { return null; } @@ -970,8 +962,7 @@ public class ServiceUtil { public RangerPolicy toRangerPolicy(VXPolicy vXPolicy, RangerService service ) { - - if(vXPolicy == null) { + if(vXPolicy == null || service == null || toAssetType(service.getType()) == null) { return null; } @@ -979,12 +970,7 @@ public class ServiceUtil { ret = (RangerPolicy) dataObjectToRangerObject(vXPolicy, ret); - if(service != null) { - ret.setService(service.getName()); - } else { - ret.setService(vXPolicy.getRepositoryName()); - } - + ret.setService(service.getName()); ret.setName(vXPolicy.getPolicyName()); ret.setDescription(vXPolicy.getDescription()); ret.setIsEnabled(vXPolicy.getIsEnabled() == true); @@ -1036,12 +1022,12 @@ public class ServiceUtil { if (vXPolicy.getServices() != null) { toRangerResourceList(vXPolicy.getServices(), "service", Boolean.FALSE, isRecursive, ret.getResources()); } - - assetType = getAssetType(service,ret.getService()); if ( vXPolicy.getPermMapList() != null) { List<VXPermObj> vXPermObjList = vXPolicy.getPermMapList(); - + + Integer assetType = toAssetType(service.getType()); + for(VXPermObj vXPermObj : vXPermObjList ) { List<String> userList = new ArrayList<String>(); List<String> groupList = new ArrayList<String>(); @@ -1070,7 +1056,7 @@ public class ServiceUtil { if ( AppConstants.getEnumFor_XAPermType(perm) != 0 ) { if (perm.equalsIgnoreCase("Admin")) { delegatedAdmin=true; - if ( assetType != RangerCommonEnums.ASSET_HBASE) { + if (assetType != RangerCommonEnums.ASSET_HBASE) { continue; } } @@ -1153,8 +1139,10 @@ public class ServiceUtil { } VXPolicy vXPolicy = toVXPolicy(policy,service); - - vXPolicyList.add(vXPolicy); + + if(vXPolicy != null) { + vXPolicyList.add(vXPolicy); + } } VXPolicyList vXPolicyListObj = new VXPolicyList(vXPolicyList); @@ -1194,9 +1182,12 @@ public class ServiceUtil { ret.setReplaceExistingPermissions(toBooleanReplacePerm(vXPolicy.isReplacePerm())); - int assetType = toAssetType(serviceType); + Integer assetType = toAssetType(serviceType); - if (assetType == RangerCommonEnums.ASSET_HIVE) { + if(assetType == null) { + // nothing to do + } + else if (assetType == RangerCommonEnums.ASSET_HIVE) { String database = StringUtils.isEmpty(vXPolicy.getDatabases()) ? "*" : vXPolicy.getDatabases(); String table = getTableOrUdf(vXPolicy); http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/dbc489a7/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 34ac345..ae407f1 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 @@ -186,7 +186,7 @@ public class PublicAPIs { logger.debug("==> PublicAPIs.searchRepositories()"); } - SearchFilter filter = searchUtil.getSearchFilterFromLegacyRequestForRepositorySearch(request, policyService.sortFields); + SearchFilter filter = searchUtil.getSearchFilterFromLegacyRequestForRepositorySearch(request, xAssetService.sortFields); List<RangerService> serviceList = serviceREST.getServices(filter); @@ -213,9 +213,10 @@ public class PublicAPIs { logger.debug("==> PublicAPIs.countRepositories()"); } - VXLong ret = new VXLong(); - - ret.setValue(serviceREST.countServices(request)); + VXRepositoryList repositories = searchRepositories(request); + + VXLong ret = new VXLong(); + ret.setValue(repositories == null ? 0 : repositories.getResultSize()); if(logger.isDebugEnabled()) { logger.debug("<== PublicAPIs.countRepositories(): count=" + ret); @@ -263,17 +264,19 @@ public class PublicAPIs { logger.debug("==> PublicAPIs.createPolicy()"); } - RangerService service = serviceREST.getServiceByName(vXPolicy.getRepositoryName()); - - RangerPolicy policy = serviceUtil.toRangerPolicy(vXPolicy,service); + RangerService service = serviceREST.getServiceByName(vXPolicy.getRepositoryName()); + RangerPolicy policy = serviceUtil.toRangerPolicy(vXPolicy,service); - if(logger.isDebugEnabled()) { - logger.debug("RANGERPOLICY: " + policy.toString()); - } + VXPolicy ret = null; + if(policy != null) { + if(logger.isDebugEnabled()) { + logger.debug("RANGERPOLICY: " + policy.toString()); + } - RangerPolicy createdPolicy = serviceREST.createPolicy(policy); + RangerPolicy createdPolicy = serviceREST.createPolicy(policy); - VXPolicy ret = serviceUtil.toVXPolicy(createdPolicy, service); + ret = serviceUtil.toVXPolicy(createdPolicy, service); + } if(logger.isDebugEnabled()) { logger.debug("<== PublicAPIs.createPolicy(" + policy + "): " + ret); @@ -298,14 +301,17 @@ public class PublicAPIs { vXPolicy.setId(id); - RangerService service = serviceREST.getServiceByName(vXPolicy.getRepositoryName()); - - RangerPolicy policy = serviceUtil.toRangerPolicy(vXPolicy,service); - policy.setVersion(existing.getVersion()); + RangerService service = serviceREST.getServiceByName(vXPolicy.getRepositoryName()); + RangerPolicy policy = serviceUtil.toRangerPolicy(vXPolicy,service); + + VXPolicy ret = null; + if(policy != null) { + policy.setVersion(existing.getVersion()); - RangerPolicy updatedPolicy = serviceREST.updatePolicy(policy); + RangerPolicy updatedPolicy = serviceREST.updatePolicy(policy); - VXPolicy ret = serviceUtil.toVXPolicy(updatedPolicy, service); + ret = serviceUtil.toVXPolicy(updatedPolicy, service); + } if(logger.isDebugEnabled()) { logger.debug("<== PublicAPIs.updatePolicy(" + policy + "): " + ret); @@ -367,10 +373,10 @@ public class PublicAPIs { logger.debug("==> PublicAPIs.countPolicies(): "); } - Long policyCount = serviceREST.countPolicies(request); - + VXPolicyList policies = searchPolicies(request); + VXLong vXlong = new VXLong(); - vXlong.setValue(policyCount); + vXlong.setValue(policies == null ? 0 : policies.getResultSize()); if(logger.isDebugEnabled()) { logger.debug("<== PublicAPIs.countPolicies(): " + request ); http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/dbc489a7/security-admin/src/test/java/org/apache/ranger/biz/TestAssetMgr.java ---------------------------------------------------------------------- diff --git a/security-admin/src/test/java/org/apache/ranger/biz/TestAssetMgr.java b/security-admin/src/test/java/org/apache/ranger/biz/TestAssetMgr.java deleted file mode 100644 index ec91f70..0000000 --- a/security-admin/src/test/java/org/apache/ranger/biz/TestAssetMgr.java +++ /dev/null @@ -1,735 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.ranger.biz; - -import java.io.File; -import java.io.IOException; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.ws.rs.WebApplicationException; - -import org.apache.ranger.common.AppConstants; -import org.apache.ranger.common.ContextUtil; -import org.apache.ranger.common.JSONUtil; -import org.apache.ranger.common.MessageEnums; -import org.apache.ranger.common.RESTErrorUtil; -import org.apache.ranger.common.RangerCommonEnums; -import org.apache.ranger.common.SearchCriteria; -import org.apache.ranger.common.StringUtil; -import org.apache.ranger.common.UserSessionBase; -import org.apache.ranger.db.RangerDaoManager; -import org.apache.ranger.db.XXAssetDao; -import org.apache.ranger.db.XXResourceDao; -import org.apache.ranger.db.XXUserDao; -import org.apache.ranger.entity.XXAsset; -import org.apache.ranger.entity.XXPortalUser; -import org.apache.ranger.entity.XXResource; -import org.apache.ranger.entity.XXUser; -import org.apache.ranger.security.context.RangerContextHolder; -import org.apache.ranger.security.context.RangerSecurityContext; -import org.apache.ranger.service.XAssetService; -import org.apache.ranger.service.XAuditMapService; -import org.apache.ranger.service.XPermMapService; -import org.apache.ranger.service.XPolicyService; -import org.apache.ranger.service.XResourceService; -import org.apache.ranger.service.XUserService; -import org.apache.ranger.view.VXAsset; -import org.apache.ranger.view.VXAuditMap; -import org.apache.ranger.view.VXAuditMapList; -import org.apache.ranger.view.VXPermMap; -import org.apache.ranger.view.VXPermMapList; -import org.apache.ranger.view.VXResource; -import org.apache.ranger.view.VXResponse; -import org.apache.ranger.view.VXUser; -import org.codehaus.jackson.JsonGenerationException; -import org.codehaus.jackson.map.JsonMappingException; -import org.junit.Assert; -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.ExpectedException; -import org.junit.runner.RunWith; -import org.mockito.InjectMocks; -import org.mockito.Mock; -import org.mockito.Mockito; -import org.mockito.runners.MockitoJUnitRunner; - -@RunWith(MockitoJUnitRunner.class) -public class TestAssetMgr { - - private Long id = 1L; - private static Long hiveAssetId, knoxAssetId, hbaseAssetId, stormAssetId ; - - @InjectMocks - AssetMgr assetMgr = new AssetMgr(); - - @Mock - RESTErrorUtil restErrorUtil; - - @Mock - XAssetService xAssetService; - - @Mock - JSONUtil jsonUtil; - - @Mock - StringUtil stringUtil; - - @Mock - RangerDaoManager rangerDaoManager; - - @Mock - XResourceService xResourceService; - - @Mock - XUserService xUserService; - - @Mock - XPermMapService xPermMapService; - - @Mock - XAuditMapService xAuditMapService; - - @Mock - RangerBizUtil xaBizUtil; - - @Mock - XPolicyService xPolicyService; - - @Rule - public ExpectedException thrown = ExpectedException.none(); - - public void setup(){ - RangerSecurityContext context = new RangerSecurityContext(); - context.setUserSession(new UserSessionBase()); - RangerContextHolder.setSecurityContext(context); - UserSessionBase currentUserSession = ContextUtil.getCurrentUserSession(); - currentUserSession.setUserAdmin(true); - } - - @Test - public void testCreateXAssetForNoUserSession(){ - RangerSecurityContext context = new RangerSecurityContext(); - context.setUserSession(new UserSessionBase()); - RangerContextHolder.setSecurityContext(context); - XXPortalUser portalUser = new XXPortalUser(); - portalUser.setId(id); - UserSessionBase currentUserSession = ContextUtil.getCurrentUserSession(); - currentUserSession.setXXPortalUser(portalUser); - currentUserSession.setUserAdmin(false); - WebApplicationException webApplicationException = new WebApplicationException(); - - Mockito.when(restErrorUtil.createRESTException("Sorry, you don't have permission to perform the operation",MessageEnums.OPER_NOT_ALLOWED_FOR_ENTITY)).thenThrow(webApplicationException); - - thrown.expect(WebApplicationException.class); - String config = "{\"username\":\"admin\",\"password\":\"admin\",\"jdbc.driverClassName\":\"jdbcdrivernamefieldvalue\",\"jdbc.url\":\"jdbcurlfieldvalue\",\"commonNameForCertificate\":\"commonnameforcertification\"}"; - VXAsset vXAsset = createVXAsset("Hdfs",1,config); - assetMgr.createXAsset(vXAsset); - Mockito.verify(restErrorUtil).createRESTException("Sorry, you don't have permission to perform the operation",MessageEnums.OPER_NOT_ALLOWED_FOR_ENTITY); - } - - @Test - public void testCreateXAssetForHdfs(){ - setup(); - String config = "{\"username\":\"admin\",\"password\":\"admin\",\"fs.default.name\":\"defaultnamevalue\",\"hadoop.security.authorization\":\"authvalue\",\"hadoop.security.authentication\":\"authenticationvalue\",\"hadoop.security.auth_to_local\":\"localvalue\",\"dfs.datanode.kerberos.principal\":\"principalvalue\",\"dfs.namenode.kerberos.principal\":\"namenodeprincipalvalue\",\"dfs.secondary.namenode.kerberos.principal\":\"secprincipalvalue\",\"commonNameForCertificate\":\"certificatevalue\"}"; - VXAsset vXAsset = createVXAsset("Hdfs",1,config); - - String userName = "Test"; - XXUser xxUser = new XXUser(); - Mockito.when(xAssetService.getConfigWithEncryptedPassword(config,false)).thenReturn(config); - Mockito.when(xAssetService.createResource(vXAsset)).thenReturn(vXAsset); - Map<String,String> mapValue = new HashMap<String, String>(); - mapValue.put("username", userName); - Mockito.when(jsonUtil.jsonToMap(config)).thenReturn(mapValue); - Mockito.when(stringUtil.getValidUserName(mapValue.get("username"))).thenReturn(userName); - VXResource vXResource = new VXResource(); - vXResource.setPermMapList(new ArrayList<VXPermMap>()); - vXResource.setAuditList(new ArrayList<VXAuditMap>()); - Mockito.when(xResourceService.createResource((VXResource)Mockito.anyObject())).thenReturn(vXResource); - XXUserDao xxUserDao = Mockito.mock(XXUserDao.class); - Mockito.when(rangerDaoManager.getXXUser()).thenReturn(xxUserDao); - Mockito.when(xxUserDao.findByUserName(userName)).thenReturn(xxUser); - VXUser vxUser = new VXUser(); - Mockito.when(xUserService.populateViewBean(xxUser)).thenReturn(vxUser); - Mockito.when(xPermMapService.createResource((VXPermMap)Mockito.anyObject())).thenReturn(null); - VXAuditMap vXAuditMap = new VXAuditMap(); - Mockito.when(xAuditMapService.createResource((VXAuditMap)Mockito.anyObject())).thenReturn(vXAuditMap); - Mockito.when(xResourceService.readResource(vXResource.getId())).thenReturn(vXResource); - - VXAsset vXAssetChk = assetMgr.createXAsset(vXAsset); - Assert.assertNotNull(vXAssetChk); - Assert.assertEquals(vXAsset.getName(), vXAssetChk.getName()); - - Mockito.when(xAssetService.readResource(vXAssetChk.getId())).thenReturn(vXAsset); - - VXAsset vXAssetDB = assetMgr.getXAsset(vXAssetChk.getId()); - Assert.assertNotNull(vXAssetDB); - Assert.assertEquals(vXAssetDB.getName(), vXAssetChk.getName()); - Assert.assertEquals(vXAssetDB.getAssetType(), vXAssetChk.getAssetType()); - Assert.assertEquals(vXAssetDB.getActiveStatus(), vXAssetChk.getActiveStatus()); - Assert.assertEquals(vXAssetDB.getDescription(), vXAssetChk.getDescription()); - - String strUpd = "HdfsUpd"+getDateTimeForFileName(); - vXAssetDB.setName(strUpd); - vXAssetDB.setDescription(strUpd); - vXAssetDB.setActiveStatus(0); - - XXAsset xxAsset = new XXAsset(); - XXResourceDao xxResourceDao = Mockito.mock(XXResourceDao.class); - XXAssetDao xxAssetDao = Mockito.mock(XXAssetDao.class); - Mockito.when(rangerDaoManager.getXXAsset()).thenReturn(xxAssetDao); - Mockito.when(xxAssetDao.getById(vXAsset.getId())).thenReturn(xxAsset); - Mockito.when(xAssetService.updateResource((VXAsset)Mockito.anyObject())).thenReturn(vXAssetDB); - Mockito.when(rangerDaoManager.getXXResource()).thenReturn(xxResourceDao); - List<XXResource> lst = new ArrayList<XXResource>(); - Mockito.when(xxResourceDao.findByResourceNameAndAssetIdAndRecursiveFlag(Mockito.anyString(),Mockito.anyLong(), Mockito.anyInt())).thenReturn(lst ); - - VXAsset vxAssetUpd = assetMgr.updateXAsset(vXAssetDB); - Assert.assertEquals(vxAssetUpd.getName(), strUpd); - Assert.assertEquals(vxAssetUpd.getDescription(), strUpd); - Assert.assertEquals(0, vxAssetUpd.getActiveStatus()); - Assert.assertEquals(vxAssetUpd.getDescription(), strUpd); - hiveAssetId = vxAssetUpd.getId(); - } - - @Test - public void testCreateXAssetForHive(){ - setup(); - String config = "{\"username\":\"admin\",\"password\":\"admin\",\"jdbc.driverClassName\":\"jdbcdrivernamefieldvalue\",\"jdbc.url\":\"jdbcurlfieldvalue\",\"commonNameForCertificate\":\"commonnameforcertification\"}"; - VXAsset vXAsset = createVXAsset("Hive",3,config); - - String userName = "Test"; - XXUser xxUser = new XXUser(); - Mockito.when(xAssetService.getConfigWithEncryptedPassword(config,false)).thenReturn(config); - Mockito.when(xAssetService.createResource(vXAsset)).thenReturn(vXAsset); - Map<String,String> mapValue = new HashMap<String, String>(); - mapValue.put("username", userName); - Mockito.when(jsonUtil.jsonToMap(config)).thenReturn(mapValue); - Mockito.when(stringUtil.getValidUserName(mapValue.get("username"))).thenReturn(userName); - VXResource vXResource = new VXResource(); - vXResource.setPermMapList(new ArrayList<VXPermMap>()); - vXResource.setAuditList(new ArrayList<VXAuditMap>()); - Mockito.when(xResourceService.createResource((VXResource)Mockito.anyObject())).thenReturn(vXResource); - XXUserDao xxUserDao = Mockito.mock(XXUserDao.class); - Mockito.when(rangerDaoManager.getXXUser()).thenReturn(xxUserDao); - Mockito.when(xxUserDao.findByUserName(userName)).thenReturn(xxUser); - VXUser vxUser = new VXUser(); - Mockito.when(xUserService.populateViewBean(xxUser)).thenReturn(vxUser); - Mockito.when(xPermMapService.createResource((VXPermMap)Mockito.anyObject())).thenReturn(null); - VXAuditMap vXAuditMap = new VXAuditMap(); - Mockito.when(xAuditMapService.createResource((VXAuditMap)Mockito.anyObject())).thenReturn(vXAuditMap); - Mockito.when(xResourceService.readResource(vXResource.getId())).thenReturn(vXResource); - - VXAsset vXAssetChk = assetMgr.createXAsset(vXAsset); - Assert.assertNotNull(vXAssetChk); - Assert.assertEquals(vXAsset.getName(), vXAssetChk.getName()); - - Mockito.when(xAssetService.readResource(vXAssetChk.getId())).thenReturn(vXAsset); - - VXAsset vXAssetDB = assetMgr.getXAsset(vXAssetChk.getId()); - Assert.assertNotNull(vXAssetDB); - Assert.assertEquals(vXAssetDB.getName(), vXAssetChk.getName()); - Assert.assertEquals(vXAssetDB.getAssetType(), vXAssetChk.getAssetType()); - Assert.assertEquals(vXAssetDB.getActiveStatus(), vXAssetChk.getActiveStatus()); - Assert.assertEquals(vXAssetDB.getDescription(), vXAssetChk.getDescription()); - hiveAssetId = vXAssetChk.getId(); - } - - @Test - public void testCreateXAssetForHBase(){ - setup(); - String config = "{\"username\":\"admin\",\"password\":\"admin\",\"fs.default.name\":\"asdefaultnamevalue\",\"hadoop.security.authorization\":\"authvalue\",\"hadoop.security.authentication\":\"authenticationvalue\",\"hadoop.security.auth_to_local\":\"localvalue\",\"dfs.datanode.kerberos.principal\":\"principalvalue\",\"dfs.namenode.kerberos.principal\":\"namenodeprincipalvalue\",\"dfs.secondary.namenode.kerberos.principal\":\"secprincipalvalue\",\"hbase.master.kerberos.principal\":\"principalvalue\",\"hbase.rpc.engine\":\"enginevalue\",\"hbase.rpc.protection\":\"protectionvalue\",\"hbase.security.authentication\":\"authenvalue\",\"hbase.zookeeper.property.clientPort\":\"clientportvalue\",\"hbase.zookeeper.quorum\":\"quorumvalue\",\"zookeeper.znode.parent\":\"/hbase\",\"commonNameForCertificate\":\"certivalue\"}"; - VXAsset vXAsset = createVXAsset("HBase",2,config); - - String userName = "Test"; - XXUser xxUser = new XXUser(); - Mockito.when(xAssetService.getConfigWithEncryptedPassword(config,false)).thenReturn(config); - Mockito.when(xAssetService.createResource(vXAsset)).thenReturn(vXAsset); - Map<String,String> mapValue = new HashMap<String, String>(); - mapValue.put("username", userName); - Mockito.when(jsonUtil.jsonToMap(config)).thenReturn(mapValue); - Mockito.when(stringUtil.getValidUserName(mapValue.get("username"))).thenReturn(userName); - VXResource vXResource = new VXResource(); - vXResource.setPermMapList(new ArrayList<VXPermMap>()); - vXResource.setAuditList(new ArrayList<VXAuditMap>()); - Mockito.when(xResourceService.createResource((VXResource)Mockito.anyObject())).thenReturn(vXResource); - XXUserDao xxUserDao = Mockito.mock(XXUserDao.class); - Mockito.when(rangerDaoManager.getXXUser()).thenReturn(xxUserDao); - Mockito.when(xxUserDao.findByUserName(userName)).thenReturn(xxUser); - VXUser vxUser = new VXUser(); - Mockito.when(xUserService.populateViewBean(xxUser)).thenReturn(vxUser); - Mockito.when(xPermMapService.createResource((VXPermMap)Mockito.anyObject())).thenReturn(null); - VXAuditMap vXAuditMap = new VXAuditMap(); - Mockito.when(xAuditMapService.createResource((VXAuditMap)Mockito.anyObject())).thenReturn(vXAuditMap); - Mockito.when(xResourceService.readResource(vXResource.getId())).thenReturn(vXResource); - - VXAsset vXAssetChk = assetMgr.createXAsset(vXAsset); - Assert.assertNotNull(vXAssetChk); - Assert.assertEquals(vXAsset.getName(), vXAssetChk.getName()); - - Mockito.when(xAssetService.readResource(vXAssetChk.getId())).thenReturn(vXAsset); - - VXAsset vXAssetDB = assetMgr.getXAsset(vXAssetChk.getId()); - Assert.assertNotNull(vXAssetDB); - Assert.assertEquals(vXAssetDB.getName(), vXAssetChk.getName()); - Assert.assertEquals(vXAssetDB.getAssetType(), vXAssetChk.getAssetType()); - Assert.assertEquals(vXAssetDB.getActiveStatus(), vXAssetChk.getActiveStatus()); - Assert.assertEquals(vXAssetDB.getDescription(), vXAssetChk.getDescription()); - hbaseAssetId = vXAssetChk.getId(); - } - - @Test - public void testCreateXAssetForKnox(){ - setup(); - String config = "{\"username\":\"admin\",\"password\":\"admin\",\"knox.url\":\"urltest\",\"commonNameForCertificate\":\"certvalue\"}"; - VXAsset vXAsset = createVXAsset("Knox",5,config); - - String userName = "Test"; - XXUser xxUser = new XXUser(); - Mockito.when(xAssetService.getConfigWithEncryptedPassword(config,false)).thenReturn(config); - Mockito.when(xAssetService.createResource(vXAsset)).thenReturn(vXAsset); - Map<String,String> mapValue = new HashMap<String, String>(); - mapValue.put("username", userName); - Mockito.when(jsonUtil.jsonToMap(config)).thenReturn(mapValue); - Mockito.when(stringUtil.getValidUserName(mapValue.get("username"))).thenReturn(userName); - VXResource vXResource = new VXResource(); - vXResource.setPermMapList(new ArrayList<VXPermMap>()); - vXResource.setAuditList(new ArrayList<VXAuditMap>()); - Mockito.when(xResourceService.createResource((VXResource)Mockito.anyObject())).thenReturn(vXResource); - XXUserDao xxUserDao = Mockito.mock(XXUserDao.class); - Mockito.when(rangerDaoManager.getXXUser()).thenReturn(xxUserDao); - Mockito.when(xxUserDao.findByUserName(userName)).thenReturn(xxUser); - VXUser vxUser = new VXUser(); - Mockito.when(xUserService.populateViewBean(xxUser)).thenReturn(vxUser); - Mockito.when(xPermMapService.createResource((VXPermMap)Mockito.anyObject())).thenReturn(null); - VXAuditMap vXAuditMap = new VXAuditMap(); - Mockito.when(xAuditMapService.createResource((VXAuditMap)Mockito.anyObject())).thenReturn(vXAuditMap); - Mockito.when(xResourceService.readResource(vXResource.getId())).thenReturn(vXResource); - - VXAsset vXAssetChk = assetMgr.createXAsset(vXAsset); - Assert.assertNotNull(vXAssetChk); - Assert.assertEquals(vXAsset.getName(), vXAssetChk.getName()); - - Mockito.when(xAssetService.readResource(vXAssetChk.getId())).thenReturn(vXAsset); - - VXAsset vXAssetDB = assetMgr.getXAsset(vXAssetChk.getId()); - Assert.assertNotNull(vXAssetDB); - Assert.assertEquals(vXAssetDB.getName(), vXAssetChk.getName()); - Assert.assertEquals(vXAssetDB.getAssetType(), vXAssetChk.getAssetType()); - Assert.assertEquals(vXAssetDB.getActiveStatus(), vXAssetChk.getActiveStatus()); - Assert.assertEquals(vXAssetDB.getDescription(), vXAssetChk.getDescription()); - knoxAssetId = vXAssetChk.getId(); - } - - @Test - public void testCreateXAssetForStorm(){ - setup(); - String config = "{\"username\":\"admin\",\"password\":\"admin\",\"nimbus.url\":\"urlvalue\",\"commonNameForCertificate\":\"certvalue\"}"; - VXAsset vXAsset = createVXAsset("Storm",6,config); - - String userName = "Test"; - XXUser xxUser = new XXUser(); - Mockito.when(xAssetService.getConfigWithEncryptedPassword(config,false)).thenReturn(config); - Mockito.when(xAssetService.createResource(vXAsset)).thenReturn(vXAsset); - Map<String,String> mapValue = new HashMap<String, String>(); - mapValue.put("username", userName); - Mockito.when(jsonUtil.jsonToMap(config)).thenReturn(mapValue); - Mockito.when(stringUtil.getValidUserName(mapValue.get("username"))).thenReturn(userName); - VXResource vXResource = new VXResource(); - vXResource.setPermMapList(new ArrayList<VXPermMap>()); - vXResource.setAuditList(new ArrayList<VXAuditMap>()); - Mockito.when(xResourceService.createResource((VXResource)Mockito.anyObject())).thenReturn(vXResource); - XXUserDao xxUserDao = Mockito.mock(XXUserDao.class); - Mockito.when(rangerDaoManager.getXXUser()).thenReturn(xxUserDao); - Mockito.when(xxUserDao.findByUserName(userName)).thenReturn(xxUser); - VXUser vxUser = new VXUser(); - Mockito.when(xUserService.populateViewBean(xxUser)).thenReturn(vxUser); - Mockito.when(xPermMapService.createResource((VXPermMap)Mockito.anyObject())).thenReturn(null); - VXAuditMap vXAuditMap = new VXAuditMap(); - Mockito.when(xAuditMapService.createResource((VXAuditMap)Mockito.anyObject())).thenReturn(vXAuditMap); - Mockito.when(xResourceService.readResource(vXResource.getId())).thenReturn(vXResource); - - VXAsset vXAssetChk = assetMgr.createXAsset(vXAsset); - Assert.assertNotNull(vXAssetChk); - Assert.assertEquals(vXAsset.getName(), vXAssetChk.getName()); - - Mockito.when(xAssetService.readResource(vXAssetChk.getId())).thenReturn(vXAsset); - - VXAsset vXAssetDB = assetMgr.getXAsset(vXAssetChk.getId()); - Assert.assertNotNull(vXAssetDB); - Assert.assertEquals(vXAssetDB.getName(), vXAssetChk.getName()); - Assert.assertEquals(vXAssetDB.getAssetType(), vXAssetChk.getAssetType()); - Assert.assertEquals(vXAssetDB.getActiveStatus(), vXAssetChk.getActiveStatus()); - Assert.assertEquals(vXAssetDB.getDescription(), vXAssetChk.getDescription()); - stormAssetId = vXAssetChk.getId(); - } - - @Test - public void testXResourceCRUDForHive() throws JsonGenerationException, JsonMappingException, IOException{ - setup(); - Long assetId = hiveAssetId; - int assetType = AppConstants.ASSET_HIVE; - int resourceType = AppConstants.RESOURCE_COLUMN; - VXResource vXResource = createVXResource("Hive", assetId, assetType, resourceType); - - vXResource.setPermMapList(new ArrayList<VXPermMap>()); - vXResource.setAuditList(new ArrayList<VXAuditMap>()); - XXAssetDao xxAssetDao = Mockito.mock(XXAssetDao.class); - XXAsset xxAsset = new XXAsset(); - - VXResponse vXResponse = new VXResponse(); - Mockito.when(rangerDaoManager.getXXAsset()).thenReturn(xxAssetDao); - Mockito.when(xxAssetDao.getById(assetId)).thenReturn(xxAsset); - Mockito.when(stringUtil.split(vXResource.getName(), ",")).thenReturn(new String[0]); - Mockito.when(xaBizUtil.hasPermission(vXResource,AppConstants.XA_PERM_TYPE_ADMIN)).thenReturn(vXResponse); - Mockito.when(xResourceService.createResource(vXResource)).thenReturn(vXResource); - - VXResource vXResourceChk = assetMgr.createXResource(vXResource); - Assert.assertNotNull(vXResourceChk); - Assert.assertEquals(vXResourceChk.getAssetType(), AppConstants.ASSET_HIVE); - - Mockito.when(xResourceService.readResource(vXResourceChk.getId())).thenReturn(vXResource); - - VXResource vXResourceChkDb = assetMgr.getXResource(vXResourceChk.getId()); - Assert.assertNotNull(vXResourceChkDb); - Assert.assertEquals(vXResourceChkDb.getAssetType(), AppConstants.ASSET_HIVE); - Assert.assertEquals(vXResourceChkDb.getResourceType(), resourceType); - Assert.assertEquals(vXResourceChkDb.getPolicyName(), vXResourceChk.getPolicyName()); - Assert.assertEquals(vXResourceChkDb.getAssetName(), vXResourceChk.getAssetName()); - Assert.assertEquals(vXResourceChkDb.getResourceStatus(), vXResourceChk.getResourceStatus()); - - Mockito.when(xResourceService.readResource(vXResourceChk.getId())).thenReturn(vXResource); - Mockito.when(jsonUtil.writeJsonToFile(vXResource, vXResource.getName())).thenReturn(new File(vXResource.getName())); - - File fileChk = assetMgr.getXResourceFile(vXResourceChk.getId(),"json"); - Assert.assertNotNull(fileChk); - - String policyNameUpd = "HiveUpd_"+getDateTimeForFileName(); - vXResourceChkDb.setPolicyName(policyNameUpd); - vXResourceChkDb.setDatabases(policyNameUpd); - - XXResourceDao xxResourceDao = Mockito.mock(XXResourceDao.class); - XXResource xxResource = new XXResource(); - Mockito.when(xResourceService.updateResource(vXResourceChkDb)).thenReturn(vXResourceChkDb); - Mockito.when(rangerDaoManager.getXXResource()).thenReturn(xxResourceDao); - Mockito.when(xxResourceDao.getById(vXResource.getId())).thenReturn(xxResource); - - VXResource vXResourceUpd = assetMgr.updateXResource(vXResourceChkDb); - Assert.assertNotNull(vXResourceUpd); - Assert.assertEquals(vXResourceUpd.getPolicyName(), policyNameUpd); - Assert.assertEquals(vXResourceUpd.getDatabases(), policyNameUpd); - - VXPermMapList vXPermMapList = new VXPermMapList(); - Mockito.when(xPermMapService.searchXPermMaps((SearchCriteria)Mockito.anyObject())).thenReturn(vXPermMapList); - VXAuditMapList vXAuditMapsList = new VXAuditMapList(); - Mockito.when(xAuditMapService.searchXAuditMaps((SearchCriteria)Mockito.anyObject())).thenReturn(vXAuditMapsList); - - assetMgr.deleteXResource(vXResourceChkDb.getId(), true); - } - - @Test - public void testXResourceCRUDForHbase() throws JsonGenerationException, JsonMappingException, IOException{ - setup(); - Long assetId = hbaseAssetId; - int assetType = AppConstants.ASSET_HBASE; - int resourceType = AppConstants.RESOURCE_TABLE; - VXResource vXResource = createVXResource("Hbase", assetId, assetType, resourceType); - - vXResource.setPermMapList(new ArrayList<VXPermMap>()); - vXResource.setAuditList(new ArrayList<VXAuditMap>()); - XXAssetDao xxAssetDao = Mockito.mock(XXAssetDao.class); - XXAsset xxAsset = new XXAsset(); - - xxAsset.setAssetType(AppConstants.ASSET_HBASE); - Mockito.when(xPolicyService.getResourceType(vXResource)).thenReturn(AppConstants.RESOURCE_PATH); - Mockito.when(stringUtil.split(vXResource.getTopologies(), ",")).thenReturn(new String[0]); - Mockito.when(xPolicyService.getResourceType(vXResource)).thenReturn(AppConstants.RESOURCE_TABLE); - Mockito.when(stringUtil.split(vXResource.getTables(), ",")).thenReturn(new String[0]); - Mockito.when(stringUtil.split("", ",")).thenReturn(new String[0]); - - VXResponse vXResponse = new VXResponse(); - Mockito.when(rangerDaoManager.getXXAsset()).thenReturn(xxAssetDao); - Mockito.when(xxAssetDao.getById(assetId)).thenReturn(xxAsset); - Mockito.when(stringUtil.split(vXResource.getName(), ",")).thenReturn(new String[0]); - Mockito.when(xaBizUtil.hasPermission(vXResource,AppConstants.XA_PERM_TYPE_ADMIN)).thenReturn(vXResponse); - Mockito.when(xResourceService.createResource(vXResource)).thenReturn(vXResource); - - VXResource vXResourceChk = assetMgr.createXResource(vXResource); - Assert.assertNotNull(vXResourceChk); - Assert.assertEquals(vXResourceChk.getAssetType(), AppConstants.ASSET_HBASE); - - Mockito.when(xResourceService.readResource(vXResourceChk.getId())).thenReturn(vXResource); - - VXResource vXResourceChkDb = assetMgr.getXResource(vXResourceChk.getId()); - Assert.assertNotNull(vXResourceChkDb); - Assert.assertEquals(vXResourceChkDb.getAssetType(), AppConstants.ASSET_HBASE); - Assert.assertEquals(vXResourceChkDb.getResourceType(), resourceType); - Assert.assertEquals(vXResourceChkDb.getPolicyName(), vXResourceChk.getPolicyName()); - Assert.assertEquals(vXResourceChkDb.getAssetName(), vXResourceChk.getAssetName()); - Assert.assertEquals(vXResourceChkDb.getResourceStatus(), vXResourceChk.getResourceStatus()); - - Mockito.when(xResourceService.readResource(vXResourceChk.getId())).thenReturn(vXResource); - Mockito.when(jsonUtil.writeJsonToFile(vXResource, vXResource.getName())).thenReturn(new File(vXResource.getName())); - - File fileChk = assetMgr.getXResourceFile(vXResourceChk.getId(),"json"); - Assert.assertNotNull(fileChk); - - String policyNameUpd = "HbaseUpd_"+getDateTimeForFileName(); - vXResourceChkDb.setPolicyName(policyNameUpd); - vXResourceChkDb.setDatabases(policyNameUpd); - - XXResourceDao xxResourceDao = Mockito.mock(XXResourceDao.class); - XXResource xxResource = new XXResource(); - Mockito.when(xResourceService.updateResource(vXResourceChkDb)).thenReturn(vXResourceChkDb); - Mockito.when(rangerDaoManager.getXXResource()).thenReturn(xxResourceDao); - Mockito.when(xxResourceDao.getById(vXResource.getId())).thenReturn(xxResource); - - VXResource vXResourceUpd = assetMgr.updateXResource(vXResourceChkDb); - Assert.assertNotNull(vXResourceUpd); - Assert.assertEquals(vXResourceUpd.getPolicyName(), policyNameUpd); - Assert.assertEquals(vXResourceUpd.getDatabases(), policyNameUpd); - - VXPermMapList vXPermMapList = new VXPermMapList(); - Mockito.when(xPermMapService.searchXPermMaps((SearchCriteria)Mockito.anyObject())).thenReturn(vXPermMapList); - VXAuditMapList vXAuditMapsList = new VXAuditMapList(); - Mockito.when(xAuditMapService.searchXAuditMaps((SearchCriteria)Mockito.anyObject())).thenReturn(vXAuditMapsList); - - assetMgr.deleteXResource(vXResourceChkDb.getId(), true); - } - - @Test - public void testXResourceCRUDForKnox() throws JsonGenerationException, JsonMappingException, IOException{ - setup(); - Long assetId = knoxAssetId; - int assetType = AppConstants.ASSET_KNOX; - int resourceType = AppConstants.RESOURCE_SERVICE_NAME; - VXResource vXResource = createVXResource("Knox", assetId, assetType, resourceType); - - vXResource.setPermMapList(new ArrayList<VXPermMap>()); - vXResource.setAuditList(new ArrayList<VXAuditMap>()); - XXAssetDao xxAssetDao = Mockito.mock(XXAssetDao.class); - XXAsset xxAsset = new XXAsset(); - - xxAsset.setAssetType(AppConstants.ASSET_KNOX); - Mockito.when(xPolicyService.getResourceType(vXResource)).thenReturn(AppConstants.RESOURCE_PATH); - Mockito.when(stringUtil.split(vXResource.getTopologies(), ",")).thenReturn(new String[0]); - Mockito.when(xPolicyService.getResourceType(vXResource)).thenReturn(AppConstants.RESOURCE_TOPOLOGY); - Mockito.when(stringUtil.split("", ",")).thenReturn(new String[0]); - - VXResponse vXResponse = new VXResponse(); - Mockito.when(rangerDaoManager.getXXAsset()).thenReturn(xxAssetDao); - Mockito.when(xxAssetDao.getById(assetId)).thenReturn(xxAsset); - Mockito.when(stringUtil.split(vXResource.getName(), ",")).thenReturn(new String[0]); - Mockito.when(xaBizUtil.hasPermission(vXResource,AppConstants.XA_PERM_TYPE_ADMIN)).thenReturn(vXResponse); - Mockito.when(xResourceService.createResource(vXResource)).thenReturn(vXResource); - - VXResource vXResourceChk = assetMgr.createXResource(vXResource); - Assert.assertNotNull(vXResourceChk); - Assert.assertEquals(vXResourceChk.getAssetType(), AppConstants.ASSET_KNOX); - - Mockito.when(xResourceService.readResource(vXResourceChk.getId())).thenReturn(vXResource); - - VXResource vXResourceChkDb = assetMgr.getXResource(vXResourceChk.getId()); - Assert.assertNotNull(vXResourceChkDb); - Assert.assertEquals(vXResourceChkDb.getAssetType(), AppConstants.ASSET_KNOX); - Assert.assertEquals(vXResourceChkDb.getResourceType(), resourceType); - Assert.assertEquals(vXResourceChkDb.getPolicyName(), vXResourceChk.getPolicyName()); - Assert.assertEquals(vXResourceChkDb.getAssetName(), vXResourceChk.getAssetName()); - Assert.assertEquals(vXResourceChkDb.getResourceStatus(), vXResourceChk.getResourceStatus()); - - Mockito.when(xResourceService.readResource(vXResourceChk.getId())).thenReturn(vXResource); - Mockito.when(jsonUtil.writeJsonToFile(vXResource, vXResource.getName())).thenReturn(new File(vXResource.getName())); - - File fileChk = assetMgr.getXResourceFile(vXResourceChk.getId(),"json"); - Assert.assertNotNull(fileChk); - - String policyNameUpd = "KnoxUpd_"+getDateTimeForFileName(); - vXResourceChkDb.setPolicyName(policyNameUpd); - vXResourceChkDb.setDatabases(policyNameUpd); - - XXResourceDao xxResourceDao = Mockito.mock(XXResourceDao.class); - XXResource xxResource = new XXResource(); - Mockito.when(xResourceService.updateResource(vXResourceChkDb)).thenReturn(vXResourceChkDb); - Mockito.when(rangerDaoManager.getXXResource()).thenReturn(xxResourceDao); - Mockito.when(xxResourceDao.getById(vXResource.getId())).thenReturn(xxResource); - - VXResource vXResourceUpd = assetMgr.updateXResource(vXResourceChkDb); - Assert.assertNotNull(vXResourceUpd); - Assert.assertEquals(vXResourceUpd.getPolicyName(), policyNameUpd); - Assert.assertEquals(vXResourceUpd.getDatabases(), policyNameUpd); - - VXPermMapList vXPermMapList = new VXPermMapList(); - Mockito.when(xPermMapService.searchXPermMaps((SearchCriteria)Mockito.anyObject())).thenReturn(vXPermMapList); - VXAuditMapList vXAuditMapsList = new VXAuditMapList(); - Mockito.when(xAuditMapService.searchXAuditMaps((SearchCriteria)Mockito.anyObject())).thenReturn(vXAuditMapsList); - - assetMgr.deleteXResource(vXResourceChkDb.getId(), true); - } - - @Test - public void testXResourceCRUDForStorm() throws JsonGenerationException, JsonMappingException, IOException{ - setup(); - Long assetId = stormAssetId; - int assetType = AppConstants.ASSET_STORM; - int resourceType = AppConstants.RESOURCE_SERVICE_NAME; - VXResource vXResource = createVXResource("Storm",assetId, assetType, resourceType); - - vXResource.setPermMapList(new ArrayList<VXPermMap>()); - vXResource.setAuditList(new ArrayList<VXAuditMap>()); - XXAssetDao xxAssetDao = Mockito.mock(XXAssetDao.class); - XXAsset xxAsset = new XXAsset(); - - xxAsset.setAssetType(AppConstants.ASSET_STORM); - Mockito.when(xPolicyService.getResourceType(vXResource)).thenReturn(AppConstants.RESOURCE_PATH); - Mockito.when(stringUtil.split(vXResource.getTopologies(), ",")).thenReturn(new String[0]); - Mockito.when(xPolicyService.getResourceType(vXResource)).thenReturn(AppConstants.RESOURCE_TOPOLOGY); - Mockito.when(stringUtil.split("", ",")).thenReturn(new String[0]); - - VXResponse vXResponse = new VXResponse(); - Mockito.when(rangerDaoManager.getXXAsset()).thenReturn(xxAssetDao); - Mockito.when(xxAssetDao.getById(assetId)).thenReturn(xxAsset); - Mockito.when(stringUtil.split(vXResource.getName(), ",")).thenReturn(new String[0]); - Mockito.when(xaBizUtil.hasPermission(vXResource,AppConstants.XA_PERM_TYPE_ADMIN)).thenReturn(vXResponse); - Mockito.when(xResourceService.createResource(vXResource)).thenReturn(vXResource); - - VXResource vXResourceChk = assetMgr.createXResource(vXResource); - Assert.assertNotNull(vXResourceChk); - Assert.assertEquals(vXResourceChk.getAssetType(), AppConstants.ASSET_STORM); - - Mockito.when(xResourceService.readResource(vXResourceChk.getId())).thenReturn(vXResource); - - VXResource vXResourceChkDb = assetMgr.getXResource(vXResourceChk.getId()); - Assert.assertNotNull(vXResourceChkDb); - Assert.assertEquals(vXResourceChkDb.getAssetType(), AppConstants.ASSET_STORM); - Assert.assertEquals(vXResourceChkDb.getResourceType(), resourceType); - Assert.assertEquals(vXResourceChkDb.getPolicyName(), vXResourceChk.getPolicyName()); - Assert.assertEquals(vXResourceChkDb.getAssetName(), vXResourceChk.getAssetName()); - Assert.assertEquals(vXResourceChkDb.getResourceStatus(), vXResourceChk.getResourceStatus()); - - Mockito.when(xResourceService.readResource(vXResourceChk.getId())).thenReturn(vXResource); - Mockito.when(jsonUtil.writeJsonToFile(vXResource, vXResource.getName())).thenReturn(new File(vXResource.getName())); - - File fileChk = assetMgr.getXResourceFile(vXResourceChk.getId(),"json"); - Assert.assertNotNull(fileChk); - - String policyNameUpd = "StormUpd_"+getDateTimeForFileName(); - vXResourceChkDb.setPolicyName(policyNameUpd); - vXResourceChkDb.setDatabases(policyNameUpd); - - XXResourceDao xxResourceDao = Mockito.mock(XXResourceDao.class); - XXResource xxResource = new XXResource(); - Mockito.when(xResourceService.updateResource(vXResourceChkDb)).thenReturn(vXResourceChkDb); - Mockito.when(rangerDaoManager.getXXResource()).thenReturn(xxResourceDao); - Mockito.when(xxResourceDao.getById(vXResource.getId())).thenReturn(xxResource); - - VXResource vXResourceUpd = assetMgr.updateXResource(vXResourceChkDb); - Assert.assertNotNull(vXResourceUpd); - Assert.assertEquals(vXResourceUpd.getPolicyName(), policyNameUpd); - Assert.assertEquals(vXResourceUpd.getDatabases(), policyNameUpd); - - VXPermMapList vXPermMapList = new VXPermMapList(); - Mockito.when(xPermMapService.searchXPermMaps((SearchCriteria)Mockito.anyObject())).thenReturn(vXPermMapList); - VXAuditMapList vXAuditMapsList = new VXAuditMapList(); - Mockito.when(xAuditMapService.searchXAuditMaps((SearchCriteria)Mockito.anyObject())).thenReturn(vXAuditMapsList); - - assetMgr.deleteXResource(vXResourceChkDb.getId(), true); - } - - @Test - public void testDeleteXAssetForHive(){ - setup(); - VXAsset vXAsset = new VXAsset(); - vXAsset.setId(hiveAssetId); - vXAsset.setActiveStatus(RangerCommonEnums.STATUS_ENABLED); - Mockito.when(xAssetService.readResource(hiveAssetId)).thenReturn(vXAsset); - assetMgr.deleteXAsset(hiveAssetId, true); - Assert.assertEquals(vXAsset.getActiveStatus(), RangerCommonEnums.STATUS_DELETED); - } - - @Test - public void testDeleteXAssetForHbase(){ - setup(); - VXAsset vXAsset = new VXAsset(); - vXAsset.setId(hbaseAssetId); - vXAsset.setActiveStatus(RangerCommonEnums.STATUS_ENABLED); - Mockito.when(xAssetService.readResource(hiveAssetId)).thenReturn(vXAsset); - assetMgr.deleteXAsset(hbaseAssetId, true); - Assert.assertEquals(vXAsset.getActiveStatus(), RangerCommonEnums.STATUS_DELETED); - } - - @Test - public void testDeleteXAssetForKnox(){ - setup(); - VXAsset vXAsset = new VXAsset(); - vXAsset.setId(knoxAssetId); - vXAsset.setActiveStatus(RangerCommonEnums.STATUS_ENABLED); - Mockito.when(xAssetService.readResource(hiveAssetId)).thenReturn(vXAsset); - assetMgr.deleteXAsset(knoxAssetId, true); - Assert.assertEquals(vXAsset.getActiveStatus(), RangerCommonEnums.STATUS_DELETED); - } - - @Test - public void testDeleteXAssetForStorm(){ - setup(); - VXAsset vXAsset = new VXAsset(); - vXAsset.setId(stormAssetId); - vXAsset.setActiveStatus(RangerCommonEnums.STATUS_ENABLED); - Mockito.when(xAssetService.readResource(hiveAssetId)).thenReturn(vXAsset); - assetMgr.deleteXAsset(stormAssetId, true); - Assert.assertEquals(vXAsset.getActiveStatus(), RangerCommonEnums.STATUS_DELETED); - } - - private VXResource createVXResource(String assetTypeName, Long assetId, int assetType, int resourceType){ - VXResource vxResource = new VXResource(); - vxResource.setAssetId(assetId); - vxResource.setAssetType(assetType); - vxResource.setResourceType(resourceType); - vxResource.setName("Test"+getDateTimeForFileName()); - vxResource.setDatabases("TestDB"+getDateTimeForFileName()); - vxResource.setColumns("TestCol"+getDateTimeForFileName()); - vxResource.setTables("TestTables"+getDateTimeForFileName()); - vxResource.setUdfs("TestUDF"+getDateTimeForFileName()); - vxResource.setDescription(assetTypeName+"_"+getDateTimeForFileName()); - vxResource.setPolicyName(assetTypeName+"_"+getDateTimeForFileName()); - vxResource.setTopologies("Topo_"+getDateTimeForFileName()); - vxResource.setServices("Serv_"+getDateTimeForFileName()); - vxResource.setResourceStatus(1); - vxResource.setOwner("Admin"); - vxResource.setUpdatedBy("Admin"); - return vxResource; - } - - private String getDateTimeForFileName() { - Date currentDate = new Date(); - SimpleDateFormat dateFormatter = new SimpleDateFormat("ddMMyyyyHHmmsss"); - return dateFormatter.format(currentDate); - } - - private VXAsset createVXAsset(String assetTypeName, int assetType, String config){ - VXAsset vXAsset = new VXAsset(); - vXAsset.setName(assetTypeName+"_"+getDateTimeForFileName()); - vXAsset.setActiveStatus(1); - vXAsset.setAssetType(assetType); - vXAsset.setConfig(config); - vXAsset.setDescription(assetTypeName+"Descr_"+getDateTimeForFileName()); - return vXAsset; - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/dbc489a7/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 deleted file mode 100644 index 27367b0..0000000 --- a/security-admin/src/test/java/org/apache/ranger/rest/TestPublicAPIs.java +++ /dev/null @@ -1,246 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - - package org.apache.ranger.rest; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.ranger.biz.AssetMgr; -import org.apache.ranger.common.RESTErrorUtil; -import org.apache.ranger.common.RangerSearchUtil; -import org.apache.ranger.common.SearchCriteria; -import org.apache.ranger.common.StringUtil; -import org.apache.ranger.db.RangerDaoManager; -import org.apache.ranger.service.AbstractBaseResourceService; -import org.apache.ranger.service.XAssetService; -import org.apache.ranger.service.XPolicyService; -import org.apache.ranger.service.XRepositoryService; -import org.apache.ranger.service.XResourceService; -import org.apache.ranger.view.VXAsset; -import org.apache.ranger.view.VXLong; -import org.apache.ranger.view.VXPolicy; -import org.apache.ranger.view.VXPolicyList; -import org.apache.ranger.view.VXRepository; -import org.apache.ranger.view.VXRepositoryList; -import org.apache.ranger.view.VXResource; -import org.junit.Assert; -import org.junit.Ignore; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.InjectMocks; -import org.mockito.Mock; -import org.mockito.Mockito; -import org.mockito.runners.MockitoJUnitRunner; - - -/** - * JUnit testSuite for {@link org.apache.ranger.rest.PublicAPIs} - * - */ - -@Ignore("tests to be reviewed") -@RunWith(MockitoJUnitRunner.class) -public class TestPublicAPIs { - - private Long id = 1L; - - @InjectMocks - PublicAPIs publicAPIs = new PublicAPIs(); - - @Mock - RangerSearchUtil searchUtil; - - @Mock - AssetMgr assetMgr; - - @Mock - XAssetService xAssetService; - - @Mock - RESTErrorUtil restErrorUtil; - - @Mock - XRepositoryService xRepositoryService; - - @Mock - XResourceService xResourceService; - - @Mock - XPolicyService xPolicyService; - - @Mock - StringUtil stringUtil; - - @Mock - RangerDaoManager xaDaoMgr; - - @Test - public void testGetRepository(){ - VXAsset vXAsset = new VXAsset(); - VXRepository vXRepository = new VXRepository(); - Mockito.when(assetMgr.getXAsset(id)).thenReturn(vXAsset); - Mockito.when(xRepositoryService.mapXAToPublicObject(vXAsset)).thenReturn(vXRepository); - VXRepository vXRepositoryChk = publicAPIs.getRepository(id); - Mockito.verify(assetMgr).getXAsset(id); - Mockito.verify(xRepositoryService).mapXAToPublicObject(vXAsset); - Assert.assertEquals(vXRepositoryChk, vXRepository); - } - - @Test - public void testCreateRepository(){ - VXAsset vXAsset = new VXAsset(); - VXRepository vXRepository = new VXRepository(); - Mockito.when(xRepositoryService.mapPublicToXAObject(vXRepository)).thenReturn(vXAsset); - Mockito.when(assetMgr.createXAsset(vXAsset)).thenReturn(vXAsset); - Mockito.when(xRepositoryService.mapXAToPublicObject(vXAsset)).thenReturn(vXRepository); - VXRepository vXRepoChk = publicAPIs.createRepository(vXRepository); - Mockito.verify(xRepositoryService).mapXAToPublicObject(vXAsset); - Mockito.verify(assetMgr).createXAsset(vXAsset); - Mockito.verify(xRepositoryService).mapPublicToXAObject(vXRepository); - Assert.assertEquals(vXRepository, vXRepoChk); - } - - @Test - public void testUpdateRepository(){ - VXAsset vXAsset = new VXAsset(); - VXRepository vXRepository = new VXRepository(); - Mockito.when(xRepositoryService.mapPublicToXAObject(vXRepository)).thenReturn(vXAsset); - Mockito.when(assetMgr.updateXAsset(vXAsset)).thenReturn(vXAsset); - Mockito.when(xRepositoryService.mapXAToPublicObject(vXAsset)).thenReturn(vXRepository); - VXRepository vXRepoChk = publicAPIs.updateRepository(vXRepository, id); - Mockito.verify(xRepositoryService).mapPublicToXAObject(vXRepository); - Mockito.verify(assetMgr).updateXAsset(vXAsset); - Mockito.verify(xRepositoryService).mapXAToPublicObject(vXAsset); - Assert.assertEquals(vXRepository, vXRepoChk); - } - - @Test - public void testDeleteRepository(){ - String forceStr = "true"; - HttpServletRequest request = Mockito.mock(HttpServletRequest.class); - Mockito.when(request.getParameter("force")).thenReturn(forceStr); - Mockito.when(stringUtil.isEmpty(forceStr)).thenReturn(false); - publicAPIs.deleteRepository(id, request); - Mockito.verify(request).getParameter("force"); - Mockito.verify(stringUtil).isEmpty(forceStr); - } - - @Test - public void testSearchRepositories(){ - HttpServletRequest request = Mockito.mock(HttpServletRequest.class); - VXRepositoryList vXRepoList = new VXRepositoryList(); - SearchCriteria searchCriteria = new SearchCriteria(); - Mockito.when(searchUtil.extractCommonCriterias(request, xAssetService.sortFields)).thenReturn(searchCriteria); - Mockito.when(xRepositoryService.mapToVXRepositoryList(null)).thenReturn(vXRepoList); - VXRepositoryList chk = publicAPIs.searchRepositories(request); - Mockito.verify(searchUtil).extractCommonCriterias(request, xAssetService.sortFields); - Mockito.verify(xRepositoryService).mapToVXRepositoryList(null); - Assert.assertEquals(vXRepoList, chk); - } - - @Test - public void testCountRepositories(){ - VXLong vXLong = new VXLong(); - HttpServletRequest request = Mockito.mock(HttpServletRequest.class); - SearchCriteria searchCriteria = new SearchCriteria(); - Mockito.when(searchUtil.extractCommonCriterias(request, xAssetService.sortFields)).thenReturn(searchCriteria); - Mockito.when(assetMgr.getXAssetSearchCount(searchCriteria)).thenReturn(vXLong); - VXLong chk = publicAPIs.countRepositories(request); - Mockito.verify(searchUtil).extractCommonCriterias(request, xAssetService.sortFields); - Mockito.verify(assetMgr).getXAssetSearchCount(searchCriteria); - Assert.assertEquals(vXLong, chk); - } - - @Test - public void testGetPolicy(){ - VXResource vXResource = new VXResource(); - VXPolicy vXPolicy = new VXPolicy(); - Mockito.when(assetMgr.getXResource(id)).thenReturn(vXResource); - Mockito.when(xPolicyService.mapXAToPublicObject(vXResource)).thenReturn(vXPolicy); - VXPolicy chk = publicAPIs.getPolicy(id); - Mockito.verify(assetMgr).getXResource(id); - Mockito.verify(xPolicyService).mapXAToPublicObject(vXResource); - Assert.assertEquals(vXPolicy, chk); - } - - @Test - public void testCreatePolicy(){ - VXPolicy vXPolicy = new VXPolicy(); - VXResource vXResource = new VXResource(); - Mockito.when(xPolicyService.mapPublicToXAObject(vXPolicy,AbstractBaseResourceService.OPERATION_CREATE_CONTEXT)).thenReturn(vXResource); - Mockito.when(assetMgr.createXResource(vXResource)).thenReturn(vXResource); - Mockito.when(xPolicyService.mapXAToPublicObject(vXResource)).thenReturn(vXPolicy); - VXPolicy chk = publicAPIs.createPolicy(vXPolicy); - Mockito.verify(xPolicyService).mapPublicToXAObject(vXPolicy,AbstractBaseResourceService.OPERATION_CREATE_CONTEXT); - Mockito.verify(assetMgr).createXResource(vXResource); - Mockito.verify(xPolicyService).mapXAToPublicObject(vXResource); - Assert.assertEquals(vXPolicy, chk); - } - - @Test - public void testUpdatePolicy(){ - VXPolicy vXPolicy = new VXPolicy(); - VXResource vXResource = new VXResource(); - Mockito.when(xPolicyService.mapPublicToXAObject(vXPolicy,AbstractBaseResourceService.OPERATION_UPDATE_CONTEXT)).thenReturn(vXResource); - Mockito.when(assetMgr.updateXResource(vXResource)).thenReturn(vXResource); - Mockito.when(xPolicyService.mapXAToPublicObject(vXResource)).thenReturn(vXPolicy); - VXPolicy chk = publicAPIs.updatePolicy(vXPolicy, id); - Mockito.verify(xPolicyService).mapPublicToXAObject(vXPolicy,AbstractBaseResourceService.OPERATION_UPDATE_CONTEXT); - Mockito.verify(assetMgr).updateXResource(vXResource); - Mockito.verify(xPolicyService).mapXAToPublicObject(vXResource); - Assert.assertEquals(vXPolicy, chk); - } - - @Test - public void testDeletePolicy(){ - String forceStr = "true"; - HttpServletRequest request = Mockito.mock(HttpServletRequest.class); - Mockito.when(request.getParameter("force")).thenReturn(forceStr); - Mockito.when(stringUtil.isEmpty(forceStr)).thenReturn(false); - publicAPIs.deletePolicy(id, request); - Mockito.verify(request).getParameter("force"); - Mockito.verify(stringUtil).isEmpty(forceStr); - } - - @Test - public void testSearchPolicies(){ - HttpServletRequest request = Mockito.mock(HttpServletRequest.class); - VXPolicyList vXRepoList = new VXPolicyList(); - SearchCriteria searchCriteria = new SearchCriteria(); - Mockito.when(searchUtil.extractCommonCriterias(request, xAssetService.sortFields)).thenReturn(searchCriteria); - Mockito.when(xPolicyService.mapToVXPolicyList(null)).thenReturn(vXRepoList); - VXPolicyList chk = publicAPIs.searchPolicies(request); - Mockito.verify(searchUtil).extractCommonCriterias(request, xAssetService.sortFields); - Mockito.verify(xPolicyService).mapToVXPolicyList(null); - Assert.assertEquals(vXRepoList, chk); - } - - @Test - public void testCountPolicies(){ - VXLong vXLong = new VXLong(); - HttpServletRequest request = Mockito.mock(HttpServletRequest.class); - SearchCriteria searchCriteria = new SearchCriteria(); - Mockito.when(searchUtil.extractCommonCriterias(request, xResourceService.sortFields)).thenReturn(searchCriteria); - Mockito.when(assetMgr.getXResourceSearchCount(searchCriteria)).thenReturn(vXLong); - VXLong chk = publicAPIs.countPolicies(request); - Mockito.verify(searchUtil).extractCommonCriterias(request, xResourceService.sortFields); - Mockito.verify(assetMgr).getXResourceSearchCount(searchCriteria); - Assert.assertEquals(vXLong, chk); - } -}
