package com.oceaneconsulting.tanaguru.service.impl; import com.oceaneconsulting.tanaguru.AbstractDbUnitTest; import com.oceaneconsulting.tanaguru.entity.WsUser; import com.oceaneconsulting.tanaguru.entity.impl.WsRoleImpl; import com.oceaneconsulting.tanaguru.entity.impl.WsUserImpl; import com.oceaneconsulting.tanaguru.service.WsInvocationService; /** * Classe du test du service d'invocation * @author msobahi * */ public class WsInvocationServiceImplTest extends AbstractDbUnitTest{ /** * Nom du fichier xml contenant le jeu de donnees a importer */ private static final String INPUT_DATA_SET_FILENAME = "src/test/resources/dataSets/invocationServiceTest.xml"; /** * */ private WsInvocationService wsInvocationService; public WsInvocationServiceImplTest(String testName) { super(testName); setInputDataFileName(INPUT_DATA_SET_FILENAME); wsInvocationService = (WsInvocationService)springBeanFactory.getBean("wsInvocationService"); } /** * Test de la methode qui recupere le nombre d'invocations faites par un utilisateur */ public void testGetCountInvocByUser(){ WsRoleImpl role = new WsRoleImpl(); role.setId(new Long(2)); role.setRole("USER"); role.setLabel("Known user"); WsUser user = new WsUserImpl(); user.setId(new Long(3)); user.setName("INCONNU"); user.setFirstName("INCONNU"); user.setActive(true); user.setRole(role); int nbrInvocationByUser = wsInvocationService.getCountInvocByUser(user); assertEquals(5, nbrInvocationByUser); } /** * Test de la methode qui recupere le nombre d'invocations faites par un utilisateur pour un host */ public void testGetCountInvocByUserHostNameHostIpRole(){ WsRoleImpl role = new WsRoleImpl(); role.setId(new Long(2)); role.setRole("USER"); role.setLabel("Known user"); WsUser user = new WsUserImpl(); user.setId(new Long(3)); user.setName("INCONNU"); user.setFirstName("INCONNU"); user.setActive(true); user.setRole(role); int nbrInvocationByUser = wsInvocationService.getCountInvocByUser(user,"www.oceaneconsulting.com","192.168.15.2",role); assertEquals(5, nbrInvocationByUser); } /** * Test de la methode qui recupere le nombre d'invocations faites par un utilisateur via son identifiant */ public void testGetCountInvocByUserId(){ Long userId = new Long(3); int nbrInvocationByUser = wsInvocationService.getCountInvocByUserId(userId); assertEquals(5, nbrInvocationByUser); } /** * Test de la methode de verification du depassement du nombre limite d'invocation */ public void testCheckLimitationOverflow(){ WsRoleImpl role = new WsRoleImpl(); role.setId(new Long(2)); role.setRole("USER"); role.setLabel("Known user"); WsUser user = new WsUserImpl(); user.setId(new Long(3)); user.setName("INCONNU"); user.setFirstName("INCONNU"); user.setActive(true); user.setRole(role); boolean isLimitOverflowed = wsInvocationService.checkLimitationOverflow(user,"www.oceaneconsulting.com","192.168.15.2",role); assertTrue(isLimitOverflowed); } }