Repository: ranger
Updated Branches:
  refs/heads/master 86b714048 -> d352dfaab


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/d352dfaa
Tree: http://git-wip-us.apache.org/repos/asf/ranger/tree/d352dfaa
Diff: http://git-wip-us.apache.org/repos/asf/ranger/diff/d352dfaa

Branch: refs/heads/master
Commit: d352dfaab216eb7c2a1abef5b689aa993430a549
Parents: 86b7140
Author: fatimaawez <[email protected]>
Authored: Tue Jul 24 17:24:14 2018 +0530
Committer: Mehul Parikh <[email protected]>
Committed: Thu Jul 26 13:41:30 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/d352dfaa/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/d352dfaa/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/d352dfaa/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/d352dfaa/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/d352dfaa/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/d352dfaa/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/d352dfaa/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;
+       }
+}

Reply via email to