/*
* 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.*;
import org.apache.ranger.entity.*;
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.setUpdateTime(new Date());
xServiceDef.setUpdatedByUserId(Id);
xServiceDef.setImplclassname("RangerServiceHdfs");
xServiceDef.setLabel("HDFS Repository");
xServiceDef.setRbkeylabel(null);
xServiceDef.setRbkeydescription(null);
xServiceDef.setIsEnabled(true);
return xServiceDef;
}
@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);
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();
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(daoManager.getXXAccessTypeDef()).thenReturn(
xAccessTypeDefDao);
Mockito.when(daoManager.getXXPolicyConditionDef()).thenReturn(
xPolicyConditionDefDao);
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);
XXDataMaskTypeDefDao xDataMaskTypeDao = Mockito.mock(XXDataMaskTypeDefDao.class);
List<XXDataMaskTypeDef> xDataMaskTypeDefs = new ArrayList<XXDataMaskTypeDef>();
Mockito.when(daoManager.getXXDataMaskTypeDef()).thenReturn(xDataMaskTypeDao);
Mockito.when(xDataMaskTypeDao.findByServiceDefId(serviceDef.getId())).thenReturn(xDataMaskTypeDefs);
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);
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.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);
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(daoManager.getXXAccessTypeDef()).thenReturn(
xAccessTypeDefDao);
Mockito.when(daoManager.getXXPolicyConditionDef()).thenReturn(
xPolicyConditionDefDao);
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);
XXDataMaskTypeDefDao xDataMaskTypeDao = Mockito.mock(XXDataMaskTypeDefDao.class);
List<XXDataMaskTypeDef> xDataMaskTypeDefs = new ArrayList<XXDataMaskTypeDef>();
Mockito.when(daoManager.getXXDataMaskTypeDef()).thenReturn(xDataMaskTypeDao);
Mockito.when(xDataMaskTypeDao.findByServiceDefId(serviceDef.getId())).thenReturn(xDataMaskTypeDefs);
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);
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();
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(daoManager.getXXAccessTypeDef()).thenReturn(
xAccessTypeDefDao);
Mockito.when(daoManager.getXXPolicyConditionDef()).thenReturn(
xPolicyConditionDefDao);
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);
XXDataMaskTypeDefDao xDataMaskTypeDao = Mockito.mock(XXDataMaskTypeDefDao.class);
List<XXDataMaskTypeDef> xDataMaskTypeDefs = new ArrayList<XXDataMaskTypeDef>();
Mockito.when(daoManager.getXXDataMaskTypeDef()).thenReturn(xDataMaskTypeDao);
Mockito.when(xDataMaskTypeDao.findByServiceDefId(serviceDef.getId())).thenReturn(xDataMaskTypeDefs);
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();
}
}