You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by ve...@apache.org on 2015/04/09 20:49:40 UTC

[2/5] incubator-ranger git commit: RANGER-203 : Add unit test cases for Pluggable Service model

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/376d3249/security-admin/src/test/java/org/apache/ranger/service/TestRangerServiceDefService.java
----------------------------------------------------------------------
diff --git a/security-admin/src/test/java/org/apache/ranger/service/TestRangerServiceDefService.java b/security-admin/src/test/java/org/apache/ranger/service/TestRangerServiceDefService.java
new file mode 100644
index 0000000..94680c3
--- /dev/null
+++ b/security-admin/src/test/java/org/apache/ranger/service/TestRangerServiceDefService.java
@@ -0,0 +1,792 @@
+/*
+ * 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.service;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import org.apache.ranger.common.ContextUtil;
+import org.apache.ranger.common.JSONUtil;
+import org.apache.ranger.common.StringUtil;
+import org.apache.ranger.common.UserSessionBase;
+import org.apache.ranger.db.RangerDaoManager;
+import org.apache.ranger.db.XXAccessTypeDefDao;
+import org.apache.ranger.db.XXContextEnricherDefDao;
+import org.apache.ranger.db.XXEnumDefDao;
+import org.apache.ranger.db.XXEnumElementDefDao;
+import org.apache.ranger.db.XXPolicyConditionDefDao;
+import org.apache.ranger.db.XXPortalUserDao;
+import org.apache.ranger.db.XXResourceDefDao;
+import org.apache.ranger.db.XXServiceConfigDefDao;
+
+import org.apache.ranger.db.XXServiceDefDao;
+import org.apache.ranger.entity.XXAccessTypeDef;
+import org.apache.ranger.entity.XXContextEnricherDef;
+import org.apache.ranger.entity.XXEnumDef;
+import org.apache.ranger.entity.XXEnumElementDef;
+import org.apache.ranger.entity.XXPolicy;
+import org.apache.ranger.entity.XXPolicyConditionDef;
+import org.apache.ranger.entity.XXPolicyItem;
+import org.apache.ranger.entity.XXPolicyItemAccess;
+import org.apache.ranger.entity.XXPolicyItemCondition;
+import org.apache.ranger.entity.XXPortalUser;
+import org.apache.ranger.entity.XXResourceDef;
+import org.apache.ranger.entity.XXServiceConfigDef;
+import org.apache.ranger.entity.XXServiceDef;
+
+import org.apache.ranger.plugin.model.RangerServiceDef;
+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.security.context.RangerContextHolder;
+import org.apache.ranger.security.context.RangerSecurityContext;
+import org.junit.Assert;
+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 TestRangerServiceDefService {
+
+	private static Long Id = 8L;
+
+	@InjectMocks
+	RangerServiceDefService serviceDefService = new RangerServiceDefService();
+
+	@Mock
+	RangerDaoManager daoManager;
+
+	@Mock
+	JSONUtil jsonUtil;
+
+	@Mock
+	RangerPolicyService policyService;
+
+	@Mock
+	StringUtil stringUtil;
+
+	@Mock
+	XUserService xUserService;
+
+	@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);
+	}
+
+	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.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 XXServiceDef serviceDef() {
+		XXServiceDef xServiceDef = new XXServiceDef();
+		xServiceDef.setAddedByUserId(Id);
+		xServiceDef.setCreateTime(new Date());
+		xServiceDef.setDescription("HDFS Repository");
+		xServiceDef.setGuid("1427365526516_835_0");
+		xServiceDef.setId(Id);
+		xServiceDef.setVersion(Id);
+		xServiceDef.setUpdateTime(new Date());
+		xServiceDef.setUpdatedByUserId(Id);
+		xServiceDef.setImplclassname("RangerServiceHdfs");
+		xServiceDef.setLabel("HDFS Repository");
+		xServiceDef.setRbkeylabel(null);
+		xServiceDef.setRbkeydescription(null);
+		xServiceDef.setIsEnabled(true);
+
+		return xServiceDef;
+	}
+
+	private XXPolicy policy() {
+		XXPolicy xxPolicy = new XXPolicy();
+		xxPolicy.setId(Id);
+		xxPolicy.setName("HDFS_1-1-20150316062453");
+		xxPolicy.setAddedByUserId(Id);
+		xxPolicy.setCreateTime(new Date());
+		xxPolicy.setDescription("test");
+		xxPolicy.setIsAuditEnabled(false);
+		xxPolicy.setIsEnabled(false);
+		xxPolicy.setService(1L);
+		xxPolicy.setUpdatedByUserId(Id);
+		xxPolicy.setUpdateTime(new Date());
+		return xxPolicy;
+	}
+
+	@Test
+	public void test1ValidateForCreate() {
+		RangerServiceDef rangerServiceDef = rangerServiceDef();
+		serviceDefService.validateForCreate(rangerServiceDef);
+		Assert.assertNotNull(rangerServiceDef);
+	}
+
+	@Test
+	public void test2ValidateForUpdate() {
+		RangerServiceDef rangerServiceDef = rangerServiceDef();
+		XXServiceDef serviceDef = serviceDef();
+		serviceDefService.validateForUpdate(rangerServiceDef, serviceDef);
+
+		Assert.assertNotNull(rangerServiceDef);
+	}
+
+	@Test
+	public void test3PopulateViewBean() {
+
+		XXPortalUserDao xPortalUserDao = Mockito.mock(XXPortalUserDao.class);
+		XXResourceDefDao xResourceDefDao = Mockito.mock(XXResourceDefDao.class);
+		XXAccessTypeDefDao xAccessTypeDefDao = Mockito
+				.mock(XXAccessTypeDefDao.class);
+		XXAccessTypeDef xAccessTypeDef = Mockito.mock(XXAccessTypeDef.class);
+		XXPolicyConditionDefDao xPolicyConditionDefDao = Mockito
+				.mock(XXPolicyConditionDefDao.class);
+		XXServiceConfigDefDao xServiceConfigDefDao = Mockito
+				.mock(XXServiceConfigDefDao.class);
+		XXContextEnricherDefDao xContextEnricherDefDao = Mockito
+				.mock(XXContextEnricherDefDao.class);
+		XXEnumDefDao xEnumDefDao = Mockito.mock(XXEnumDefDao.class);
+		XXEnumElementDefDao xEnumElementDefDao = Mockito
+				.mock(XXEnumElementDefDao.class);
+
+		XXServiceDef serviceDef = serviceDef();
+		XXPolicy policy = policy();
+
+		String name = "fdfdfds";
+		XXPortalUser tUser = new XXPortalUser();
+		tUser.setAddedByUserId(Id);
+		tUser.setCreateTime(new Date());
+		tUser.setEmailAddress("test@gmail.com");
+		tUser.setFirstName(name);
+		tUser.setId(Id);
+		tUser.setLastName(name);
+
+		List<XXResourceDef> resDefList = new ArrayList<XXResourceDef>();
+		XXResourceDef resourceDef = new XXResourceDef();
+		resourceDef.setAddedByUserId(Id);
+		resourceDef.setCreateTime(new Date());
+		resourceDef.setDefid(Id);
+		resourceDef.setDescription("test");
+		resourceDef.setId(Id);
+		resDefList.add(resourceDef);
+
+		List<XXPolicyItem> xPolicyItemList = new ArrayList<XXPolicyItem>();
+		XXPolicyItem xPolicyItem = new XXPolicyItem();
+		xPolicyItem.setDelegateAdmin(false);
+		xPolicyItem.setAddedByUserId(null);
+		xPolicyItem.setCreateTime(new Date());
+		xPolicyItem.setGUID(null);
+		xPolicyItem.setId(Id);
+		xPolicyItem.setOrder(null);
+		xPolicyItem.setPolicyId(Id);
+		xPolicyItem.setUpdatedByUserId(null);
+		xPolicyItem.setUpdateTime(new Date());
+		xPolicyItemList.add(xPolicyItem);
+
+		List<XXPolicyItemAccess> policyItemAccessList = new ArrayList<XXPolicyItemAccess>();
+		XXPolicyItemAccess policyItemAccess = new XXPolicyItemAccess();
+		policyItemAccess.setAddedByUserId(Id);
+		policyItemAccess.setCreateTime(new Date());
+		policyItemAccess.setPolicyitemid(Id);
+		policyItemAccess.setId(Id);
+		policyItemAccess.setOrder(1);
+		policyItemAccess.setUpdatedByUserId(Id);
+		policyItemAccess.setUpdateTime(new Date());
+		policyItemAccessList.add(policyItemAccess);
+
+		List<XXPolicyConditionDef> xConditionDefList = new ArrayList<XXPolicyConditionDef>();
+		XXPolicyConditionDef policyConditionDefObj = new XXPolicyConditionDef();
+		policyConditionDefObj.setAddedByUserId(Id);
+		policyConditionDefObj.setCreateTime(new Date());
+		policyConditionDefObj.setDefid(Id);
+		policyConditionDefObj.setDescription("policy conditio");
+		policyConditionDefObj.setId(Id);
+		policyConditionDefObj.setName(name);
+		policyConditionDefObj.setOrder(1);
+		policyConditionDefObj.setLabel("label");
+		xConditionDefList.add(policyConditionDefObj);
+
+		List<XXPolicyItemCondition> policyItemConditionList = new ArrayList<XXPolicyItemCondition>();
+		XXPolicyItemCondition policyItemCondition = new XXPolicyItemCondition();
+		policyItemCondition.setAddedByUserId(Id);
+		policyItemCondition.setCreateTime(new Date());
+		policyItemCondition.setType(1L);
+		policyItemCondition.setId(Id);
+		policyItemCondition.setOrder(1);
+		policyItemCondition.setPolicyItemId(Id);
+		policyItemCondition.setUpdatedByUserId(Id);
+		policyItemCondition.setUpdateTime(new Date());
+		policyItemConditionList.add(policyItemCondition);
+
+		List<XXServiceConfigDef> serviceConfigDefList = new ArrayList<XXServiceConfigDef>();
+		XXServiceConfigDef serviceConfigDefObj = new XXServiceConfigDef();
+		serviceConfigDefObj.setAddedByUserId(Id);
+		serviceConfigDefObj.setCreateTime(new Date());
+		serviceConfigDefObj.setDefaultvalue("simple");
+		serviceConfigDefObj.setDescription("service config");
+		serviceConfigDefObj.setId(Id);
+		serviceConfigDefObj.setIsMandatory(true);
+		serviceConfigDefObj.setName(name);
+		serviceConfigDefObj.setLabel("username");
+		serviceConfigDefObj.setRbkeydescription(null);
+		serviceConfigDefObj.setRbkeylabel(null);
+		serviceConfigDefObj.setRbKeyValidationMessage(null);
+		serviceConfigDefObj.setType("password");
+		serviceConfigDefList.add(serviceConfigDefObj);
+
+		List<XXContextEnricherDef> contextEnrichersList = new ArrayList<XXContextEnricherDef>();
+		XXContextEnricherDef contextEnricherDefObj = new XXContextEnricherDef();
+		contextEnricherDefObj.setAddedByUserId(Id);
+		contextEnricherDefObj.setCreateTime(new Date());
+		contextEnricherDefObj.setDefid(Id);
+		contextEnricherDefObj.setEnricher("RangerCountryProvider");
+		contextEnricherDefObj.setName("country-provider");
+		contextEnricherDefObj.setId(Id);
+		contextEnricherDefObj.setOrder(0);
+		contextEnricherDefObj.setUpdatedByUserId(Id);
+		contextEnricherDefObj.setUpdateTime(new Date());
+		contextEnrichersList.add(contextEnricherDefObj);
+
+		List<XXEnumDef> xEnumList = new ArrayList<XXEnumDef>();
+		XXEnumDef enumDefObj = new XXEnumDef();
+		enumDefObj.setAddedByUserId(Id);
+		enumDefObj.setCreateTime(new Date());
+		enumDefObj.setDefaultindex(null);
+		enumDefObj.setDefid(Id);
+		enumDefObj.setId(Id);
+		enumDefObj.setName(name);
+		enumDefObj.setUpdatedByUserId(Id);
+		enumDefObj.setUpdateTime(new Date());
+		xEnumList.add(enumDefObj);
+
+		List<XXEnumElementDef> xElementsList = new ArrayList<XXEnumElementDef>();
+		XXEnumElementDef enumElementDefObj = new XXEnumElementDef();
+		enumElementDefObj.setAddedByUserId(Id);
+		enumElementDefObj.setCreateTime(new Date());
+		enumElementDefObj.setEnumdefid(Id);
+		enumElementDefObj.setId(Id);
+		enumElementDefObj.setLabel("Authentication");
+		enumElementDefObj.setName("authentication");
+		enumElementDefObj.setUpdateTime(new Date());
+		enumElementDefObj.setUpdatedByUserId(Id);
+		enumElementDefObj.setRbkeylabel(null);
+		enumElementDefObj.setOrder(0);
+		xElementsList.add(enumElementDefObj);
+
+		Mockito.when(daoManager.getXXPortalUser()).thenReturn(xPortalUserDao);
+		Mockito.when(xPortalUserDao.getById(Id)).thenReturn(tUser);
+
+		Mockito.when(daoManager.getXXServiceConfigDef()).thenReturn(
+				xServiceConfigDefDao);
+		Mockito.when(
+				xServiceConfigDefDao.findByServiceDefId(serviceDef.getId()))
+				.thenReturn(serviceConfigDefList);
+
+		Mockito.when(daoManager.getXXResourceDef()).thenReturn(xResourceDefDao);
+		Mockito.when(xResourceDefDao.findByPolicyId(policy.getId()))
+				.thenReturn(resDefList);
+
+		Mockito.when(daoManager.getXXAccessTypeDef()).thenReturn(
+				xAccessTypeDefDao);
+		Mockito.when(xAccessTypeDefDao.getById(policyItemAccess.getType()))
+				.thenReturn(xAccessTypeDef);
+
+		Mockito.when(daoManager.getXXPolicyConditionDef()).thenReturn(
+				xPolicyConditionDefDao);
+		Mockito.when(
+				xPolicyConditionDefDao.findByPolicyItemId(xPolicyItem.getId()))
+				.thenReturn(xConditionDefList);
+
+		Mockito.when(daoManager.getXXContextEnricherDef()).thenReturn(
+				xContextEnricherDefDao);
+		Mockito.when(
+				xContextEnricherDefDao.findByServiceDefId(serviceDef.getId()))
+				.thenReturn(contextEnrichersList);
+
+		Mockito.when(daoManager.getXXEnumDef()).thenReturn(xEnumDefDao);
+		Mockito.when(xEnumDefDao.findByServiceDefId(serviceDef.getId()))
+				.thenReturn(xEnumList);
+
+		Mockito.when(daoManager.getXXEnumElementDef()).thenReturn(
+				xEnumElementDefDao);
+		Mockito.when(
+				xEnumElementDefDao.findByEnumDefId(enumElementDefObj.getId()))
+				.thenReturn(xElementsList);
+
+		RangerServiceDef dbRangerServiceDef = serviceDefService
+				.populateViewBean(serviceDef);
+		Assert.assertNotNull(dbRangerServiceDef);
+		Assert.assertEquals(dbRangerServiceDef.getId(), serviceDef.getId());
+		Assert.assertEquals(dbRangerServiceDef.getName(), serviceDef.getName());
+		Assert.assertEquals(dbRangerServiceDef.getDescription(),
+				serviceDef.getDescription());
+		Assert.assertEquals(dbRangerServiceDef.getGuid(), serviceDef.getGuid());
+		Assert.assertEquals(dbRangerServiceDef.getVersion(),
+				serviceDef.getVersion());
+		Mockito.verify(daoManager).getXXServiceConfigDef();
+		Mockito.verify(daoManager).getXXResourceDef();
+		Mockito.verify(daoManager).getXXAccessTypeDef();
+		Mockito.verify(daoManager).getXXPolicyConditionDef();
+		Mockito.verify(daoManager).getXXContextEnricherDef();
+		Mockito.verify(daoManager).getXXEnumDef();
+		Mockito.verify(daoManager).getXXEnumElementDef();
+	}
+
+	@Test
+	public void test4getAllServiceDefs() {
+		XXServiceDefDao xServiceDefDao = Mockito.mock(XXServiceDefDao.class);
+		XXPortalUserDao xPortalUserDao = Mockito.mock(XXPortalUserDao.class);
+
+		XXResourceDefDao xResourceDefDao = Mockito.mock(XXResourceDefDao.class);
+		XXAccessTypeDefDao xAccessTypeDefDao = Mockito
+				.mock(XXAccessTypeDefDao.class);
+		XXAccessTypeDef xAccessTypeDef = Mockito.mock(XXAccessTypeDef.class);
+		XXPolicyConditionDefDao xPolicyConditionDefDao = Mockito
+				.mock(XXPolicyConditionDefDao.class);
+		XXServiceConfigDefDao xServiceConfigDefDao = Mockito
+				.mock(XXServiceConfigDefDao.class);
+		XXContextEnricherDefDao xContextEnricherDefDao = Mockito
+				.mock(XXContextEnricherDefDao.class);
+		XXEnumDefDao xEnumDefDao = Mockito.mock(XXEnumDefDao.class);
+		XXEnumElementDefDao xEnumElementDefDao = Mockito
+				.mock(XXEnumElementDefDao.class);
+
+		List<XXServiceDef> xServiceDefList = new ArrayList<XXServiceDef>();
+		XXServiceDef serviceDef = new XXServiceDef();
+		serviceDef.setAddedByUserId(Id);
+		serviceDef.setCreateTime(new Date());
+		serviceDef.setDescription("HDFS Repository");
+		serviceDef.setGuid("1427365526516_835_0");
+		serviceDef.setId(Id);
+		serviceDef.setVersion(Id);
+		serviceDef.setUpdateTime(new Date());
+		serviceDef.setUpdatedByUserId(Id);
+		serviceDef.setImplclassname("RangerServiceHdfs");
+		serviceDef.setLabel("HDFS Repository");
+		serviceDef.setRbkeylabel(null);
+		serviceDef.setRbkeydescription(null);
+		serviceDef.setIsEnabled(true);
+		xServiceDefList.add(serviceDef);
+
+		XXPolicy policy = policy();
+
+		String name = "fdfdfds";
+		XXPortalUser tUser = new XXPortalUser();
+		tUser.setAddedByUserId(Id);
+		tUser.setCreateTime(new Date());
+		tUser.setEmailAddress("test@gmail.com");
+		tUser.setFirstName(name);
+		tUser.setId(Id);
+		tUser.setLastName(name);
+
+		List<XXResourceDef> resDefList = new ArrayList<XXResourceDef>();
+		XXResourceDef resourceDef = new XXResourceDef();
+		resourceDef.setAddedByUserId(Id);
+		resourceDef.setCreateTime(new Date());
+		resourceDef.setDefid(Id);
+		resourceDef.setDescription("test");
+		resourceDef.setId(Id);
+		resDefList.add(resourceDef);
+
+		List<XXPolicyItem> xPolicyItemList = new ArrayList<XXPolicyItem>();
+		XXPolicyItem xPolicyItem = new XXPolicyItem();
+		xPolicyItem.setDelegateAdmin(false);
+		xPolicyItem.setAddedByUserId(null);
+		xPolicyItem.setCreateTime(new Date());
+		xPolicyItem.setGUID(null);
+		xPolicyItem.setId(Id);
+		xPolicyItem.setOrder(null);
+		xPolicyItem.setPolicyId(Id);
+		xPolicyItem.setUpdatedByUserId(null);
+		xPolicyItem.setUpdateTime(new Date());
+		xPolicyItemList.add(xPolicyItem);
+
+		List<XXPolicyItemAccess> policyItemAccessList = new ArrayList<XXPolicyItemAccess>();
+		XXPolicyItemAccess policyItemAccess = new XXPolicyItemAccess();
+		policyItemAccess.setAddedByUserId(Id);
+		policyItemAccess.setCreateTime(new Date());
+		policyItemAccess.setPolicyitemid(Id);
+		policyItemAccess.setId(Id);
+		policyItemAccess.setOrder(1);
+		policyItemAccess.setUpdatedByUserId(Id);
+		policyItemAccess.setUpdateTime(new Date());
+		policyItemAccessList.add(policyItemAccess);
+
+		List<XXPolicyConditionDef> xConditionDefList = new ArrayList<XXPolicyConditionDef>();
+		XXPolicyConditionDef policyConditionDefObj = new XXPolicyConditionDef();
+		policyConditionDefObj.setAddedByUserId(Id);
+		policyConditionDefObj.setCreateTime(new Date());
+		policyConditionDefObj.setDefid(Id);
+		policyConditionDefObj.setDescription("policy conditio");
+		policyConditionDefObj.setId(Id);
+		policyConditionDefObj.setName(name);
+		policyConditionDefObj.setOrder(1);
+		policyConditionDefObj.setLabel("label");
+		xConditionDefList.add(policyConditionDefObj);
+
+		List<XXPolicyItemCondition> policyItemConditionList = new ArrayList<XXPolicyItemCondition>();
+		XXPolicyItemCondition policyItemCondition = new XXPolicyItemCondition();
+		policyItemCondition.setAddedByUserId(Id);
+		policyItemCondition.setCreateTime(new Date());
+		policyItemCondition.setType(1L);
+		policyItemCondition.setId(Id);
+		policyItemCondition.setOrder(1);
+		policyItemCondition.setPolicyItemId(Id);
+		policyItemCondition.setUpdatedByUserId(Id);
+		policyItemCondition.setUpdateTime(new Date());
+		policyItemConditionList.add(policyItemCondition);
+
+		List<XXServiceConfigDef> serviceConfigDefList = new ArrayList<XXServiceConfigDef>();
+		XXServiceConfigDef serviceConfigDefObj = new XXServiceConfigDef();
+		serviceConfigDefObj.setAddedByUserId(Id);
+		serviceConfigDefObj.setCreateTime(new Date());
+		serviceConfigDefObj.setDefaultvalue("simple");
+		serviceConfigDefObj.setDescription("service config");
+		serviceConfigDefObj.setId(Id);
+		serviceConfigDefObj.setIsMandatory(true);
+		serviceConfigDefObj.setName(name);
+		serviceConfigDefObj.setLabel("username");
+		serviceConfigDefObj.setRbkeydescription(null);
+		serviceConfigDefObj.setRbkeylabel(null);
+		serviceConfigDefObj.setRbKeyValidationMessage(null);
+		serviceConfigDefObj.setType("password");
+		serviceConfigDefList.add(serviceConfigDefObj);
+
+		List<XXContextEnricherDef> contextEnrichersList = new ArrayList<XXContextEnricherDef>();
+		XXContextEnricherDef contextEnricherDefObj = new XXContextEnricherDef();
+		contextEnricherDefObj.setAddedByUserId(Id);
+		contextEnricherDefObj.setCreateTime(new Date());
+		contextEnricherDefObj.setDefid(Id);
+		contextEnricherDefObj.setEnricher("RangerCountryProvider");
+		contextEnricherDefObj.setName("country-provider");
+		contextEnricherDefObj.setId(Id);
+		contextEnricherDefObj.setOrder(0);
+		contextEnricherDefObj.setUpdatedByUserId(Id);
+		contextEnricherDefObj.setUpdateTime(new Date());
+		contextEnrichersList.add(contextEnricherDefObj);
+
+		List<XXEnumDef> xEnumList = new ArrayList<XXEnumDef>();
+		XXEnumDef enumDefObj = new XXEnumDef();
+		enumDefObj.setAddedByUserId(Id);
+		enumDefObj.setCreateTime(new Date());
+		enumDefObj.setDefaultindex(null);
+		enumDefObj.setDefid(Id);
+		enumDefObj.setId(Id);
+		enumDefObj.setName(name);
+		enumDefObj.setUpdatedByUserId(Id);
+		enumDefObj.setUpdateTime(new Date());
+		xEnumList.add(enumDefObj);
+
+		List<XXEnumElementDef> xElementsList = new ArrayList<XXEnumElementDef>();
+		XXEnumElementDef enumElementDefObj = new XXEnumElementDef();
+		enumElementDefObj.setAddedByUserId(Id);
+		enumElementDefObj.setCreateTime(new Date());
+		enumElementDefObj.setEnumdefid(Id);
+		enumElementDefObj.setId(Id);
+		enumElementDefObj.setLabel("Authentication");
+		enumElementDefObj.setName("authentication");
+		enumElementDefObj.setUpdateTime(new Date());
+		enumElementDefObj.setUpdatedByUserId(Id);
+		enumElementDefObj.setRbkeylabel(null);
+		enumElementDefObj.setOrder(0);
+		xElementsList.add(enumElementDefObj);
+
+		Mockito.when(daoManager.getXXServiceDef()).thenReturn(xServiceDefDao);
+		Mockito.when(xServiceDefDao.getAll()).thenReturn(xServiceDefList);
+
+		Mockito.when(daoManager.getXXPortalUser()).thenReturn(xPortalUserDao);
+		Mockito.when(xPortalUserDao.getById(Id)).thenReturn(tUser);
+
+		Mockito.when(daoManager.getXXServiceConfigDef()).thenReturn(
+				xServiceConfigDefDao);
+		Mockito.when(
+				xServiceConfigDefDao.findByServiceDefId(serviceDef.getId()))
+				.thenReturn(serviceConfigDefList);
+
+		Mockito.when(daoManager.getXXResourceDef()).thenReturn(xResourceDefDao);
+		Mockito.when(xResourceDefDao.findByPolicyId(policy.getId()))
+				.thenReturn(resDefList);
+
+		Mockito.when(daoManager.getXXAccessTypeDef()).thenReturn(
+				xAccessTypeDefDao);
+		Mockito.when(xAccessTypeDefDao.getById(policyItemAccess.getType()))
+				.thenReturn(xAccessTypeDef);
+
+		Mockito.when(daoManager.getXXPolicyConditionDef()).thenReturn(
+				xPolicyConditionDefDao);
+		Mockito.when(
+				xPolicyConditionDefDao.findByPolicyItemId(xPolicyItem.getId()))
+				.thenReturn(xConditionDefList);
+
+		Mockito.when(daoManager.getXXContextEnricherDef()).thenReturn(
+				xContextEnricherDefDao);
+		Mockito.when(
+				xContextEnricherDefDao.findByServiceDefId(serviceDef.getId()))
+				.thenReturn(contextEnrichersList);
+
+		Mockito.when(daoManager.getXXEnumDef()).thenReturn(xEnumDefDao);
+		Mockito.when(xEnumDefDao.findByServiceDefId(serviceDef.getId()))
+				.thenReturn(xEnumList);
+
+		Mockito.when(daoManager.getXXEnumElementDef()).thenReturn(
+				xEnumElementDefDao);
+		Mockito.when(
+				xEnumElementDefDao.findByEnumDefId(enumElementDefObj.getId()))
+				.thenReturn(xElementsList);
+
+		List<RangerServiceDef> dbRangerServiceDef = serviceDefService
+				.getAllServiceDefs();
+		Assert.assertNotNull(dbRangerServiceDef);
+		Mockito.verify(daoManager).getXXServiceConfigDef();
+		Mockito.verify(daoManager).getXXResourceDef();
+		Mockito.verify(daoManager).getXXAccessTypeDef();
+		Mockito.verify(daoManager).getXXPolicyConditionDef();
+		Mockito.verify(daoManager).getXXContextEnricherDef();
+		Mockito.verify(daoManager).getXXEnumDef();
+		Mockito.verify(daoManager).getXXEnumElementDef();
+	}
+
+	@Test
+	public void test5getPopulatedViewObject() {
+		XXPortalUserDao xPortalUserDao = Mockito.mock(XXPortalUserDao.class);
+		XXServiceConfigDefDao xServiceConfigDefDao = Mockito
+				.mock(XXServiceConfigDefDao.class);
+
+		XXResourceDefDao xResourceDefDao = Mockito.mock(XXResourceDefDao.class);
+		XXAccessTypeDefDao xAccessTypeDefDao = Mockito
+				.mock(XXAccessTypeDefDao.class);
+		XXAccessTypeDef xAccessTypeDef = Mockito.mock(XXAccessTypeDef.class);
+		XXPolicyConditionDefDao xPolicyConditionDefDao = Mockito
+				.mock(XXPolicyConditionDefDao.class);
+		XXContextEnricherDefDao xContextEnricherDefDao = Mockito
+				.mock(XXContextEnricherDefDao.class);
+		XXEnumDefDao xEnumDefDao = Mockito.mock(XXEnumDefDao.class);
+		XXEnumElementDefDao xEnumElementDefDao = Mockito
+				.mock(XXEnumElementDefDao.class);
+
+		XXServiceDef serviceDef = serviceDef();
+		XXPolicy policy = policy();
+		String name = "fdfdfds";
+		XXPortalUser tUser = new XXPortalUser();
+		tUser.setAddedByUserId(Id);
+		tUser.setCreateTime(new Date());
+		tUser.setEmailAddress("test@gmail.com");
+		tUser.setFirstName(name);
+		tUser.setId(Id);
+		tUser.setLastName(name);
+
+		List<XXServiceConfigDef> serviceConfigDefList = new ArrayList<XXServiceConfigDef>();
+		XXServiceConfigDef serviceConfigDefObj = new XXServiceConfigDef();
+		serviceConfigDefObj.setAddedByUserId(Id);
+		serviceConfigDefObj.setCreateTime(new Date());
+		serviceConfigDefObj.setDefaultvalue("simple");
+		serviceConfigDefObj.setDescription("service config");
+		serviceConfigDefObj.setId(Id);
+		serviceConfigDefObj.setIsMandatory(true);
+		serviceConfigDefObj.setName(name);
+		serviceConfigDefObj.setLabel("username");
+		serviceConfigDefObj.setRbkeydescription(null);
+		serviceConfigDefObj.setRbkeylabel(null);
+		serviceConfigDefObj.setRbKeyValidationMessage(null);
+		serviceConfigDefObj.setType("password");
+		serviceConfigDefList.add(serviceConfigDefObj);
+
+		List<XXResourceDef> resDefList = new ArrayList<XXResourceDef>();
+		XXResourceDef resourceDef = new XXResourceDef();
+		resourceDef.setAddedByUserId(Id);
+		resourceDef.setCreateTime(new Date());
+		resourceDef.setDefid(Id);
+		resourceDef.setDescription("test");
+		resourceDef.setId(Id);
+		resDefList.add(resourceDef);
+
+		List<XXPolicyItem> xPolicyItemList = new ArrayList<XXPolicyItem>();
+		XXPolicyItem xPolicyItem = new XXPolicyItem();
+		xPolicyItem.setDelegateAdmin(false);
+		xPolicyItem.setAddedByUserId(null);
+		xPolicyItem.setCreateTime(new Date());
+		xPolicyItem.setGUID(null);
+		xPolicyItem.setId(Id);
+		xPolicyItem.setOrder(null);
+		xPolicyItem.setPolicyId(Id);
+		xPolicyItem.setUpdatedByUserId(null);
+		xPolicyItem.setUpdateTime(new Date());
+		xPolicyItemList.add(xPolicyItem);
+
+		List<XXPolicyItemAccess> policyItemAccessList = new ArrayList<XXPolicyItemAccess>();
+		XXPolicyItemAccess policyItemAccess = new XXPolicyItemAccess();
+		policyItemAccess.setAddedByUserId(Id);
+		policyItemAccess.setCreateTime(new Date());
+		policyItemAccess.setPolicyitemid(Id);
+		policyItemAccess.setId(Id);
+		policyItemAccess.setOrder(1);
+		policyItemAccess.setUpdatedByUserId(Id);
+		policyItemAccess.setUpdateTime(new Date());
+		policyItemAccessList.add(policyItemAccess);
+
+		List<XXPolicyConditionDef> xConditionDefList = new ArrayList<XXPolicyConditionDef>();
+		XXPolicyConditionDef policyConditionDefObj = new XXPolicyConditionDef();
+		policyConditionDefObj.setAddedByUserId(Id);
+		policyConditionDefObj.setCreateTime(new Date());
+		policyConditionDefObj.setDefid(Id);
+		policyConditionDefObj.setDescription("policy conditio");
+		policyConditionDefObj.setId(Id);
+		policyConditionDefObj.setName(name);
+		policyConditionDefObj.setOrder(1);
+		policyConditionDefObj.setLabel("label");
+		xConditionDefList.add(policyConditionDefObj);
+
+		List<XXPolicyItemCondition> policyItemConditionList = new ArrayList<XXPolicyItemCondition>();
+		XXPolicyItemCondition policyItemCondition = new XXPolicyItemCondition();
+		policyItemCondition.setAddedByUserId(Id);
+		policyItemCondition.setCreateTime(new Date());
+		policyItemCondition.setType(1L);
+		policyItemCondition.setId(Id);
+		policyItemCondition.setOrder(1);
+		policyItemCondition.setPolicyItemId(Id);
+		policyItemCondition.setUpdatedByUserId(Id);
+		policyItemCondition.setUpdateTime(new Date());
+		policyItemConditionList.add(policyItemCondition);
+
+		List<XXContextEnricherDef> contextEnrichersList = new ArrayList<XXContextEnricherDef>();
+		XXContextEnricherDef contextEnricherDefObj = new XXContextEnricherDef();
+		contextEnricherDefObj.setAddedByUserId(Id);
+		contextEnricherDefObj.setCreateTime(new Date());
+		contextEnricherDefObj.setDefid(Id);
+		contextEnricherDefObj.setEnricher("RangerCountryProvider");
+		contextEnricherDefObj.setName("country-provider");
+		contextEnricherDefObj.setId(Id);
+		contextEnricherDefObj.setOrder(0);
+		contextEnricherDefObj.setUpdatedByUserId(Id);
+		contextEnricherDefObj.setUpdateTime(new Date());
+		contextEnrichersList.add(contextEnricherDefObj);
+
+		List<XXEnumDef> xEnumList = new ArrayList<XXEnumDef>();
+		XXEnumDef enumDefObj = new XXEnumDef();
+		enumDefObj.setAddedByUserId(Id);
+		enumDefObj.setCreateTime(new Date());
+		enumDefObj.setDefaultindex(null);
+		enumDefObj.setDefid(Id);
+		enumDefObj.setId(Id);
+		enumDefObj.setName(name);
+		enumDefObj.setUpdatedByUserId(Id);
+		enumDefObj.setUpdateTime(new Date());
+		xEnumList.add(enumDefObj);
+
+		List<XXEnumElementDef> xElementsList = new ArrayList<XXEnumElementDef>();
+		XXEnumElementDef enumElementDefObj = new XXEnumElementDef();
+		enumElementDefObj.setAddedByUserId(Id);
+		enumElementDefObj.setCreateTime(new Date());
+		enumElementDefObj.setEnumdefid(Id);
+		enumElementDefObj.setId(Id);
+		enumElementDefObj.setLabel("Authentication");
+		enumElementDefObj.setName("authentication");
+		enumElementDefObj.setUpdateTime(new Date());
+		enumElementDefObj.setUpdatedByUserId(Id);
+		enumElementDefObj.setRbkeylabel(null);
+		enumElementDefObj.setOrder(0);
+		xElementsList.add(enumElementDefObj);
+
+		Mockito.when(daoManager.getXXPortalUser()).thenReturn(xPortalUserDao);
+		Mockito.when(xPortalUserDao.getById(Id)).thenReturn(tUser);
+
+		Mockito.when(daoManager.getXXServiceConfigDef()).thenReturn(
+				xServiceConfigDefDao);
+		Mockito.when(
+				xServiceConfigDefDao.findByServiceDefId(serviceDef.getId()))
+				.thenReturn(serviceConfigDefList);
+
+		Mockito.when(daoManager.getXXResourceDef()).thenReturn(xResourceDefDao);
+		Mockito.when(xResourceDefDao.findByPolicyId(policy.getId()))
+				.thenReturn(resDefList);
+
+		Mockito.when(daoManager.getXXAccessTypeDef()).thenReturn(
+				xAccessTypeDefDao);
+		Mockito.when(xAccessTypeDefDao.getById(policyItemAccess.getType()))
+				.thenReturn(xAccessTypeDef);
+
+		Mockito.when(daoManager.getXXPolicyConditionDef()).thenReturn(
+				xPolicyConditionDefDao);
+		Mockito.when(
+				xPolicyConditionDefDao.findByPolicyItemId(xPolicyItem.getId()))
+				.thenReturn(xConditionDefList);
+
+		Mockito.when(daoManager.getXXContextEnricherDef()).thenReturn(
+				xContextEnricherDefDao);
+		Mockito.when(
+				xContextEnricherDefDao.findByServiceDefId(serviceDef.getId()))
+				.thenReturn(contextEnrichersList);
+
+		Mockito.when(daoManager.getXXEnumDef()).thenReturn(xEnumDefDao);
+		Mockito.when(xEnumDefDao.findByServiceDefId(serviceDef.getId()))
+				.thenReturn(xEnumList);
+
+		Mockito.when(daoManager.getXXEnumElementDef()).thenReturn(
+				xEnumElementDefDao);
+		Mockito.when(
+				xEnumElementDefDao.findByEnumDefId(enumElementDefObj.getId()))
+				.thenReturn(xElementsList);
+
+		RangerServiceDef dbRangerServiceDef = serviceDefService
+				.getPopulatedViewObject(serviceDef);
+		Assert.assertNotNull(dbRangerServiceDef);
+		Mockito.verify(daoManager).getXXServiceConfigDef();
+		Mockito.verify(daoManager).getXXResourceDef();
+		Mockito.verify(daoManager).getXXAccessTypeDef();
+		Mockito.verify(daoManager).getXXPolicyConditionDef();
+		Mockito.verify(daoManager).getXXContextEnricherDef();
+		Mockito.verify(daoManager).getXXEnumDef();
+		Mockito.verify(daoManager).getXXEnumElementDef();
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/376d3249/security-admin/src/test/java/org/apache/ranger/service/TestRangerServiceDefServiceBase.java
----------------------------------------------------------------------
diff --git a/security-admin/src/test/java/org/apache/ranger/service/TestRangerServiceDefServiceBase.java b/security-admin/src/test/java/org/apache/ranger/service/TestRangerServiceDefServiceBase.java
new file mode 100644
index 0000000..db3d044
--- /dev/null
+++ b/security-admin/src/test/java/org/apache/ranger/service/TestRangerServiceDefServiceBase.java
@@ -0,0 +1,810 @@
+/*
+ * 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.service;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+import javax.persistence.EntityManager;
+import javax.ws.rs.WebApplicationException;
+import org.apache.ranger.biz.RangerBizUtil;
+import org.apache.ranger.common.ContextUtil;
+import org.apache.ranger.common.MessageEnums;
+import org.apache.ranger.common.RESTErrorUtil;
+import org.apache.ranger.common.RangerSearchUtil;
+import org.apache.ranger.common.SearchField;
+import org.apache.ranger.common.UserSessionBase;
+import org.apache.ranger.common.db.BaseDao;
+import org.apache.ranger.db.RangerDaoManager;
+import org.apache.ranger.db.XXAccessTypeDefGrantsDao;
+import org.apache.ranger.db.XXEnumElementDefDao;
+import org.apache.ranger.db.XXResourceDefDao;
+import org.apache.ranger.entity.XXAccessTypeDef;
+import org.apache.ranger.entity.XXContextEnricherDef;
+import org.apache.ranger.entity.XXDBBase;
+import org.apache.ranger.entity.XXEnumDef;
+import org.apache.ranger.entity.XXEnumElementDef;
+import org.apache.ranger.entity.XXPolicyConditionDef;
+import org.apache.ranger.entity.XXResourceDef;
+import org.apache.ranger.entity.XXServiceConfigDef;
+import org.apache.ranger.entity.XXServiceDef;
+import org.apache.ranger.plugin.model.RangerServiceDef;
+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.RangerEnumElementDef;
+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.view.RangerServiceDefList;
+import org.junit.Assert;
+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 TestRangerServiceDefServiceBase {
+
+	private static Long Id = 8L;
+
+	@InjectMocks
+	RangerServiceDefService rangerServiceDefService = new RangerServiceDefService();
+
+	@Mock
+	RangerDaoManager daoManager;
+
+	@Mock
+	RESTErrorUtil restErrorUtil;
+
+	@Mock
+	ContextUtil contextUtil;
+
+	@Mock
+	RangerAuditFields<XXDBBase> rangerAuditFields;
+
+	@Mock
+	RangerBizUtil rangerBizUtil;
+
+	@Mock
+	RangerSearchUtil searchUtil;
+
+	@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);
+	}
+
+	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.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 XXServiceDef serviceDef() {
+		XXServiceDef xServiceDef = new XXServiceDef();
+		xServiceDef.setAddedByUserId(Id);
+		xServiceDef.setCreateTime(new Date());
+		xServiceDef.setDescription("HDFS Repository");
+		xServiceDef.setGuid("0d047247-bafe-4cf8-8e9b-d5d377284b2d");
+		xServiceDef.setId(Id);
+		xServiceDef.setImplclassname("RangerServiceHdfs");
+		xServiceDef.setIsEnabled(true);
+		xServiceDef.setLabel("HDFS Repository");
+		xServiceDef.setName("hdfs");
+		xServiceDef.setRbkeydescription(null);
+		xServiceDef.setRbkeylabel(null);
+		xServiceDef.setUpdatedByUserId(Id);
+		xServiceDef.setUpdateTime(new Date());
+		xServiceDef.setVersion(Id);
+
+		return xServiceDef;
+	}
+
+	@Test
+	public void test1MapViewToEntityBean() {
+		RangerServiceDef rangerServiceDef = rangerServiceDef();
+		XXServiceDef serviceDef = serviceDef();
+		int operationContext = 1;
+
+		XXServiceDef dbServiceDef = rangerServiceDefService
+				.mapViewToEntityBean(rangerServiceDef, serviceDef,
+						operationContext);
+		Assert.assertNotNull(dbServiceDef);
+		Assert.assertEquals(dbServiceDef, serviceDef);
+		Assert.assertEquals(dbServiceDef.getDescription(),
+				serviceDef.getDescription());
+		Assert.assertEquals(dbServiceDef.getGuid(), serviceDef.getGuid());
+		Assert.assertEquals(dbServiceDef.getName(), serviceDef.getName());
+		Assert.assertEquals(dbServiceDef.getAddedByUserId(),
+				serviceDef.getAddedByUserId());
+		Assert.assertEquals(dbServiceDef.getId(), serviceDef.getId());
+		Assert.assertEquals(dbServiceDef.getVersion(), serviceDef.getVersion());
+		Assert.assertEquals(dbServiceDef.getImplclassname(),
+				serviceDef.getImplclassname());
+		Assert.assertEquals(dbServiceDef.getUpdatedByUserId(),
+				serviceDef.getUpdatedByUserId());
+	}
+
+	@Test
+	public void test2MapEntityToViewBean() {
+		RangerServiceDef rangerServiceDef = rangerServiceDef();
+		XXServiceDef serviceDef = serviceDef();
+
+		RangerServiceDef dbRangerServiceDef = rangerServiceDefService
+				.mapEntityToViewBean(rangerServiceDef, serviceDef);
+		Assert.assertNotNull(dbRangerServiceDef);
+		Assert.assertEquals(dbRangerServiceDef, rangerServiceDef);
+		Assert.assertEquals(dbRangerServiceDef.getDescription(),
+				rangerServiceDef.getDescription());
+		Assert.assertEquals(dbRangerServiceDef.getGuid(),
+				rangerServiceDef.getGuid());
+		Assert.assertEquals(dbRangerServiceDef.getName(),
+				rangerServiceDef.getName());
+		Assert.assertEquals(dbRangerServiceDef.getId(),
+				rangerServiceDef.getId());
+		Assert.assertEquals(dbRangerServiceDef.getVersion(),
+				rangerServiceDef.getVersion());
+
+	}
+
+	@Test
+	public void test3populateRangerServiceConfigDefToXX() {
+		RangerServiceConfigDef serviceConfigDefObj = new RangerServiceConfigDef();
+		XXServiceConfigDef configDefObj = new XXServiceConfigDef();
+		XXServiceDef serviceDefObj = new XXServiceDef();
+
+		Mockito.when(
+				(XXServiceConfigDef) rangerAuditFields.populateAuditFields(
+						configDefObj, serviceDefObj)).thenReturn(configDefObj);
+
+		XXServiceConfigDef dbServiceConfigDef = rangerServiceDefService
+				.populateRangerServiceConfigDefToXX(serviceConfigDefObj,
+						configDefObj, serviceDefObj, 1);
+		Assert.assertNotNull(dbServiceConfigDef);
+
+	}
+
+	@Test
+	public void test4populateXXToRangerServiceConfigDef() {
+		XXServiceConfigDef serviceConfigDefObj = new XXServiceConfigDef();
+
+		RangerServiceConfigDef dbserviceConfigDefObj = rangerServiceDefService
+				.populateXXToRangerServiceConfigDef(serviceConfigDefObj);
+		Assert.assertNotNull(dbserviceConfigDefObj);
+	}
+
+	@Test
+	public void test5populateRangerResourceDefToXX() {
+		RangerResourceDef rangerResourceDefObj = new RangerResourceDef();
+		rangerResourceDefObj.setDescription("HDFS Repository");
+		rangerResourceDefObj.setExcludesSupported(false);
+		rangerResourceDefObj.setLabel("HDFS Repository");
+		rangerResourceDefObj.setName("HDFs");
+
+		XXResourceDef resourceDefObj = new XXResourceDef();
+		resourceDefObj.setAddedByUserId(Id);
+		resourceDefObj.setCreateTime(new Date());
+		resourceDefObj.setDefid(Id);
+		resourceDefObj.setDescription("HDFS Repository");
+		resourceDefObj.setId(Id);
+
+		XXServiceDef serviceDefObj = new XXServiceDef();
+		serviceDefObj.setAddedByUserId(Id);
+		serviceDefObj.setCreateTime(new Date());
+		serviceDefObj.setDescription("HDFS Repository");
+		serviceDefObj.setGuid("1427365526516_835_0");
+		serviceDefObj.setId(Id);
+
+		Mockito.when(
+				(XXResourceDef) rangerAuditFields.populateAuditFields(
+						resourceDefObj, serviceDefObj)).thenReturn(
+				resourceDefObj);
+
+		XXResourceDef dbResourceDef = rangerServiceDefService
+				.populateRangerResourceDefToXX(rangerResourceDefObj,
+						resourceDefObj, serviceDefObj, 1);
+		Assert.assertNotNull(dbResourceDef);
+		Assert.assertEquals(dbResourceDef, resourceDefObj);
+		Assert.assertEquals(dbResourceDef.getId(), resourceDefObj.getId());
+		Assert.assertEquals(dbResourceDef.getLabel(), resourceDefObj.getLabel());
+		Assert.assertEquals(dbResourceDef.getName(), resourceDefObj.getName());
+		Assert.assertEquals(dbResourceDef.getDescription(),
+				resourceDefObj.getDescription());
+
+	}
+
+	@Test
+	public void test6populateXXToRangerResourceDef() {
+		XXResourceDefDao xResourceDefDao = Mockito.mock(XXResourceDefDao.class);
+		XXResourceDef resourceDefObj = new XXResourceDef();
+		resourceDefObj.setAddedByUserId(Id);
+		resourceDefObj.setCreateTime(new Date());
+		resourceDefObj.setDefid(Id);
+		resourceDefObj.setDescription("HDFS Repository");
+		resourceDefObj.setId(Id);
+
+		Mockito.when(daoManager.getXXResourceDef()).thenReturn(xResourceDefDao);
+		Mockito.when(xResourceDefDao.getById(resourceDefObj.getId()))
+				.thenReturn(resourceDefObj);
+
+		RangerResourceDef dbRangerResourceDef = rangerServiceDefService
+				.populateXXToRangerResourceDef(resourceDefObj);
+		Assert.assertNotNull(dbRangerResourceDef);
+		Assert.assertEquals(dbRangerResourceDef.getName(),
+				resourceDefObj.getName());
+		Assert.assertEquals(dbRangerResourceDef.getDescription(),
+				resourceDefObj.getDescription());
+		Assert.assertEquals(dbRangerResourceDef.getType(),
+				resourceDefObj.getType());
+		Assert.assertEquals(dbRangerResourceDef.getParent(),
+				resourceDefObj.getParent());
+		Assert.assertEquals(dbRangerResourceDef.getRbKeyDescription(),
+				resourceDefObj.getRbkeydescription());
+		Mockito.verify(daoManager).getXXResourceDef();
+	}
+
+	@Test
+	public void test7populateRangerAccessTypeDefToXX() {
+		RangerAccessTypeDef rangerAccessTypeDefObj = new RangerAccessTypeDef();
+		rangerAccessTypeDefObj.setLabel("Read");
+		rangerAccessTypeDefObj.setName("read");
+		rangerAccessTypeDefObj.setRbKeyLabel(null);
+		XXAccessTypeDef accessTypeDefObj = new XXAccessTypeDef();
+		accessTypeDefObj.setAddedByUserId(Id);
+		accessTypeDefObj.setCreateTime(new Date());
+		accessTypeDefObj.setDefid(Id);
+		accessTypeDefObj.setId(Id);
+		accessTypeDefObj.setLabel("Read");
+		accessTypeDefObj.setName("read");
+		accessTypeDefObj.setOrder(null);
+		accessTypeDefObj.setRbkeylabel(null);
+		accessTypeDefObj.setUpdatedByUserId(Id);
+		accessTypeDefObj.setUpdateTime(new Date());
+		XXServiceDef serviceDefObj = new XXServiceDef();
+		serviceDefObj.setAddedByUserId(Id);
+		serviceDefObj.setCreateTime(new Date());
+		serviceDefObj.setDescription("HDFS Repository");
+		serviceDefObj.setGuid("1427365526516_835_0");
+		serviceDefObj.setId(Id);
+
+		Mockito.when(
+				(XXAccessTypeDef) rangerAuditFields.populateAuditFields(
+						accessTypeDefObj, serviceDefObj)).thenReturn(
+				accessTypeDefObj);
+
+		XXAccessTypeDef dbAccessTypeDef = rangerServiceDefService
+				.populateRangerAccessTypeDefToXX(rangerAccessTypeDefObj,
+						accessTypeDefObj, serviceDefObj, 1);
+		Assert.assertNotNull(dbAccessTypeDef);
+		Assert.assertEquals(dbAccessTypeDef, accessTypeDefObj);
+		Assert.assertEquals(dbAccessTypeDef.getName(),
+				accessTypeDefObj.getName());
+		Assert.assertEquals(dbAccessTypeDef.getLabel(),
+				accessTypeDefObj.getLabel());
+		Assert.assertEquals(dbAccessTypeDef.getRbkeylabel(),
+				accessTypeDefObj.getRbkeylabel());
+		Assert.assertEquals(dbAccessTypeDef.getDefid(),
+				accessTypeDefObj.getDefid());
+		Assert.assertEquals(dbAccessTypeDef.getId(), accessTypeDefObj.getId());
+		Assert.assertEquals(dbAccessTypeDef.getCreateTime(),
+				accessTypeDefObj.getCreateTime());
+		Assert.assertEquals(dbAccessTypeDef.getOrder(),
+				accessTypeDefObj.getOrder());
+
+	}
+
+	@Test
+	public void test8populateRangerAccessTypeDefToXXNullValue() {
+		RangerAccessTypeDef rangerAccessTypeDefObj = null;
+		XXAccessTypeDef accessTypeDefObj = null;
+		XXServiceDef serviceDefObj = null;
+		Mockito.when(
+				restErrorUtil.createRESTException(
+						"RangerServiceDef cannot be null.",
+						MessageEnums.DATA_NOT_FOUND)).thenThrow(
+				new WebApplicationException());
+
+		thrown.expect(WebApplicationException.class);
+		XXAccessTypeDef dbAccessTypeDef = rangerServiceDefService
+				.populateRangerAccessTypeDefToXX(rangerAccessTypeDefObj,
+						accessTypeDefObj, serviceDefObj, 1);
+		Assert.assertNull(dbAccessTypeDef);
+	}
+
+	@Test
+	public void test9populateXXToRangerAccessTypeDef() {
+
+		XXAccessTypeDefGrantsDao xAccessTypeDefGrantsDao = Mockito
+				.mock(XXAccessTypeDefGrantsDao.class);
+		List<String> lists = new ArrayList<String>();
+		XXAccessTypeDef accessTypeDefObj = new XXAccessTypeDef();
+		accessTypeDefObj.setAddedByUserId(Id);
+		accessTypeDefObj.setCreateTime(new Date());
+		accessTypeDefObj.setDefid(Id);
+		accessTypeDefObj.setId(Id);
+		accessTypeDefObj.setLabel("Read");
+		accessTypeDefObj.setName("read");
+		accessTypeDefObj.setOrder(null);
+		accessTypeDefObj.setRbkeylabel(null);
+		accessTypeDefObj.setUpdatedByUserId(Id);
+		accessTypeDefObj.setUpdateTime(new Date());
+
+		Mockito.when(daoManager.getXXAccessTypeDefGrants()).thenReturn(
+				xAccessTypeDefGrantsDao);
+		Mockito.when(
+				xAccessTypeDefGrantsDao
+						.findImpliedGrantsByATDId(accessTypeDefObj.getId()))
+				.thenReturn(lists);
+
+		RangerAccessTypeDef dbRangerAccessTypeDef = rangerServiceDefService
+				.populateXXToRangerAccessTypeDef(accessTypeDefObj);
+		Assert.assertNotNull(dbRangerAccessTypeDef);
+		Assert.assertEquals(dbRangerAccessTypeDef.getName(),
+				accessTypeDefObj.getName());
+		Assert.assertEquals(dbRangerAccessTypeDef.getLabel(),
+				accessTypeDefObj.getLabel());
+		Assert.assertEquals(dbRangerAccessTypeDef.getRbKeyLabel(),
+				accessTypeDefObj.getRbkeylabel());
+
+	}
+
+	@Test
+	public void test10populateRangerPolicyConditionDefToXX() {
+		RangerPolicyConditionDef rangerConditionDefvObj = new RangerPolicyConditionDef();
+		rangerConditionDefvObj.setDescription("Countries");
+		rangerConditionDefvObj.setEvaluator("COUNTRY");
+		rangerConditionDefvObj.setLabel("Countries");
+		rangerConditionDefvObj.setName("country");
+		rangerConditionDefvObj.setRbKeyDescription(null);
+		rangerConditionDefvObj.setRbKeyLabel(null);
+		XXPolicyConditionDef policyConditionDefObj = new XXPolicyConditionDef();
+		policyConditionDefObj.setAddedByUserId(Id);
+		policyConditionDefObj.setCreateTime(new Date());
+		policyConditionDefObj.setDefid(Id);
+		policyConditionDefObj.setDescription("policy");
+		policyConditionDefObj.setId(Id);
+		policyConditionDefObj.setName("country");
+		policyConditionDefObj.setOrder(0);
+		policyConditionDefObj.setUpdatedByUserId(Id);
+		policyConditionDefObj.setUpdateTime(new Date());
+		XXServiceDef serviceDefObj = new XXServiceDef();
+		serviceDefObj.setAddedByUserId(Id);
+		serviceDefObj.setCreateTime(new Date());
+		serviceDefObj.setDescription("HDFS Repository");
+		serviceDefObj.setGuid("1427365526516_835_0");
+		serviceDefObj.setId(Id);
+
+		Mockito.when(
+				(XXPolicyConditionDef) rangerAuditFields.populateAuditFields(
+						policyConditionDefObj, serviceDefObj)).thenReturn(
+				policyConditionDefObj);
+
+		XXPolicyConditionDef dbPolicyConditionDef = rangerServiceDefService
+				.populateRangerPolicyConditionDefToXX(rangerConditionDefvObj,
+						policyConditionDefObj, serviceDefObj, 1);
+		Assert.assertNotNull(dbPolicyConditionDef);
+		Assert.assertEquals(dbPolicyConditionDef, policyConditionDefObj);
+		Assert.assertEquals(dbPolicyConditionDef.getName(),
+				policyConditionDefObj.getName());
+		Assert.assertEquals(dbPolicyConditionDef.getDescription(),
+				policyConditionDefObj.getDescription());
+		Assert.assertEquals(dbPolicyConditionDef.getEvaluator(),
+				policyConditionDefObj.getEvaluator());
+		Assert.assertEquals(dbPolicyConditionDef.getLabel(),
+				policyConditionDefObj.getLabel());
+		Assert.assertEquals(dbPolicyConditionDef.getId(),
+				policyConditionDefObj.getId());
+		Assert.assertEquals(dbPolicyConditionDef.getRbkeydescription(),
+				policyConditionDefObj.getRbkeydescription());
+		Assert.assertEquals(dbPolicyConditionDef.getOrder(),
+				policyConditionDefObj.getOrder());
+		Assert.assertEquals(dbPolicyConditionDef.getUpdatedByUserId(),
+				policyConditionDefObj.getUpdatedByUserId());
+		Assert.assertEquals(dbPolicyConditionDef.getUpdateTime(),
+				policyConditionDefObj.getUpdateTime());
+
+	}
+
+	@Test
+	public void test11populateRangerPolicyConditionDefToXXnullValue() {
+		RangerPolicyConditionDef rangerConditionDefvObj = null;
+		XXPolicyConditionDef policyConditionDefObj = null;
+		XXServiceDef serviceDefObj = null;
+
+		Mockito.when(
+				restErrorUtil.createRESTException(
+						"RangerServiceDef cannot be null.",
+						MessageEnums.DATA_NOT_FOUND)).thenThrow(
+				new WebApplicationException());
+
+		thrown.expect(WebApplicationException.class);
+
+		XXPolicyConditionDef dbPolicyConditionDef = rangerServiceDefService
+				.populateRangerPolicyConditionDefToXX(rangerConditionDefvObj,
+						policyConditionDefObj, serviceDefObj, 1);
+		Assert.assertNull(dbPolicyConditionDef);
+	}
+
+	@Test
+	public void test12populateXXToRangerPolicyConditionDef() {
+		XXPolicyConditionDef policyConditionDefObj = new XXPolicyConditionDef();
+		policyConditionDefObj.setAddedByUserId(Id);
+		policyConditionDefObj.setCreateTime(new Date());
+		policyConditionDefObj.setDefid(Id);
+		policyConditionDefObj.setDescription("policy");
+		policyConditionDefObj.setId(Id);
+		policyConditionDefObj.setName("country");
+		policyConditionDefObj.setOrder(0);
+		policyConditionDefObj.setUpdatedByUserId(Id);
+		policyConditionDefObj.setUpdateTime(new Date());
+
+		RangerPolicyConditionDef dbRangerPolicyConditionDef = rangerServiceDefService
+				.populateXXToRangerPolicyConditionDef(policyConditionDefObj);
+		Assert.assertNotNull(dbRangerPolicyConditionDef);
+		Assert.assertEquals(dbRangerPolicyConditionDef.getName(),
+				policyConditionDefObj.getName());
+		Assert.assertEquals(dbRangerPolicyConditionDef.getDescription(),
+				policyConditionDefObj.getDescription());
+		Assert.assertEquals(dbRangerPolicyConditionDef.getEvaluator(),
+				policyConditionDefObj.getEvaluator());
+		Assert.assertEquals(dbRangerPolicyConditionDef.getLabel(),
+				policyConditionDefObj.getLabel());
+	}
+
+	@Test
+	public void test13populateRangerContextEnricherDefToXX() {
+		RangerContextEnricherDef rangerContextEnricherDefObj = new RangerContextEnricherDef();
+		rangerContextEnricherDefObj.setName("country-provider");
+		rangerContextEnricherDefObj.setEnricher("RangerCountryProvider");
+
+		XXContextEnricherDef contextEnricherDefObj = new XXContextEnricherDef();
+		contextEnricherDefObj.setAddedByUserId(Id);
+		contextEnricherDefObj.setCreateTime(new Date());
+		contextEnricherDefObj.setDefid(Id);
+		contextEnricherDefObj.setId(Id);
+		contextEnricherDefObj.setName("country-provider");
+		contextEnricherDefObj
+				.setEnricherOptions("contextName=COUNTRY;dataFile=/etc/ranger/data/userCountry.properties");
+		contextEnricherDefObj.setEnricher("RangerCountryProvider");
+		contextEnricherDefObj.setOrder(null);
+		contextEnricherDefObj.setUpdatedByUserId(Id);
+		contextEnricherDefObj.setUpdateTime(new Date());
+		XXServiceDef serviceDefObj = new XXServiceDef();
+		serviceDefObj.setAddedByUserId(Id);
+		serviceDefObj.setCreateTime(new Date());
+		serviceDefObj.setDescription("HDFS Repository");
+		serviceDefObj.setGuid("1427365526516_835_0");
+		serviceDefObj.setId(Id);
+
+		Mockito.when(
+				(XXContextEnricherDef) rangerAuditFields.populateAuditFields(
+						contextEnricherDefObj, serviceDefObj)).thenReturn(
+				contextEnricherDefObj);
+
+		XXContextEnricherDef dbContextEnricherDef = rangerServiceDefService
+				.populateRangerContextEnricherDefToXX(
+						rangerContextEnricherDefObj, contextEnricherDefObj,
+						serviceDefObj, 1);
+		Assert.assertNotNull(dbContextEnricherDef);
+		Assert.assertEquals(dbContextEnricherDef.getEnricher(),
+				contextEnricherDefObj.getEnricher());
+		Assert.assertEquals(dbContextEnricherDef.getEnricherOptions(),
+				contextEnricherDefObj.getEnricherOptions());
+		Assert.assertEquals(dbContextEnricherDef.getName(),
+				contextEnricherDefObj.getName());
+		Assert.assertEquals(dbContextEnricherDef.getCreateTime(),
+				contextEnricherDefObj.getCreateTime());
+		Assert.assertEquals(dbContextEnricherDef.getId(),
+				contextEnricherDefObj.getId());
+		Assert.assertEquals(dbContextEnricherDef.getOrder(),
+				contextEnricherDefObj.getOrder());
+		Assert.assertEquals(dbContextEnricherDef.getUpdatedByUserId(),
+				contextEnricherDefObj.getUpdatedByUserId());
+		Assert.assertEquals(dbContextEnricherDef.getUpdateTime(),
+				contextEnricherDefObj.getUpdateTime());
+
+	}
+
+	@Test
+	public void test14populateRangerContextEnricherDefToXXnullValue() {
+		RangerContextEnricherDef rangerContextEnricherDefObj = null;
+		XXContextEnricherDef contextEnricherDefObj = null;
+		XXServiceDef serviceDefObj = null;
+
+		Mockito.when(
+				restErrorUtil.createRESTException(
+						"RangerServiceDef cannot be null.",
+						MessageEnums.DATA_NOT_FOUND)).thenThrow(
+				new WebApplicationException());
+
+		thrown.expect(WebApplicationException.class);
+
+		XXContextEnricherDef dbContextEnricherDef = rangerServiceDefService
+				.populateRangerContextEnricherDefToXX(
+						rangerContextEnricherDefObj, contextEnricherDefObj,
+						serviceDefObj, 1);
+		Assert.assertNull(dbContextEnricherDef);
+
+	}
+
+	@Test
+	public void test15populateXXToRangerContextEnricherDef() {
+		XXContextEnricherDef contextEnricherDefObj = new XXContextEnricherDef();
+		contextEnricherDefObj.setAddedByUserId(Id);
+		contextEnricherDefObj.setCreateTime(new Date());
+		contextEnricherDefObj.setDefid(Id);
+		contextEnricherDefObj.setId(Id);
+		contextEnricherDefObj.setName("country-provider");
+		contextEnricherDefObj
+				.setEnricherOptions("contextName=COUNTRY;dataFile=/etc/ranger/data/userCountry.properties");
+		contextEnricherDefObj.setEnricher("RangerCountryProvider");
+		contextEnricherDefObj.setOrder(null);
+		contextEnricherDefObj.setUpdatedByUserId(Id);
+		contextEnricherDefObj.setUpdateTime(new Date());
+
+		RangerContextEnricherDef dbRangerContextEnricherDef = rangerServiceDefService
+				.populateXXToRangerContextEnricherDef(contextEnricherDefObj);
+		Assert.assertNotNull(dbRangerContextEnricherDef);
+		Assert.assertEquals(dbRangerContextEnricherDef.getEnricher(),
+				contextEnricherDefObj.getEnricher());
+		Assert.assertEquals(dbRangerContextEnricherDef.getName(),
+				contextEnricherDefObj.getName());
+
+	}
+
+	@Test
+	public void test16populateRangerEnumDefToXX() {
+		RangerEnumDef rangerEnumDefObj = new RangerEnumDef();
+		rangerEnumDefObj.setName("authnType");
+		rangerEnumDefObj.setDefaultIndex(0);
+		XXEnumDef enumDefObj = new XXEnumDef();
+		enumDefObj.setAddedByUserId(Id);
+		enumDefObj.setCreateTime(new Date());
+		enumDefObj.setDefaultindex(0);
+		enumDefObj.setDefid(Id);
+		enumDefObj.setId(Id);
+		enumDefObj.setName("authnType");
+		enumDefObj.setUpdatedByUserId(Id);
+		enumDefObj.setUpdateTime(new Date());
+		XXServiceDef serviceDefObj = new XXServiceDef();
+		serviceDefObj.setAddedByUserId(Id);
+		serviceDefObj.setCreateTime(new Date());
+		serviceDefObj.setDescription("HDFS Repository");
+		serviceDefObj.setGuid("1427365526516_835_0");
+		serviceDefObj.setId(Id);
+
+		Mockito.when(
+				(XXEnumDef) rangerAuditFields.populateAuditFields(enumDefObj,
+						serviceDefObj)).thenReturn(enumDefObj);
+
+		XXEnumDef dbEnumDef = rangerServiceDefService
+				.populateRangerEnumDefToXX(rangerEnumDefObj, enumDefObj,
+						serviceDefObj,1);
+		Assert.assertNotNull(dbEnumDef);
+		Assert.assertEquals(dbEnumDef, enumDefObj);
+		Assert.assertEquals(dbEnumDef.getName(), enumDefObj.getName());
+		Assert.assertEquals(dbEnumDef.getDefid(), enumDefObj.getDefid());
+		Assert.assertEquals(dbEnumDef.getId(), enumDefObj.getId());
+		Assert.assertEquals(dbEnumDef.getCreateTime(),
+				enumDefObj.getCreateTime());
+
+	}
+
+	@Test
+	public void test17populateRangerEnumDefToXXnullValue() {
+		RangerEnumDef rangerEnumDefObj = null;
+		XXEnumDef enumDefObj = null;
+		XXServiceDef serviceDefObj = null;
+
+		Mockito.when(
+				restErrorUtil.createRESTException(
+						"RangerServiceDef cannot be null.",
+						MessageEnums.DATA_NOT_FOUND)).thenThrow(
+				new WebApplicationException());
+
+		thrown.expect(WebApplicationException.class);
+
+		XXEnumDef dbEnumDef = rangerServiceDefService
+				.populateRangerEnumDefToXX(rangerEnumDefObj, enumDefObj,
+						serviceDefObj, 1);
+		Assert.assertNull(dbEnumDef);
+
+	}
+
+	@Test
+	public void test18populateXXToRangerEnumDef() {
+		XXEnumElementDefDao xEnumElementDefDao = Mockito
+				.mock(XXEnumElementDefDao.class);
+
+		List<XXEnumElementDef> enumElementDefList = new ArrayList<XXEnumElementDef>();
+		XXEnumElementDef enumElementDefObj = new XXEnumElementDef();
+		enumElementDefObj.setAddedByUserId(Id);
+		enumElementDefObj.setCreateTime(new Date());
+		enumElementDefObj.setEnumdefid(Id);
+		enumElementDefObj.setId(Id);
+		enumElementDefObj.setLabel("Simple");
+		enumElementDefObj.setName("simple");
+		enumElementDefObj.setOrder(0);
+		enumElementDefObj.setUpdatedByUserId(Id);
+		enumElementDefObj.setUpdateTime(new Date());
+		enumElementDefList.add(enumElementDefObj);
+
+		XXEnumDef enumDefObj = new XXEnumDef();
+		enumDefObj.setAddedByUserId(Id);
+		enumDefObj.setCreateTime(new Date());
+		enumDefObj.setDefaultindex(0);
+		enumDefObj.setDefid(Id);
+		enumDefObj.setId(Id);
+		enumDefObj.setName("authnType");
+		enumDefObj.setUpdatedByUserId(Id);
+		enumDefObj.setUpdateTime(new Date());
+
+		Mockito.when(daoManager.getXXEnumElementDef()).thenReturn(
+				xEnumElementDefDao);
+		Mockito.when(xEnumElementDefDao.findByEnumDefId(enumDefObj.getId()))
+				.thenReturn(enumElementDefList);
+
+		RangerEnumDef dbRangerEnumDef = rangerServiceDefService
+				.populateXXToRangerEnumDef(enumDefObj);
+		Assert.assertNotNull(dbRangerEnumDef);
+		Assert.assertEquals(dbRangerEnumDef.getName(), enumDefObj.getName());
+
+		Mockito.verify(daoManager).getXXEnumElementDef();
+	}
+
+	@Test
+	public void test19populateRangerEnumElementDefToXX() {
+
+		RangerEnumElementDef rangerEnumElementDefObj = new RangerEnumElementDef();
+		rangerEnumElementDefObj.setLabel("Simple");
+		rangerEnumElementDefObj.setName("simple");
+		rangerEnumElementDefObj.setRbKeyLabel(null);
+		XXEnumElementDef enumElementDefObj = new XXEnumElementDef();
+		enumElementDefObj.setAddedByUserId(Id);
+		enumElementDefObj.setCreateTime(new Date());
+		enumElementDefObj.setEnumdefid(Id);
+		enumElementDefObj.setId(Id);
+		enumElementDefObj.setLabel("Simple");
+		enumElementDefObj.setName("simple");
+		enumElementDefObj.setOrder(0);
+		enumElementDefObj.setUpdatedByUserId(Id);
+		enumElementDefObj.setUpdateTime(new Date());
+		XXEnumDef enumDefObj = new XXEnumDef();
+		enumDefObj.setAddedByUserId(Id);
+		enumDefObj.setCreateTime(new Date());
+		enumDefObj.setDefaultindex(0);
+		enumDefObj.setDefid(Id);
+		enumDefObj.setId(Id);
+		enumDefObj.setName("authnType");
+		enumDefObj.setUpdatedByUserId(Id);
+		enumDefObj.setUpdateTime(new Date());
+
+		Mockito.when(
+				(XXEnumElementDef) rangerAuditFields.populateAuditFields(
+						enumElementDefObj, enumDefObj)).thenReturn(
+				enumElementDefObj);
+		XXEnumElementDef dbEnumElementDef = rangerServiceDefService
+				.populateRangerEnumElementDefToXX(rangerEnumElementDefObj,
+						enumElementDefObj, enumDefObj, 1);
+		Assert.assertNotNull(dbEnumElementDef);
+		Assert.assertEquals(dbEnumElementDef.getId(), enumElementDefObj.getId());
+		Assert.assertEquals(dbEnumElementDef.getName(),
+				enumElementDefObj.getName());
+		Assert.assertEquals(dbEnumElementDef.getLabel(),
+				enumElementDefObj.getLabel());
+		Assert.assertEquals(dbEnumElementDef.getCreateTime(),
+				enumElementDefObj.getCreateTime());
+		Assert.assertEquals(dbEnumElementDef.getAddedByUserId(),
+				enumElementDefObj.getAddedByUserId());
+		Assert.assertEquals(dbEnumElementDef.getUpdateTime(),
+				enumElementDefObj.getUpdateTime());
+		Assert.assertEquals(dbEnumElementDef.getUpdatedByUserId(),
+				enumElementDefObj.getUpdatedByUserId());
+		Mockito.verify(rangerAuditFields).populateAuditFields(
+				enumElementDefObj, enumDefObj);
+	}
+
+	@Test
+	public void test20populateXXToRangerEnumElementDef() {
+		XXEnumElementDef enumElementDefObj = new XXEnumElementDef();
+		enumElementDefObj.setAddedByUserId(Id);
+		enumElementDefObj.setCreateTime(new Date());
+		enumElementDefObj.setEnumdefid(Id);
+		enumElementDefObj.setId(Id);
+		enumElementDefObj.setLabel("Simple");
+		enumElementDefObj.setName("simple");
+		enumElementDefObj.setOrder(0);
+		enumElementDefObj.setUpdatedByUserId(Id);
+		enumElementDefObj.setUpdateTime(new Date());
+
+		RangerEnumElementDef dbRangerEnumElementDef = rangerServiceDefService
+				.populateXXToRangerEnumElementDef(enumElementDefObj);
+		Assert.assertNotNull(dbRangerEnumElementDef);
+		Assert.assertEquals(dbRangerEnumElementDef.getLabel(),
+				enumElementDefObj.getLabel());
+		Assert.assertEquals(dbRangerEnumElementDef.getName(),
+				enumElementDefObj.getName());
+
+	}
+
+	@Test
+	public void test21searchRangerServiceDefs() {
+		EntityManager entityManager = Mockito.mock(EntityManager.class);
+		SearchFilter searchFilter = new SearchFilter();
+		searchFilter.setParam(SearchFilter.POLICY_NAME, "policyName");
+		searchFilter.setParam(SearchFilter.SERVICE_NAME, "serviceName");
+
+		String searchString = "policyName";
+		String sortString = "asc";
+		List<SearchField> searchFieldList = new ArrayList<SearchField>();
+		boolean isCountQuery = false;
+
+		BaseDao baseDao = Mockito.mock(BaseDao.class);
+
+		Mockito.when(daoManager.getDaoForClassName(Mockito.anyString()))
+				.thenReturn(baseDao);
+		Mockito.when(daoManager.getEntityManager()).thenReturn(entityManager);
+		Mockito.when(
+				searchUtil
+						.createSearchQuery(entityManager, searchString,
+								sortString, searchFilter, searchFieldList,
+								isCountQuery)).thenReturn(null);
+
+		RangerServiceDefList dbRangerServiceDefList = rangerServiceDefService
+				.searchRangerServiceDefs(searchFilter);
+		Assert.assertNotNull(dbRangerServiceDefList);
+		Mockito.verify(daoManager).getDaoForClassName(Mockito.anyString());
+	}
+}

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/376d3249/security-admin/src/test/java/org/apache/ranger/service/TestRangerServiceService.java
----------------------------------------------------------------------
diff --git a/security-admin/src/test/java/org/apache/ranger/service/TestRangerServiceService.java b/security-admin/src/test/java/org/apache/ranger/service/TestRangerServiceService.java
new file mode 100644
index 0000000..7d0cf61
--- /dev/null
+++ b/security-admin/src/test/java/org/apache/ranger/service/TestRangerServiceService.java
@@ -0,0 +1,419 @@
+/*
+ * 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.service;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.ranger.common.ContextUtil;
+import org.apache.ranger.common.JSONUtil;
+import org.apache.ranger.common.StringUtil;
+import org.apache.ranger.common.UserSessionBase;
+import org.apache.ranger.db.RangerDaoManager;
+import org.apache.ranger.db.XXPortalUserDao;
+import org.apache.ranger.db.XXServiceConfigMapDao;
+import org.apache.ranger.db.XXServiceDao;
+import org.apache.ranger.db.XXServiceDefDao;
+
+import org.apache.ranger.entity.XXPortalUser;
+import org.apache.ranger.entity.XXService;
+import org.apache.ranger.entity.XXServiceConfigMap;
+import org.apache.ranger.entity.XXServiceDef;
+import org.apache.ranger.entity.XXTrxLog;
+import org.apache.ranger.plugin.model.RangerService;
+
+import org.apache.ranger.security.context.RangerContextHolder;
+import org.apache.ranger.security.context.RangerSecurityContext;
+import org.junit.Assert;
+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 TestRangerServiceService {
+
+	private static Long userId = 8L;
+
+	@InjectMocks
+	RangerServiceService serviceService = new RangerServiceService();
+
+	@Mock
+	RangerDaoManager daoManager;
+
+	@Mock
+	RangerServiceService svcService;
+
+	@Mock
+	JSONUtil jsonUtil;
+
+	@Mock
+	RangerServiceDefService serviceDefService;
+
+	@Mock
+	RangerPolicyService policyService;
+
+	@Mock
+	StringUtil stringUtil;
+
+	@Mock
+	XUserService xUserService;
+
+	@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);
+	}
+
+	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(userId);
+		rangerService.setConfigs(configs);
+		rangerService.setCreateTime(new Date());
+		rangerService.setDescription("service");
+		rangerService.setGuid("serviceguid");
+		rangerService.setIsEnabled(true);
+		rangerService.setName("Hdfs service");
+		rangerService.setPolicyUpdateTime(new Date());
+		rangerService.setPolicyVersion(1L);
+		rangerService.setType(null);
+		rangerService.setUpdatedBy("Admin");
+		rangerService.setUpdateTime(new Date());
+		rangerService.setVersion(userId);
+
+		return rangerService;
+	}
+
+	private XXService xService() {
+		XXService xService = new XXService();
+		xService.setAddedByUserId(userId);
+		xService.setCreateTime(new Date());
+		xService.setDescription("Hdfs service");
+		xService.setGuid("serviceguid");
+		xService.setId(userId);
+		xService.setIsEnabled(true);
+		xService.setName("Hdfs");
+		xService.setPolicyUpdateTime(new Date());
+		xService.setPolicyVersion(1L);
+		xService.setType(1L);
+		xService.setUpdatedByUserId(userId);
+		xService.setUpdateTime(new Date());
+		xService.setVersion(1L);
+
+		return xService;
+	}
+
+	@Test
+	public void test1ValidateForCreate() {
+		RangerService service = rangerService();
+		serviceService.validateForCreate(service);
+		Assert.assertNotNull(service);
+	}
+
+	@Test
+	public void test2ValidateForUpdate() {
+		RangerService vService = rangerService();
+		XXService xService = xService();
+
+		serviceService.validateForUpdate(vService, xService);
+		Assert.assertNotNull(vService);
+	}
+
+	@Test
+	public void test3PopulateViewBean() {
+		XXServiceConfigMapDao xServiceConfigMapDao = Mockito
+				.mock(XXServiceConfigMapDao.class);
+		XXPortalUserDao xPortalUserDao = Mockito.mock(XXPortalUserDao.class);
+		XXServiceDefDao xServiceDefDao = Mockito.mock(XXServiceDefDao.class);
+		XXService xService = xService();
+		String name = "fdfdfds";
+
+		List<XXServiceConfigMap> svcConfigMapList = new ArrayList<XXServiceConfigMap>();
+		XXServiceConfigMap xConfMap = new XXServiceConfigMap();
+		xConfMap.setAddedByUserId(null);
+		xConfMap.setConfigkey(name);
+		xConfMap.setConfigvalue(name);
+		xConfMap.setCreateTime(new Date());
+		xConfMap.setServiceId(null);
+
+		xConfMap.setUpdatedByUserId(null);
+		xConfMap.setUpdateTime(new Date());
+		svcConfigMapList.add(xConfMap);
+
+		XXPortalUser tUser = new XXPortalUser();
+		tUser.setAddedByUserId(userId);
+		tUser.setCreateTime(new Date());
+		tUser.setEmailAddress("test@gmail.com");
+		tUser.setFirstName(name);
+		tUser.setId(userId);
+		tUser.setLastName(name);
+
+		XXServiceDef xServiceDef = new XXServiceDef();
+		xServiceDef.setAddedByUserId(userId);
+		xServiceDef.setCreateTime(new Date());
+		xServiceDef.setDescription("test");
+		xServiceDef.setGuid("1427365526516_835_0");
+		xServiceDef.setId(userId);
+
+		Mockito.when(daoManager.getXXPortalUser()).thenReturn(xPortalUserDao);
+		Mockito.when(xPortalUserDao.getById(userId)).thenReturn(tUser);
+
+		Mockito.when(daoManager.getXXServiceDef()).thenReturn(xServiceDefDao);
+		Mockito.when(xServiceDefDao.getById(xService.getType())).thenReturn(
+				xServiceDef);
+
+		Mockito.when(daoManager.getXXServiceConfigMap()).thenReturn(
+				xServiceConfigMapDao);
+		Mockito.when(xServiceConfigMapDao.findByServiceId(xService.getId()))
+				.thenReturn(svcConfigMapList);
+
+		RangerService dbService = serviceService.populateViewBean(xService);
+
+		Assert.assertNotNull(dbService);
+		Assert.assertEquals(userId, dbService.getId());
+		Assert.assertEquals(xService.getAddedByUserId(), dbService.getId());
+		Assert.assertEquals(xService.getId(), dbService.getId());
+		Assert.assertEquals(xService.getDescription(),
+				dbService.getDescription());
+		Assert.assertEquals(xService.getGuid(), dbService.getGuid());
+		Assert.assertEquals(xService.getName(), dbService.getName());
+		Assert.assertEquals(xService.getPolicyUpdateTime(),
+				dbService.getPolicyUpdateTime());
+		Assert.assertEquals(xService.getPolicyVersion(),
+				dbService.getPolicyVersion());
+		Assert.assertEquals(xService.getVersion(), dbService.getVersion());
+
+		Mockito.verify(daoManager).getXXServiceDef();
+		Mockito.verify(daoManager).getXXServiceConfigMap();
+	}
+
+	@Test
+	public void test4GetPopulatedViewObject() {
+		XXServiceConfigMapDao xServiceConfigMapDao = Mockito
+				.mock(XXServiceConfigMapDao.class);
+		XXPortalUserDao xPortalUserDao = Mockito.mock(XXPortalUserDao.class);
+		XXServiceDefDao xServiceDefDao = Mockito.mock(XXServiceDefDao.class);
+		XXService xService = xService();
+		String name = "fdfdfds";
+
+		List<XXServiceConfigMap> svcConfigMapList = new ArrayList<XXServiceConfigMap>();
+		XXServiceConfigMap xConfMap = new XXServiceConfigMap();
+		xConfMap.setAddedByUserId(null);
+		xConfMap.setConfigkey(name);
+		xConfMap.setConfigvalue(name);
+		xConfMap.setCreateTime(new Date());
+		xConfMap.setServiceId(null);
+		xConfMap.setUpdatedByUserId(null);
+		xConfMap.setUpdateTime(new Date());
+		svcConfigMapList.add(xConfMap);
+
+		XXPortalUser tUser = new XXPortalUser();
+		tUser.setAddedByUserId(userId);
+		tUser.setCreateTime(new Date());
+		tUser.setEmailAddress("test@gmail.com");
+		tUser.setFirstName(name);
+		tUser.setId(userId);
+		tUser.setLastName(name);
+
+		XXServiceDef xServiceDef = new XXServiceDef();
+		xServiceDef.setAddedByUserId(userId);
+		xServiceDef.setCreateTime(new Date());
+		xServiceDef.setDescription("test");
+		xServiceDef.setGuid("1427365526516_835_0");
+		xServiceDef.setId(userId);
+
+		Mockito.when(daoManager.getXXPortalUser()).thenReturn(xPortalUserDao);
+		Mockito.when(xPortalUserDao.getById(userId)).thenReturn(tUser);
+
+		Mockito.when(daoManager.getXXServiceDef()).thenReturn(xServiceDefDao);
+		Mockito.when(xServiceDefDao.getById(xService.getType())).thenReturn(
+				xServiceDef);
+
+		Mockito.when(daoManager.getXXServiceConfigMap()).thenReturn(
+				xServiceConfigMapDao);
+		Mockito.when(xServiceConfigMapDao.findByServiceId(xService.getId()))
+				.thenReturn(svcConfigMapList);
+
+		RangerService dbService = serviceService
+				.getPopulatedViewObject(xService);
+
+		Assert.assertNotNull(dbService);
+		Assert.assertEquals(userId, dbService.getId());
+		Assert.assertEquals(xService.getAddedByUserId(), dbService.getId());
+		Assert.assertEquals(xService.getId(), dbService.getId());
+		Assert.assertEquals(xService.getDescription(),
+				dbService.getDescription());
+		Assert.assertEquals(xService.getGuid(), dbService.getGuid());
+		Assert.assertEquals(xService.getName(), dbService.getName());
+		Assert.assertEquals(xService.getPolicyUpdateTime(),
+				dbService.getPolicyUpdateTime());
+		Assert.assertEquals(xService.getPolicyVersion(),
+				dbService.getPolicyVersion());
+		Assert.assertEquals(xService.getVersion(), dbService.getVersion());
+
+		Mockito.verify(daoManager).getXXServiceDef();
+		Mockito.verify(daoManager).getXXServiceConfigMap();
+	}
+
+	@Test
+	public void test5GetAllServices() {
+		XXServiceDao xServiceDao = Mockito.mock(XXServiceDao.class);
+		XXPortalUserDao xPortalUserDao = Mockito.mock(XXPortalUserDao.class);
+		XXServiceConfigMapDao xServiceConfigMapDao = Mockito
+				.mock(XXServiceConfigMapDao.class);
+		XXServiceDefDao xServiceDefDao = Mockito.mock(XXServiceDefDao.class);
+
+		String name = "fdfdfds";
+
+		List<XXServiceConfigMap> svcConfigMapList = new ArrayList<XXServiceConfigMap>();
+		XXServiceConfigMap xConfMap = new XXServiceConfigMap();
+		xConfMap.setAddedByUserId(null);
+		xConfMap.setConfigkey(name);
+		xConfMap.setConfigvalue(name);
+		xConfMap.setCreateTime(new Date());
+		xConfMap.setServiceId(null);
+		xConfMap.setUpdatedByUserId(null);
+		xConfMap.setUpdateTime(new Date());
+		svcConfigMapList.add(xConfMap);
+
+		List<XXService> xServiceList = new ArrayList<XXService>();
+		XXService xService = xService();
+		xServiceList.add(xService);
+
+		XXPortalUser tUser = new XXPortalUser();
+		tUser.setAddedByUserId(userId);
+		tUser.setCreateTime(new Date());
+		tUser.setEmailAddress("test@gmail.com");
+		tUser.setFirstName(name);
+		tUser.setId(userId);
+		tUser.setLastName(name);
+
+		XXServiceDef xServiceDef = new XXServiceDef();
+		xServiceDef.setAddedByUserId(userId);
+		xServiceDef.setCreateTime(new Date());
+		xServiceDef.setDescription("test");
+		xServiceDef.setGuid("1427365526516_835_0");
+		xServiceDef.setId(userId);
+
+		Mockito.when(daoManager.getXXService()).thenReturn(xServiceDao);
+		Mockito.when(xServiceDao.getAll()).thenReturn(xServiceList);
+
+		Mockito.when(daoManager.getXXPortalUser()).thenReturn(xPortalUserDao);
+		Mockito.when(xPortalUserDao.getById(userId)).thenReturn(tUser);
+
+		Mockito.when(daoManager.getXXServiceDef()).thenReturn(xServiceDefDao);
+		Mockito.when(xServiceDefDao.getById(xService.getType())).thenReturn(
+				xServiceDef);
+
+		Mockito.when(daoManager.getXXServiceConfigMap()).thenReturn(
+				xServiceConfigMapDao);
+		Mockito.when(xServiceConfigMapDao.findByServiceId(xService.getId()))
+				.thenReturn(svcConfigMapList);
+
+		List<RangerService> dbServiceList = serviceService.getAllServices();
+		Assert.assertNotNull(dbServiceList);
+
+		Mockito.verify(daoManager).getXXServiceDef();
+		Mockito.verify(daoManager).getXXServiceConfigMap();
+	}
+
+	@Test
+	public void test6GetTransactionLogCreate() {
+		XXServiceDefDao xServiceDefDao = Mockito.mock(XXServiceDefDao.class);
+		XXServiceDef xServiceDef = Mockito.mock(XXServiceDef.class);
+		RangerService rangerService = rangerService();
+
+		Mockito.when(daoManager.getXXServiceDef()).thenReturn(xServiceDefDao);
+		Mockito.when(xServiceDefDao.findByName(rangerService.getType()))
+				.thenReturn(xServiceDef);
+
+		String value = null;
+		Map<String, String> configs = new HashMap<String, String>();
+		Mockito.when(jsonUtil.readMapToString(configs)).thenReturn(value);
+
+		List<XXTrxLog> dbXXTrxLogList = serviceService.getTransactionLog(
+				rangerService, 1);
+		Assert.assertNotNull(dbXXTrxLogList);
+	}
+	
+	@Test
+	public void test7GetTransactionLogUpdate() {
+		XXServiceDefDao xServiceDefDao = Mockito.mock(XXServiceDefDao.class);
+		XXServiceDef xServiceDef = Mockito.mock(XXServiceDef.class);
+		RangerService rangerService = rangerService();
+
+		Mockito.when(daoManager.getXXServiceDef()).thenReturn(xServiceDefDao);
+		Mockito.when(xServiceDefDao.findByName(rangerService.getType()))
+				.thenReturn(xServiceDef);
+
+		String value = null;
+		Map<String, String> configs = new HashMap<String, String>();
+		Mockito.when(jsonUtil.readMapToString(configs)).thenReturn(value);
+
+		List<XXTrxLog> dbXXTrxLogList = serviceService.getTransactionLog(
+				rangerService, 2);
+		Assert.assertNull(dbXXTrxLogList);
+	}
+	
+	@Test
+	public void test8GetTransactionLogDelete() {
+		XXServiceDefDao xServiceDefDao = Mockito.mock(XXServiceDefDao.class);
+		XXServiceDef xServiceDef = Mockito.mock(XXServiceDef.class);
+		RangerService rangerService = rangerService();
+
+		Mockito.when(daoManager.getXXServiceDef()).thenReturn(xServiceDefDao);
+		Mockito.when(xServiceDefDao.findByName(rangerService.getType()))
+				.thenReturn(xServiceDef);
+
+		String value = null;
+		Map<String, String> configs = new HashMap<String, String>();
+		Mockito.when(jsonUtil.readMapToString(configs)).thenReturn(value);
+
+		List<XXTrxLog> dbXXTrxLogList = serviceService.getTransactionLog(
+				rangerService, 3);
+		Assert.assertNotNull(dbXXTrxLogList);
+	}
+}