Repository: ranger Updated Branches: refs/heads/ranger-1.1 ea065288a -> 6e9e42e7c
RANGER-2138 : Add unit tests for org.apache.ranger.service package Signed-off-by: Mehul Parikh <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/ranger/repo Commit: http://git-wip-us.apache.org/repos/asf/ranger/commit/6e9e42e7 Tree: http://git-wip-us.apache.org/repos/asf/ranger/tree/6e9e42e7 Diff: http://git-wip-us.apache.org/repos/asf/ranger/diff/6e9e42e7 Branch: refs/heads/ranger-1.1 Commit: 6e9e42e7c96c88d72eed1cf8b0a65071fbc509a5 Parents: ea06528 Author: fatimaawez <[email protected]> Authored: Tue Jul 24 17:24:14 2018 +0530 Committer: Mehul Parikh <[email protected]> Committed: Thu Jul 26 13:46:27 2018 +0530 ---------------------------------------------------------------------- .../ranger/service/TestXAccessAuditService.java | 112 +++++++++++ .../ranger/service/TestXAssetService.java | 102 ++++++++++ .../ranger/service/TestXAuditMapService.java | 52 +++++ .../service/TestXGroupPermissionService.java | 67 +++++++ .../ranger/service/TestXGroupService.java | 162 ++++++++++++++++ .../ranger/service/TestXGroupUserService.java | 194 +++++++++++++++++++ .../ranger/service/TestXPermMapService.java | 194 +++++++++++++++++++ 7 files changed, 883 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ranger/blob/6e9e42e7/security-admin/src/test/java/org/apache/ranger/service/TestXAccessAuditService.java ---------------------------------------------------------------------- diff --git a/security-admin/src/test/java/org/apache/ranger/service/TestXAccessAuditService.java b/security-admin/src/test/java/org/apache/ranger/service/TestXAccessAuditService.java new file mode 100644 index 0000000..877110b --- /dev/null +++ b/security-admin/src/test/java/org/apache/ranger/service/TestXAccessAuditService.java @@ -0,0 +1,112 @@ +/* + * 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 javax.persistence.EntityManager; +import javax.persistence.Query; + +import org.apache.ranger.common.SearchCriteria; +import org.apache.ranger.common.SearchField; +import org.apache.ranger.common.SearchUtil; +import org.apache.ranger.common.SortField; +import org.apache.ranger.common.db.BaseDao; +import org.apache.ranger.common.view.VList; +import org.apache.ranger.db.RangerDaoManager; +import org.apache.ranger.db.XXServiceDao; +import org.apache.ranger.entity.XXAccessAudit; +import org.apache.ranger.view.VXAccessAuditList; +import org.junit.FixMethodOrder; +import org.junit.Test; +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.junit.MockitoJUnitRunner; + +@RunWith(MockitoJUnitRunner.class) +@FixMethodOrder(MethodSorters.NAME_ASCENDING) +public class TestXAccessAuditService { + + @InjectMocks + XAccessAuditService xAccessAuditService; + + @Mock + SearchCriteria searchCriteria; + + @Mock + SearchUtil searchUtil; + + @Mock + SortField sortField; + + @Mock + SearchField searchField; + + @Mock + BaseDao entityDao; + + @Mock + Query query; + + @Mock + VList vList; + + @Mock + XXAccessAudit xXAccessAudit; + + @Mock + VXAccessAuditList vXAccessAuditList; + + @Mock + EntityManager em; + + @Mock + RangerDaoManager daoManager; + + @Mock + XXServiceDao xXServiceDao; + + @Test + public void test1SearchXAccessAudits() { + SearchCriteria testSearchCriteria = createsearchCriteria(); + xAccessAuditService.searchXAccessAudits(testSearchCriteria); + + } + + @Test + public void test2PopulateViewBean() { + Mockito.when(daoManager.getXXService()).thenReturn(xXServiceDao); + xAccessAuditService.populateViewBean(xXAccessAudit); + + } + + private SearchCriteria createsearchCriteria() { + SearchCriteria testsearchCriteria = new SearchCriteria(); + testsearchCriteria.setStartIndex(0); + testsearchCriteria.setMaxRows(Integer.MAX_VALUE); + testsearchCriteria.setSortBy("id"); + testsearchCriteria.setSortType("asc"); + testsearchCriteria.setGetCount(true); + testsearchCriteria.setOwnerId(null); + testsearchCriteria.setGetChildren(false); + testsearchCriteria.setDistinct(false); + return testsearchCriteria; + } +} http://git-wip-us.apache.org/repos/asf/ranger/blob/6e9e42e7/security-admin/src/test/java/org/apache/ranger/service/TestXAssetService.java ---------------------------------------------------------------------- diff --git a/security-admin/src/test/java/org/apache/ranger/service/TestXAssetService.java b/security-admin/src/test/java/org/apache/ranger/service/TestXAssetService.java new file mode 100644 index 0000000..2ecae98 --- /dev/null +++ b/security-admin/src/test/java/org/apache/ranger/service/TestXAssetService.java @@ -0,0 +1,102 @@ +/* + * 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.Date; + +import org.apache.ranger.common.JSONUtil; +import org.apache.ranger.entity.XXAsset; +import org.apache.ranger.util.RangerEnumUtil; +import org.apache.ranger.view.VXAsset; +import org.junit.FixMethodOrder; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.MethodSorters; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.junit.MockitoJUnitRunner; + +@RunWith(MockitoJUnitRunner.class) +@FixMethodOrder(MethodSorters.NAME_ASCENDING) +public class TestXAssetService { + + @InjectMocks + XAssetService xAssetService; + + @Mock + VXAsset vXAsset; + + @Mock + XXAsset xXAsset; + + @Mock + RangerEnumUtil xaEnumUtil; + + @Mock + JSONUtil jsonUtil; + + @Test + public void test1ValidateConfig() { + xAssetService.validateConfig(vXAsset); + } + + @Test + public void test2GetTransactionLog() { + xAssetService.getTransactionLog(vXAsset, "update"); + + } + + @Test + public void test3GetTransactionLog() { + VXAsset vXAsset = new VXAsset(); + XXAsset xXAsset = createXXAssetObject(); + xAssetService.getTransactionLog(vXAsset, xXAsset, "delete"); + + } + + @Test + public void test4GetConfigWithEncryptedPassword() { + xAssetService.getConfigWithEncryptedPassword("testconfig", false); + + } + + @Test + public void test5GetConfigWithDecryptedPassword() { + xAssetService.getConfigWithDecryptedPassword("testConfig"); + + } + + public XXAsset createXXAssetObject() { + XXAsset xXAsset = new XXAsset(); + xXAsset.setId(1L); + xXAsset.setAssetType(1); + xXAsset.setName("testName"); + xXAsset.setConfig("testconfig"); + xXAsset.setActiveStatus(1); + xXAsset.setAddedByUserId(1L); + xXAsset.setSupportNative(true); + xXAsset.setUpdatedByUserId(1L); + Date date = new Date(); + xXAsset.setCreateTime(date); + xXAsset.setUpdateTime(date); + xXAsset.setDescription("this is test description"); + return xXAsset; + } +} http://git-wip-us.apache.org/repos/asf/ranger/blob/6e9e42e7/security-admin/src/test/java/org/apache/ranger/service/TestXAuditMapService.java ---------------------------------------------------------------------- diff --git a/security-admin/src/test/java/org/apache/ranger/service/TestXAuditMapService.java b/security-admin/src/test/java/org/apache/ranger/service/TestXAuditMapService.java new file mode 100644 index 0000000..2b69f60 --- /dev/null +++ b/security-admin/src/test/java/org/apache/ranger/service/TestXAuditMapService.java @@ -0,0 +1,52 @@ +/* + * 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 org.junit.FixMethodOrder; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.MethodSorters; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.junit.MockitoJUnitRunner; +import org.apache.ranger.view.VXAuditMap; + +@RunWith(MockitoJUnitRunner.class) +@FixMethodOrder(MethodSorters.NAME_ASCENDING) +public class TestXAuditMapService { + @InjectMocks + XAuditMapService XAuditMapService; + + @Mock + VXAuditMap vXAuditMap; + + @Test + public void test1GetTransactionLog() { + XAuditMapService.getTransactionLog(vXAuditMap, "delete"); + + } + + @Test + public void test2GetTransactionLog() { + XAuditMapService.getTransactionLog(vXAuditMap, vXAuditMap, "delete"); + + } + +} http://git-wip-us.apache.org/repos/asf/ranger/blob/6e9e42e7/security-admin/src/test/java/org/apache/ranger/service/TestXGroupPermissionService.java ---------------------------------------------------------------------- diff --git a/security-admin/src/test/java/org/apache/ranger/service/TestXGroupPermissionService.java b/security-admin/src/test/java/org/apache/ranger/service/TestXGroupPermissionService.java new file mode 100644 index 0000000..f88b23a --- /dev/null +++ b/security-admin/src/test/java/org/apache/ranger/service/TestXGroupPermissionService.java @@ -0,0 +1,67 @@ +/* + * 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 org.apache.ranger.entity.XXGroupPermission; +import org.apache.ranger.view.VXModuleDef; + +import org.junit.FixMethodOrder; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.MethodSorters; +import org.mockito.Mock; +import org.mockito.junit.MockitoJUnitRunner; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.apache.ranger.entity.XXGroup; + +@RunWith(MockitoJUnitRunner.class) +@FixMethodOrder(MethodSorters.NAME_ASCENDING) +public class TestXGroupPermissionService { + @Mock + XGroupPermissionService xGroupPermissionService; + + @Mock + XXGroupPermission xXGroupPermission; + + @Mock + XXGroup XXGroup; + + @Mock + VXModuleDef vXModuleDef; + + @Test + public void test1PopulateViewBean() { + xGroupPermissionService.populateViewBean(xXGroupPermission); + + } + + @Test + public void test2GetPopulatedVXGroupPermissionList() { + Map<Long, XXGroup> xXGroupMap = new HashMap<Long, XXGroup>(); + List<XXGroupPermission> xgroupPermissionList = new ArrayList<XXGroupPermission>(); + xGroupPermissionService.getPopulatedVXGroupPermissionList(xgroupPermissionList, xXGroupMap, vXModuleDef); + + } +} http://git-wip-us.apache.org/repos/asf/ranger/blob/6e9e42e7/security-admin/src/test/java/org/apache/ranger/service/TestXGroupService.java ---------------------------------------------------------------------- diff --git a/security-admin/src/test/java/org/apache/ranger/service/TestXGroupService.java b/security-admin/src/test/java/org/apache/ranger/service/TestXGroupService.java new file mode 100644 index 0000000..85490dd --- /dev/null +++ b/security-admin/src/test/java/org/apache/ranger/service/TestXGroupService.java @@ -0,0 +1,162 @@ +/* + * 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 org.apache.ranger.db.RangerDaoManager; +import org.apache.ranger.db.XXGroupDao; +import org.apache.ranger.db.XXPortalUserDao; +import org.junit.FixMethodOrder; +import org.junit.Test; +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.junit.MockitoJUnitRunner; +import org.apache.ranger.entity.XXDBBase; +import org.apache.ranger.entity.XXGroup; +import org.apache.ranger.entity.XXPortalUser; +import org.apache.ranger.util.RangerEnumUtil; +import org.apache.ranger.view.VXGroup; + +import java.util.Date; + +import org.apache.ranger.common.StringUtil; +import org.apache.ranger.common.db.BaseDao; + +@RunWith(MockitoJUnitRunner.class) +@FixMethodOrder(MethodSorters.NAME_ASCENDING) +public class TestXGroupService { + + @InjectMocks + XGroupService XGroupService; + + @Mock + RangerDaoManager daoManager; + + @Mock + XXGroupDao xXGroupDao; + + @Mock + XXGroup resource; + + @Mock + VXGroup vxGroup; + + @Mock + XXPortalUserDao xXPortalUserDao; + + @Mock + BaseDao entityDao; + + @Mock + XXDBBase xXDBBase; + + @Mock + XXPortalUser tUser; + + @Mock + RangerEnumUtil xaEnumUtil; + + @Mock + StringUtil stringUtil; + + @Mock + AbstractBaseResourceService abstractBaseResourceService; + + @Test + public void test1GetGroupByGroupName() { + Mockito.when(daoManager.getXXGroup()).thenReturn(xXGroupDao); + XXGroup xxGroup = createXXGroup(); + Mockito.when(xXGroupDao.findByGroupName(xxGroup.getName())).thenReturn(xxGroup); + Mockito.when(daoManager.getXXPortalUser()).thenReturn(xXPortalUserDao); + Mockito.when(xXPortalUserDao.getById(xxGroup.getAddedByUserId())).thenReturn(tUser); + XGroupService.getGroupByGroupName(xxGroup.getName()); + } + + @Test + public void test2CreateXGroupWithOutLogin() { + VXGroup vxGroup = createvXGroup(); + Mockito.when(daoManager.getXXGroup()).thenReturn(xXGroupDao); + XXGroup resource = createXXGroup(); + Mockito.when(xXGroupDao.findByGroupName(vxGroup.getName())).thenReturn(resource); + Mockito.when(daoManager.getXXPortalUser()).thenReturn(xXPortalUserDao); + Mockito.when(xXPortalUserDao.getById(1l)).thenReturn(tUser); + Mockito.when(entityDao.update(resource)).thenReturn(resource); + XGroupService.createXGroupWithOutLogin(vxGroup); + } + + @Test + public void test3ReadResourceWithOutLogin() { + XXGroup resource = createXXGroup(); + Mockito.when(entityDao.getById(resource.getId())).thenReturn(resource); + Mockito.when(daoManager.getXXPortalUser()).thenReturn(xXPortalUserDao); + Mockito.when(xXPortalUserDao.getById(resource.getAddedByUserId())).thenReturn(tUser); + XGroupService.readResourceWithOutLogin(resource.getId()); + } + + @Test + public void test4GetTransactionLog() { + VXGroup vObj = createvXGroup(); + XGroupService.getTransactionLog(vObj, "update"); + + } + + @Test + public void test5GetTransactionLog() { + VXGroup vObj = createvXGroup(); + XXGroup mObj = createXXGroup(); + XGroupService.getTransactionLog(vObj, mObj, "create"); + } + + public VXGroup createvXGroup() { + VXGroup vXGroup = new VXGroup(); + Date date = new Date(); + vXGroup.setCreateDate(date); + vXGroup.setCredStoreId(1L); + vXGroup.setDescription("this is test description"); + vXGroup.setGroupSource(0); + vXGroup.setGroupType(1); + vXGroup.setId(1L); + vXGroup.setIsVisible(1); + vXGroup.setName("testGroup"); + vXGroup.setMObj(xXDBBase); + vXGroup.setOwner("admin"); + vXGroup.setUpdateDate(date); + vXGroup.setUpdatedBy("admin"); + return vXGroup; + } + + private XXGroup createXXGroup() { + XXGroup xXGroup = new XXGroup(); + Date date = new Date(); + xXGroup.setAddedByUserId(1L); + xXGroup.setCreateTime(date); + xXGroup.setCredStoreId(1L); + xXGroup.setDescription("this is test description"); + xXGroup.setGroupSource(0); + xXGroup.setGroupType(1); + xXGroup.setId(1L); + xXGroup.setIsVisible(1); + xXGroup.setName("testGroup"); + xXGroup.setUpdateTime(date); + return xXGroup; + } + +} http://git-wip-us.apache.org/repos/asf/ranger/blob/6e9e42e7/security-admin/src/test/java/org/apache/ranger/service/TestXGroupUserService.java ---------------------------------------------------------------------- diff --git a/security-admin/src/test/java/org/apache/ranger/service/TestXGroupUserService.java b/security-admin/src/test/java/org/apache/ranger/service/TestXGroupUserService.java new file mode 100644 index 0000000..4c513a8 --- /dev/null +++ b/security-admin/src/test/java/org/apache/ranger/service/TestXGroupUserService.java @@ -0,0 +1,194 @@ +/* + * 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.Date; + +import org.apache.ranger.common.db.BaseDao; +import org.apache.ranger.db.RangerDaoManager; +import org.apache.ranger.db.XXGroupDao; +import org.apache.ranger.db.XXGroupUserDao; +import org.apache.ranger.db.XXPortalUserDao; +import org.apache.ranger.db.XXUserDao; +import org.apache.ranger.entity.XXDBBase; +import org.apache.ranger.entity.XXGroup; +import org.apache.ranger.entity.XXGroupUser; +import org.apache.ranger.entity.XXPortalUser; +import org.apache.ranger.entity.XXUser; +import org.apache.ranger.view.VXGroupUser; +import org.junit.FixMethodOrder; +import org.junit.Test; +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.junit.MockitoJUnitRunner; + +@RunWith(MockitoJUnitRunner.class) +@FixMethodOrder(MethodSorters.NAME_ASCENDING) +public class TestXGroupUserService { + + @InjectMocks + XGroupUserService xGroupUserService; + + @Mock + VXGroupUser vxGroupUser; + + @Mock + RangerDaoManager daoManager; + + @Mock + XXGroupUserDao xXGroupUserDao; + + @Mock + XXGroupUser xXGroupUser; + + @Mock + XXGroupDao xXGroupDao; + + @Mock + XXGroup xXGroup; + + @Mock + XXDBBase gjObj; + + @Mock + XXPortalUserDao xXPortalUserDao; + + @Mock + XXPortalUser tUser; + + @Mock + BaseDao entityDao; + + @Mock + XXUserDao xXUserDao; + + @Mock + AbstractBaseResourceService abstractBaseResourceService; + + @Test + public void test1CreateXGroupUserWithOutLogin() { + XXGroupUser resource = createXXGroupUser(); + Mockito.when(daoManager.getXXGroupUser()).thenReturn(xXGroupUserDao); + Mockito.when(xXGroupUserDao.findByGroupNameAndUserId(resource.getName(), resource.getId())) + .thenReturn(resource); + Mockito.when(daoManager.getXXGroup()).thenReturn(xXGroupDao); + XXGroup xGroup = createXXGroup(); + VXGroupUser vxGroupUser = createVXGroupUser(); + Mockito.when(xXGroupDao.findByGroupName(vxGroupUser.getName())).thenReturn(xGroup); + Mockito.when(daoManager.getXXPortalUser()).thenReturn(xXPortalUserDao); + Mockito.when(xXPortalUserDao.getById(vxGroupUser.getId())).thenReturn(tUser); + Mockito.when(entityDao.update(resource)).thenReturn(resource); + xGroupUserService.createXGroupUserWithOutLogin(vxGroupUser); + + } + + @Test + public void test2GetTransactionLog() { + VXGroupUser vXGroupUser = createVXGroupUser(); + Mockito.when(daoManager.getXXGroup()).thenReturn(xXGroupDao); + XXGroup xGroup = createXXGroup(); + Mockito.when(xXGroupDao.getById(1L)).thenReturn(xGroup); + Mockito.when(daoManager.getXXUser()).thenReturn(xXUserDao); + XXUser xUser = createXXUser(); + Mockito.when(xXUserDao.getById(1L)).thenReturn(xUser); + xGroupUserService.getTransactionLog(vXGroupUser, "create"); + + } + + @Test + public void test3GetTransactionLog() { + VXGroupUser vObj = createVXGroupUser(); + XXGroupUser mObj = createXXGroupUser(); + Mockito.when(daoManager.getXXGroup()).thenReturn(xXGroupDao); + XXGroup xGroup = createXXGroup(); + Mockito.when(xXGroupDao.getById(1L)).thenReturn(xGroup); + Mockito.when(daoManager.getXXUser()).thenReturn(xXUserDao); + XXUser xUser = createXXUser(); + Mockito.when(xXUserDao.getById(1L)).thenReturn(xUser); + xGroupUserService.getTransactionLog(vObj, mObj, "create"); + + } + + private XXGroup createXXGroup() { + XXGroup xXGroup = new XXGroup(); + Date date = new Date(); + xXGroup.setAddedByUserId(1L); + xXGroup.setCreateTime(date); + xXGroup.setCredStoreId(1L); + xXGroup.setDescription("this is test description"); + xXGroup.setGroupSource(0); + xXGroup.setGroupType(1); + xXGroup.setId(1L); + xXGroup.setIsVisible(1); + xXGroup.setName("testName"); + xXGroup.setUpdateTime(date); + + return xXGroup; + } + + private VXGroupUser createVXGroupUser() { + VXGroupUser vxGroupUser = new VXGroupUser(); + Date date = new Date(); + vxGroupUser.setCreateDate(date); + vxGroupUser.setId(1l); + vxGroupUser.setMObj(gjObj); + vxGroupUser.setName("testGroupUser"); + vxGroupUser.setOwner("admin"); + vxGroupUser.setParentGroupId(1L); + vxGroupUser.setUpdateDate(date); + vxGroupUser.setUpdatedBy("admin"); + vxGroupUser.setUserId(1L); + return vxGroupUser; + } + + private XXGroupUser createXXGroupUser() { + XXGroupUser xXGroupUser = new XXGroupUser(); + xXGroupUser.setAddedByUserId(1L); + Date date = new Date(); + xXGroupUser.setCreateTime(date); + xXGroupUser.setId(1L); + xXGroupUser.setName("testGroupUser"); + xXGroupUser.setParentGroupId(1L); + xXGroupUser.setUpdatedByUserId(1L); + xXGroupUser.setUpdateTime(date); + xXGroupUser.setUserId(1L); + return xXGroupUser; + + } + + private XXUser createXXUser() { + XXUser xUser = new XXUser(); + xUser.setAddedByUserId(1L); + Date date = new Date(); + xUser.setCreateTime(date); + xUser.setCredStoreId(1L); + xUser.setDescription("this is test xUser"); + xUser.setId(1L); + xUser.setIsVisible(1); + xUser.setName("testUser"); + xUser.setStatus(1); + xUser.setUpdatedByUserId(1L); + xUser.setUpdateTime(date); + return xUser; + + } +} http://git-wip-us.apache.org/repos/asf/ranger/blob/6e9e42e7/security-admin/src/test/java/org/apache/ranger/service/TestXPermMapService.java ---------------------------------------------------------------------- diff --git a/security-admin/src/test/java/org/apache/ranger/service/TestXPermMapService.java b/security-admin/src/test/java/org/apache/ranger/service/TestXPermMapService.java new file mode 100644 index 0000000..d74058d --- /dev/null +++ b/security-admin/src/test/java/org/apache/ranger/service/TestXPermMapService.java @@ -0,0 +1,194 @@ +/* + * 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.Date; +import org.apache.ranger.common.StringUtil; +import org.apache.ranger.common.UserSessionBase; +import org.apache.ranger.db.RangerDaoManager; +import org.apache.ranger.db.XXAssetDao; +import org.apache.ranger.db.XXGroupDao; +import org.apache.ranger.db.XXPortalUserDao; +import org.apache.ranger.db.XXResourceDao; +import org.apache.ranger.entity.XXAsset; +import org.apache.ranger.entity.XXDBBase; +import org.apache.ranger.entity.XXGroup; +import org.apache.ranger.entity.XXPermMap; +import org.apache.ranger.entity.XXPortalUser; +import org.apache.ranger.entity.XXResource; +import org.apache.ranger.util.RangerEnumUtil; +import org.apache.ranger.view.VXGroup; +import org.apache.ranger.view.VXPermMap; +import org.apache.ranger.view.VXUser; +import org.junit.FixMethodOrder; +import org.junit.Test; +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.junit.MockitoJUnitRunner; + +@RunWith(MockitoJUnitRunner.class) +@FixMethodOrder(MethodSorters.NAME_ASCENDING) +public class TestXPermMapService { + + @InjectMocks + XPermMapService xPermMapService; + + @Mock + XXPermMap xXPermMap; + + @Mock + UserSessionBase currentUserSession; + + @Mock + RangerDaoManager daoManager; + + @Mock + StringUtil stringUtil; + + @Mock + XXPortalUserDao xXPortalUserDao; + + @Mock + XXPortalUser tUser; + + @Mock + XGroupService xGroupService; + + @Mock + VXGroup vXGroup; + + @Mock + XUserService xUserService; + + @Mock + VXUser vXUser; + + @Mock + XXDBBase gjObj; + + @Mock + XXGroupDao xXGroupDao; + + @Mock + XXResourceDao xXResourceDao; + + @Mock + XXResource xXResource; + + @Mock + XXAssetDao xXAssetDao; + + @Mock + XXAsset xXAsset; + + @Mock + RangerEnumUtil xaEnumUtil; + + @Mock + AbstractBaseResourceService abstractBaseResourceService; + + @Test + public void test1GetGroupName() { + Mockito.when(xGroupService.readResource(1L)).thenReturn(vXGroup); + xPermMapService.getGroupName(1L); + + } + + @Test + public void test2GetUserName() { + Mockito.when(xUserService.readResource(1L)).thenReturn(vXUser); + xPermMapService.getUserName(1L); + + } + + @Test + public void test3GetTransactionLog() { + VXPermMap vXPermMap = createVXPermMap(); + Mockito.when(daoManager.getXXGroup()).thenReturn(xXGroupDao); + XXGroup xGroup = createXXGroup(); + Mockito.when(xXGroupDao.getById(1L)).thenReturn(xGroup); + Mockito.when(daoManager.getXXResource()).thenReturn(xXResourceDao); + Mockito.when(xXResourceDao.getById(vXPermMap.getId())).thenReturn(xXResource); + Mockito.when(xXResource.getAssetId()).thenReturn(1L); + Mockito.when(daoManager.getXXAsset()).thenReturn(xXAssetDao); + Mockito.when(xXAssetDao.getById(1L)).thenReturn(xXAsset); + xPermMapService.getTransactionLog(vXPermMap, "create"); + + } + + @Test + public void test4GetTransactionLog() { + VXPermMap vObj = createVXPermMap(); + Mockito.when(daoManager.getXXGroup()).thenReturn(xXGroupDao); + XXGroup xGroup = createXXGroup(); + Mockito.when(xXGroupDao.getById(1L)).thenReturn(xGroup); + Mockito.when(daoManager.getXXResource()).thenReturn(xXResourceDao); + Mockito.when(xXResourceDao.getById(vObj.getId())).thenReturn(xXResource); + Mockito.when(xXResource.getAssetId()).thenReturn(1L); + Mockito.when(daoManager.getXXAsset()).thenReturn(xXAssetDao); + Mockito.when(xXAssetDao.getById(1L)).thenReturn(xXAsset); + xPermMapService.getTransactionLog(vObj, vObj, "update"); + } + + private VXPermMap createVXPermMap() { + VXPermMap vXPermMap = new VXPermMap(); + Date date = new Date(); + vXPermMap.setCreateDate(date); + vXPermMap.setGrantOrRevoke(false); + vXPermMap.setGroupId(1L); + vXPermMap.setGroupName("testGroupName"); + vXPermMap.setId(1L); + vXPermMap.setIpAddress("123.45.678.90"); + vXPermMap.setIsRecursive(0); + vXPermMap.setIsWildCard(false); + vXPermMap.setMObj(gjObj); + vXPermMap.setOwner("admin"); + vXPermMap.setPermFor(0); + vXPermMap.setPermGroup(""); + vXPermMap.setPermType(0); + vXPermMap.setResourceId(1L); + vXPermMap.setUpdateDate(date); + vXPermMap.setUpdatedBy("admin"); + vXPermMap.setUserId(1L); + vXPermMap.setUserName("testUser"); + return vXPermMap; + } + + public XXGroup createXXGroup() { + XXGroup xGroup = new XXGroup(); + xGroup.setAddedByUserId(1L); + Date date = new Date(); + xGroup.setCreateTime(date); + xGroup.setCredStoreId(1L); + xGroup.setDescription("this is test xGroup"); + xGroup.setGroupSource(1); + xGroup.setGroupType(1); + xGroup.setId(1L); + xGroup.setIsVisible(1); + xGroup.setName("testxGroup"); + xGroup.setStatus(1); + xGroup.setUpdatedByUserId(1L); + xGroup.setUpdateTime(date); + return xGroup; + } +}
