/* * 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 java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.apache.ranger.common.ContextUtil; import org.apache.ranger.common.RESTErrorUtil; import org.apache.ranger.common.RangerSearchUtil; import org.apache.ranger.common.UserSessionBase; import org.apache.ranger.plugin.model.RangerPolicy; import org.apache.ranger.plugin.model.RangerService; import org.apache.ranger.plugin.model.RangerServiceDef; import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyItem; import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyItemAccess; import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyItemCondition; import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyResource; import org.apache.ranger.plugin.model.RangerServiceDef.RangerAccessTypeDef; import org.apache.ranger.plugin.model.RangerServiceDef.RangerContextEnricherDef; import org.apache.ranger.plugin.model.RangerServiceDef.RangerEnumDef; import org.apache.ranger.plugin.model.RangerServiceDef.RangerPolicyConditionDef; import org.apache.ranger.plugin.model.RangerServiceDef.RangerResourceDef; import org.apache.ranger.plugin.model.RangerServiceDef.RangerServiceConfigDef; import org.apache.ranger.plugin.util.SearchFilter; import org.apache.ranger.security.context.RangerContextHolder; import org.apache.ranger.security.context.RangerSecurityContext; import org.apache.ranger.service.RangerPolicyService; import org.apache.ranger.view.RangerPolicyList; import org.apache.ranger.view.RangerServiceDefList; import org.apache.ranger.view.RangerServiceList; import org.junit.Assert; import org.junit.Before; import org.junit.FixMethodOrder; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; import org.junit.runner.RunWith; import org.junit.runners.MethodSorters; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.runners.MockitoJUnitRunner; @RunWith(MockitoJUnitRunner.class) @FixMethodOrder(MethodSorters.NAME_ASCENDING) public class TestPublicAPIsv2 { private static Long Id = 8L; private static Long Id2 =10L; @InjectMocks PublicAPIsv2 publicAPIsv2 = new PublicAPIsv2(); @Mock ServiceREST serviceREST; @Mock RangerSearchUtil searchUtil; @Mock RangerPolicyService policyService; @Mock RESTErrorUtil restErrorUtil; @Rule public ExpectedException thrown = ExpectedException.none(); @Before public void setup() throws Exception { RangerSecurityContext context = new RangerSecurityContext(); context.setUserSession(new UserSessionBase()); RangerContextHolder.setSecurityContext(context); UserSessionBase currentUserSession = ContextUtil .getCurrentUserSession(); currentUserSession.setUserAdmin(true); } private RangerServiceDef rangerServiceDef() { List<RangerServiceConfigDef> configs = new ArrayList<RangerServiceConfigDef>(); List<RangerResourceDef> resources = new ArrayList<RangerResourceDef>(); List<RangerAccessTypeDef> accessTypes = new ArrayList<RangerAccessTypeDef>(); List<RangerPolicyConditionDef> policyConditions = new ArrayList<RangerPolicyConditionDef>(); List<RangerContextEnricherDef> contextEnrichers = new ArrayList<RangerContextEnricherDef>(); List<RangerEnumDef> enums = new ArrayList<RangerEnumDef>(); RangerServiceDef rangerServiceDef = new RangerServiceDef(); rangerServiceDef.setId(Id); rangerServiceDef.setName("RangerServiceHdfs"); rangerServiceDef.setImplClass("RangerServiceHdfs"); rangerServiceDef.setLabel("HDFS Repository"); rangerServiceDef.setDescription("HDFS Repository"); rangerServiceDef.setRbKeyDescription(null); rangerServiceDef.setUpdatedBy("Admin"); rangerServiceDef.setUpdateTime(new Date()); rangerServiceDef.setConfigs(configs); rangerServiceDef.setResources(resources); rangerServiceDef.setAccessTypes(accessTypes); rangerServiceDef.setPolicyConditions(policyConditions); rangerServiceDef.setContextEnrichers(contextEnrichers); rangerServiceDef.setEnums(enums); return rangerServiceDef; } private RangerService rangerService() { Map<String, String> configs = new HashMap<String, String>(); configs.put("username", "servicemgr"); configs.put("password", "servicemgr"); configs.put("namenode", "servicemgr"); configs.put("hadoop.security.authorization", "No"); configs.put("hadoop.security.authentication", "Simple"); configs.put("hadoop.security.auth_to_local", ""); configs.put("dfs.datanode.kerberos.principal", ""); configs.put("dfs.namenode.kerberos.principal", ""); configs.put("dfs.secondary.namenode.kerberos.principal", ""); configs.put("hadoop.rpc.protection", "Privacy"); configs.put("commonNameForCertificate", ""); RangerService rangerService = new RangerService(); rangerService.setId(Id); rangerService.setConfigs(configs); rangerService.setCreateTime(new Date()); rangerService.setDescription("service policy"); rangerService.setGuid("1427365526516_835_0"); rangerService.setIsEnabled(true); rangerService.setName("HDFS_1"); rangerService.setPolicyUpdateTime(new Date()); rangerService.setType("1"); rangerService.setUpdatedBy("Admin"); rangerService.setUpdateTime(new Date()); return rangerService; } private RangerPolicy rangerPolicy() { List<RangerPolicyItemAccess> accesses = new ArrayList<RangerPolicyItemAccess>(); List<String> users = new ArrayList<String>(); List<String> groups = new ArrayList<String>(); List<RangerPolicyItemCondition> conditions = new ArrayList<RangerPolicyItemCondition>(); List<RangerPolicyItem> policyItems = new ArrayList<RangerPolicyItem>(); RangerPolicyItem rangerPolicyItem = new RangerPolicyItem(); rangerPolicyItem.setAccesses(accesses); rangerPolicyItem.setConditions(conditions); rangerPolicyItem.setGroups(groups); rangerPolicyItem.setUsers(users); rangerPolicyItem.setDelegateAdmin(false); policyItems.add(rangerPolicyItem); Map<String, RangerPolicyResource> policyResource = new HashMap<String, RangerPolicyResource>(); RangerPolicyResource rangerPolicyResource = new RangerPolicyResource(); rangerPolicyResource.setIsExcludes(true); rangerPolicyResource.setIsRecursive(true); rangerPolicyResource.setValue("1"); rangerPolicyResource.setValues(users); policyResource.put("resource", rangerPolicyResource); RangerPolicy policy = new RangerPolicy(); policy.setId(Id); policy.setCreateTime(new Date()); policy.setDescription("policy"); policy.setGuid("policyguid"); policy.setIsEnabled(true); policy.setName("HDFS_1-1-20150316062453"); policy.setUpdatedBy("Admin"); policy.setUpdateTime(new Date()); policy.setService("HDFS_1-1-20150316062453"); policy.setIsAuditEnabled(true); policy.setPolicyItems(policyItems); policy.setResources(policyResource); policy.setService("HDFS_1"); return policy; } private RangerPolicy rangerPolicy1() { List<RangerPolicyItemAccess> accesses = new ArrayList<RangerPolicyItemAccess>(); List<String> users = new ArrayList<String>(); List<String> groups = new ArrayList<String>(); List<RangerPolicyItemCondition> conditions = new ArrayList<RangerPolicyItemCondition>(); List<RangerPolicyItem> policyItems = new ArrayList<RangerPolicyItem>(); RangerPolicyItem rangerPolicyItem = new RangerPolicyItem(); rangerPolicyItem.setAccesses(accesses); rangerPolicyItem.setConditions(conditions); rangerPolicyItem.setGroups(groups); rangerPolicyItem.setUsers(users); rangerPolicyItem.setDelegateAdmin(false); policyItems.add(rangerPolicyItem); Map<String, RangerPolicyResource> policyResource = new HashMap<String, RangerPolicyResource>(); RangerPolicyResource rangerPolicyResource = new RangerPolicyResource(); rangerPolicyResource.setIsExcludes(true); rangerPolicyResource.setIsRecursive(true); rangerPolicyResource.setValue("2"); rangerPolicyResource.setValues(users); policyResource.put("resource", rangerPolicyResource); RangerPolicy policy = new RangerPolicy(); policy.setId(Id2); policy.setCreateTime(new Date()); policy.setDescription("policy"); policy.setGuid("policyguid"); policy.setIsEnabled(true); policy.setName("HDFS_1-1-20150316062454"); policy.setUpdatedBy("Admin"); policy.setUpdateTime(new Date()); policy.setService("HDFS_1-1-20150316062454"); policy.setIsAuditEnabled(true); policy.setPolicyItems(policyItems); policy.setResources(policyResource); policy.setService("HDFS_2"); return policy; } @Test public void test1getServiceDef() throws Exception { RangerServiceDef rangerServiceDef = rangerServiceDef(); Mockito.when(serviceREST.getServiceDef(rangerServiceDef.getId())).thenReturn(rangerServiceDef); RangerServiceDef dbRangerServiceDef = publicAPIsv2.getServiceDef(Id); Assert.assertNotNull(dbRangerServiceDef); Assert.assertEquals(dbRangerServiceDef, rangerServiceDef); Assert.assertEquals(dbRangerServiceDef.getId(), rangerServiceDef.getId()); Assert.assertEquals(dbRangerServiceDef.getName(), rangerServiceDef.getName()); Mockito.verify(serviceREST).getServiceDef(Id); } @Test public void test2getServiceDefByName() throws Exception { RangerServiceDef rangerServiceDef = rangerServiceDef(); String name = rangerServiceDef.getName(); Mockito.when(serviceREST.getServiceDefByName(name)).thenReturn(rangerServiceDef); RangerServiceDef dbRangerServiceDef = publicAPIsv2.getServiceDefByName(name); Assert.assertNotNull(dbRangerServiceDef); Assert.assertEquals(dbRangerServiceDef, rangerServiceDef); Assert.assertEquals(dbRangerServiceDef.getId(), rangerServiceDef.getId()); Assert.assertEquals(dbRangerServiceDef.getName(), rangerServiceDef.getName()); Mockito.verify(serviceREST).getServiceDefByName(name); } @Test public void test3searchServiceDefs() throws Exception { HttpServletRequest request = Mockito.mock(HttpServletRequest.class); List<RangerServiceDef> serviceDefsList = new ArrayList<RangerServiceDef>(); RangerServiceDef serviceDef = rangerServiceDef(); serviceDefsList.add(serviceDef); RangerServiceDefList serviceDefList = new RangerServiceDefList(serviceDefsList); Mockito.when(serviceREST.getServiceDefs(request)).thenReturn(serviceDefList); List<RangerServiceDef> dbRangerServiceDefList = publicAPIsv2.searchServiceDefs(request); Assert.assertNotNull(dbRangerServiceDefList); Assert.assertEquals(dbRangerServiceDefList.size(), serviceDefsList.size()); Mockito.verify(serviceREST).getServiceDefs(request); } @Test public void test4createServiceDef() throws Exception { RangerServiceDef rangerServiceDef = rangerServiceDef(); Mockito.when(serviceREST.createServiceDef(rangerServiceDef)).thenReturn(rangerServiceDef); RangerServiceDef dbRangerServiceDef = publicAPIsv2.createServiceDef(rangerServiceDef); Assert.assertNotNull(dbRangerServiceDef); Assert.assertEquals(dbRangerServiceDef, rangerServiceDef); Assert.assertEquals(dbRangerServiceDef.getId(), rangerServiceDef.getId()); Assert.assertEquals(dbRangerServiceDef.getName(), rangerServiceDef.getName()); Mockito.verify(serviceREST).createServiceDef(rangerServiceDef); } @Test public void test5updateServiceDef() throws Exception { RangerServiceDef rangerServiceDef = rangerServiceDef(); Mockito.when(serviceREST.updateServiceDef(rangerServiceDef)).thenReturn(rangerServiceDef); RangerServiceDef dbRangerServiceDef = publicAPIsv2.updateServiceDef(rangerServiceDef, Id); Assert.assertNotNull(dbRangerServiceDef); Assert.assertEquals(dbRangerServiceDef, rangerServiceDef); Assert.assertEquals(dbRangerServiceDef.getId(), rangerServiceDef.getId()); Assert.assertEquals(dbRangerServiceDef.getName(), rangerServiceDef.getName()); Mockito.verify(serviceREST).updateServiceDef(rangerServiceDef); } @Test public void test6updateServiceDefByName() throws Exception { RangerServiceDef rangerServiceDef = rangerServiceDef(); String name = rangerServiceDef.getName(); Mockito.when(serviceREST.getServiceDefByName(name)).thenReturn(rangerServiceDef); Mockito.when(serviceREST.updateServiceDef(rangerServiceDef)).thenReturn(rangerServiceDef); RangerServiceDef dbRangerServiceDef = publicAPIsv2.updateServiceDefByName(rangerServiceDef, name); Assert.assertNotNull(dbRangerServiceDef); Assert.assertEquals(dbRangerServiceDef, rangerServiceDef); Assert.assertEquals(dbRangerServiceDef.getId(), rangerServiceDef.getId()); Assert.assertEquals(dbRangerServiceDef.getName(), rangerServiceDef.getName()); Mockito.verify(serviceREST).updateServiceDef(rangerServiceDef); Mockito.verify(serviceREST).getServiceDefByName(name); } @Test public void test7deleteServiceDef() throws Exception { HttpServletRequest request = Mockito.mock(HttpServletRequest.class); Mockito.doNothing().when(serviceREST).deleteServiceDef(Id, request); publicAPIsv2.deleteServiceDef(Id, request); Mockito.verify(serviceREST).deleteServiceDef(Id, request); } @Test public void test8deleteServiceDefByName() throws Exception { HttpServletRequest request = Mockito.mock(HttpServletRequest.class); RangerServiceDef rangerServiceDef = rangerServiceDef(); String name = rangerServiceDef.getName(); Mockito.when(serviceREST.getServiceDefByName(name)).thenReturn(rangerServiceDef); Mockito.doNothing().when(serviceREST).deleteServiceDef(rangerServiceDef.getId(), request); publicAPIsv2.deleteServiceDefByName(name, request); Mockito.verify(serviceREST).deleteServiceDef(rangerServiceDef.getId(), request); Mockito.verify(serviceREST).getServiceDefByName(name); } @Test public void test9getService() throws Exception { RangerService rangerService = rangerService(); Mockito.when(serviceREST.getService(rangerService.getId())).thenReturn(rangerService); RangerService dbRangerService = publicAPIsv2.getService(Id); Assert.assertNotNull(dbRangerService); Assert.assertEquals(dbRangerService, rangerService); Assert.assertEquals(dbRangerService.getId(), rangerService.getId()); Assert.assertEquals(dbRangerService.getName(), rangerService.getName()); Mockito.verify(serviceREST).getService(Id); } @Test public void test10getServiceByName() throws Exception { RangerService rangerService = rangerService(); String name = rangerService.getName(); Mockito.when(serviceREST.getServiceByName(name)).thenReturn(rangerService); RangerService dbRangerService = publicAPIsv2.getServiceByName(name); Assert.assertNotNull(dbRangerService); Assert.assertEquals(dbRangerService, rangerService); Assert.assertEquals(dbRangerService.getId(), rangerService.getId()); Assert.assertEquals(dbRangerService.getName(), rangerService.getName()); Mockito.verify(serviceREST).getServiceByName(name); } @Test public void test11searchServices() throws Exception { HttpServletRequest request = Mockito.mock(HttpServletRequest.class); List<RangerService> servicesList = new ArrayList<RangerService>(); RangerService service = rangerService(); servicesList.add(service); RangerServiceList serviceList = new RangerServiceList(servicesList); Mockito.when(serviceREST.getServices(request)).thenReturn(serviceList); List<RangerService> dbRangerServiceList = publicAPIsv2.searchServices(request); Assert.assertNotNull(dbRangerServiceList); Assert.assertEquals(dbRangerServiceList.size(), servicesList.size()); Mockito.verify(serviceREST).getServices(request); } @Test public void test12createService() throws Exception { RangerService rangerService = rangerService(); Mockito.when(serviceREST.createService(rangerService)).thenReturn(rangerService); RangerService dbRangerService = publicAPIsv2.createService(rangerService); Assert.assertNotNull(dbRangerService); Assert.assertEquals(dbRangerService, rangerService); Assert.assertEquals(dbRangerService.getId(), rangerService.getId()); Assert.assertEquals(dbRangerService.getName(), rangerService.getName()); Mockito.verify(serviceREST).createService(rangerService); } @Test public void test13updateService() throws Exception { RangerService rangerService = rangerService(); Mockito.when(serviceREST.updateService(rangerService)).thenReturn(rangerService); RangerService dbRangerService = publicAPIsv2.updateService(rangerService, Id); Assert.assertNotNull(dbRangerService); Assert.assertEquals(dbRangerService, rangerService); Assert.assertEquals(dbRangerService.getId(), rangerService.getId()); Assert.assertEquals(dbRangerService.getName(), rangerService.getName()); Mockito.verify(serviceREST).updateService(rangerService); } @Test public void test14updateServiceByName() throws Exception { RangerService rangerService = rangerService(); String name = rangerService.getName(); Mockito.when(serviceREST.getServiceByName(name)).thenReturn(rangerService); Mockito.when(serviceREST.updateService(rangerService)).thenReturn(rangerService); RangerService dbRangerService = publicAPIsv2.updateServiceByName(rangerService, name); 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).getServiceByName(name); } @Test public void test15deleteService() throws Exception { Mockito.doNothing().when(serviceREST).deleteService(Id); publicAPIsv2.deleteService(Id); Mockito.verify(serviceREST).deleteService(Id); } @Test public void test16deleteServiceByName() throws Exception { RangerService rangerService = rangerService(); String name = rangerService.getName(); Mockito.when(serviceREST.getServiceByName(name)).thenReturn(rangerService); Mockito.doNothing().when(serviceREST).deleteService(rangerService.getId()); publicAPIsv2.deleteServiceByName(name); Mockito.verify(serviceREST).deleteService(rangerService.getId()); Mockito.verify(serviceREST).getServiceByName(name); } @Test public void test17getPolicy() throws Exception { RangerPolicy rangerPolicy = rangerPolicy(); Mockito.when(serviceREST.getPolicy(rangerPolicy.getId())).thenReturn(rangerPolicy); RangerPolicy dbRangerPolicy = publicAPIsv2.getPolicy(Id); Assert.assertNotNull(dbRangerPolicy); Assert.assertEquals(dbRangerPolicy, rangerPolicy); Assert.assertEquals(dbRangerPolicy.getId(), rangerPolicy.getId()); Assert.assertEquals(dbRangerPolicy.getName(), rangerPolicy.getName()); Mockito.verify(serviceREST).getPolicy(Id); } @Test public void test18getPolicyByName() throws Exception { HttpServletRequest request = Mockito.mock(HttpServletRequest.class); RangerPolicy rangerPolicy = rangerPolicy(); RangerService rangerService = rangerService(); String serviceName = rangerService.getName(); String policyName = rangerPolicy.getName(); List<RangerPolicy> policies = new ArrayList<RangerPolicy>(); policies.add(rangerPolicy); Mockito.when(serviceREST.getPolicies((SearchFilter) Mockito.any())).thenReturn(policies); RangerPolicy dbRangerPolicy = publicAPIsv2.getPolicyByName(serviceName, policyName, request); Assert.assertNotNull(dbRangerPolicy); Assert.assertEquals(dbRangerPolicy, rangerPolicy); Assert.assertEquals(dbRangerPolicy.getId(), rangerPolicy.getId()); Assert.assertEquals(dbRangerPolicy.getName(), rangerPolicy.getName()); Mockito.verify(serviceREST).getPolicies((SearchFilter) Mockito.any()); } @Test public void test19searchPolicies() throws Exception { HttpServletRequest request = Mockito.mock(HttpServletRequest.class); List<RangerPolicy> policiesList = new ArrayList<RangerPolicy>(); RangerService service = rangerService(); String serviceName = service.getName(); RangerPolicy rangerPolicy = rangerPolicy(); policiesList.add(rangerPolicy); RangerPolicyList policyList = new RangerPolicyList(policiesList); Mockito.when(serviceREST.getServicePoliciesByName(serviceName, request)).thenReturn(policyList); List<RangerPolicy> dbRangerPolicyList = publicAPIsv2.searchPolicies(serviceName, request); Assert.assertNotNull(dbRangerPolicyList); Assert.assertEquals(dbRangerPolicyList.size(), policiesList.size()); Mockito.verify(serviceREST).getServicePoliciesByName(serviceName, request); } @Test public void test20createPolicy() throws Exception { HttpServletRequest request = Mockito.mock(HttpServletRequest.class); RangerPolicy rangerPolicy = rangerPolicy(); Mockito.when(serviceREST.createPolicy(rangerPolicy, request)).thenReturn(rangerPolicy); RangerPolicy dbRangerPolicy = publicAPIsv2.createPolicy(rangerPolicy, request); Assert.assertNotNull(dbRangerPolicy); Assert.assertEquals(dbRangerPolicy, rangerPolicy); Assert.assertEquals(dbRangerPolicy.getId(), rangerPolicy.getId()); Assert.assertEquals(dbRangerPolicy.getName(), rangerPolicy.getName()); Mockito.verify(serviceREST).createPolicy(rangerPolicy, request); } @Test public void test21applyPolicy() throws Exception { HttpServletRequest request = Mockito.mock(HttpServletRequest.class); RangerPolicy rangerPolicy = rangerPolicy(); Mockito.when(serviceREST.applyPolicy(rangerPolicy, request)).thenReturn(rangerPolicy); RangerPolicy dbRangerPolicy = publicAPIsv2.applyPolicy(rangerPolicy, request); Assert.assertNotNull(dbRangerPolicy); Assert.assertEquals(dbRangerPolicy, rangerPolicy); Assert.assertEquals(dbRangerPolicy.getId(), rangerPolicy.getId()); Assert.assertEquals(dbRangerPolicy.getName(), rangerPolicy.getName()); Mockito.verify(serviceREST).applyPolicy(rangerPolicy, request); } @Test public void test22updatePolicy() throws Exception { RangerPolicy rangerPolicy = rangerPolicy(); Mockito.when(serviceREST.updatePolicy(rangerPolicy)).thenReturn(rangerPolicy); RangerPolicy dbRangerPolicy = publicAPIsv2.updatePolicy(rangerPolicy, Id); Assert.assertNotNull(dbRangerPolicy); Assert.assertEquals(dbRangerPolicy, rangerPolicy); Assert.assertEquals(dbRangerPolicy.getId(), rangerPolicy.getId()); Assert.assertEquals(dbRangerPolicy.getName(), rangerPolicy.getName()); Mockito.verify(serviceREST).updatePolicy(rangerPolicy); } @Test public void test23updatePolicyByName() throws Exception { HttpServletRequest request = Mockito.mock(HttpServletRequest.class); RangerPolicy rangerPolicy = rangerPolicy(); String policyName = rangerPolicy.getName(); RangerService rangerService = rangerService(); String serviceName = rangerService.getName(); List<RangerPolicy> policies = new ArrayList<RangerPolicy>(); policies.add(rangerPolicy); Mockito.when(serviceREST.getPolicies((SearchFilter) Mockito.any())).thenReturn(policies); Mockito.when(serviceREST.updatePolicy(rangerPolicy)).thenReturn(rangerPolicy); RangerPolicy dbRangerPolicy = publicAPIsv2.updatePolicyByName(rangerPolicy, serviceName, policyName, request); Assert.assertNotNull(dbRangerPolicy); Assert.assertEquals(dbRangerPolicy, rangerPolicy); Assert.assertEquals(dbRangerPolicy.getId(), rangerPolicy.getId()); Assert.assertEquals(dbRangerPolicy.getName(), rangerPolicy.getName()); Mockito.verify(serviceREST).updatePolicy(rangerPolicy); Mockito.verify(serviceREST).getPolicies((SearchFilter) Mockito.any()); } @Test public void test24deletePolicy() throws Exception { Mockito.doNothing().when(serviceREST).deletePolicy(Id); publicAPIsv2.deletePolicy(Id); Mockito.verify(serviceREST).deletePolicy(Id); } @Test public void test25deletePolicyByName() throws Exception { HttpServletRequest request = Mockito.mock(HttpServletRequest.class); RangerPolicy rangerPolicy = rangerPolicy(); String policyName = rangerPolicy.getName(); RangerService rangerService = rangerService(); String serviceName = rangerService.getName(); List<RangerPolicy> policies = new ArrayList<RangerPolicy>(); policies.add(rangerPolicy); Mockito.when(serviceREST.getPolicies((SearchFilter) Mockito.any())).thenReturn(policies); Mockito.doNothing().when(serviceREST).deletePolicy(Id); publicAPIsv2.deletePolicyByName(serviceName, policyName, request); Mockito.verify(serviceREST).getPolicies((SearchFilter) Mockito.any()); Mockito.verify(serviceREST).deletePolicy(Id); } @Test public void test26getPolicies() throws Exception { HttpServletRequest request = Mockito.mock(HttpServletRequest.class); RangerPolicyList policyList = Mockito.mock(RangerPolicyList.class); List<RangerPolicy> rangerPolicies = new ArrayList<RangerPolicy>(); RangerPolicy rangerpolicy1 = rangerPolicy(); RangerPolicy rangerpolicy2 = rangerPolicy1(); rangerPolicies.add(rangerpolicy1); rangerPolicies.add(rangerpolicy2); Mockito.when(serviceREST.getPolicies(request)).thenReturn(policyList); Mockito.when(policyList.getPolicies()).thenReturn(rangerPolicies); List<RangerPolicy> dbRangerPolicies = publicAPIsv2.getPolicies(request); Assert.assertNotNull(dbRangerPolicies); Assert.assertEquals(dbRangerPolicies.size(), rangerPolicies.size()); Mockito.verify(serviceREST).getPolicies(request); } }