/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package qa.qcri.aidr.dbmanager.ejb.remote.facade.imp; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import java.util.Date; import java.util.List; import javax.persistence.EntityManager; import javax.persistence.Persistence; import org.apache.log4j.Logger; import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; import qa.qcri.aidr.common.exception.PropertyNotSetException; import qa.qcri.aidr.dbmanager.dto.CollectionDTO; import qa.qcri.aidr.dbmanager.dto.CrisisTypeDTO; import qa.qcri.aidr.dbmanager.dto.CustomUiTemplateDTO; import qa.qcri.aidr.dbmanager.dto.NominalAttributeDTO; import qa.qcri.aidr.dbmanager.dto.UsersDTO; /** * * @author Kushal */ public class TestCustomUiTemplateResourceFacadeImp { static EntityManager entityManager; static NominalAttributeDTO nominalAttribute; static UsersDTO user; static CollectionDTO crisis; static CustomUiTemplateDTO customUiTemplate; static CrisisTypeResourceFacadeImp crisisTypeResourceFacadeImp; static UsersResourceFacadeImp userResourceFacadeImp; static CollectionResourceFacadeImp crisisResourceFacadeImp; static CustomUiTemplateResourceFacadeImp customUiTemplateResourceFacadeImp; static NominalAttributeResourceFacadeImp nominalAttributeResourceFacadeImp; private static Logger logger = Logger.getLogger("db-manager-log"); @BeforeClass public static void setUpClass() { entityManager = Persistence.createEntityManagerFactory( "ProjectDBManagerTest-ejbPU").createEntityManager(); crisisResourceFacadeImp = new CollectionResourceFacadeImp(); crisisTypeResourceFacadeImp = new CrisisTypeResourceFacadeImp(); userResourceFacadeImp = new UsersResourceFacadeImp(); crisisResourceFacadeImp.setEntityManager(entityManager); crisisTypeResourceFacadeImp.setEntityManager(entityManager); userResourceFacadeImp.setEntityManager(entityManager); customUiTemplateResourceFacadeImp = new CustomUiTemplateResourceFacadeImp(); customUiTemplateResourceFacadeImp.setEntityManager(entityManager); nominalAttributeResourceFacadeImp = new NominalAttributeResourceFacadeImp(); nominalAttributeResourceFacadeImp.setEntityManager(entityManager); user = new UsersDTO("userDBTest"+new Date(), "normal"+new Date()); entityManager.getTransaction().begin(); user = userResourceFacadeImp.addUser(user); entityManager.getTransaction().commit(); try { CrisisTypeDTO crisisTypeDTO = crisisTypeResourceFacadeImp.findCrisisTypeByID(1100L); CollectionDTO crisisDTO = new CollectionDTO("testCrisisName"+new Date(), "testCrisisCode"+new Date(), false, false, crisisTypeDTO, user, user); entityManager.getTransaction().begin(); crisis = crisisResourceFacadeImp.addCrisis(crisisDTO); entityManager.getTransaction().commit(); nominalAttribute = nominalAttributeResourceFacadeImp.getAttributeByID(1L); } catch (PropertyNotSetException e) { logger.error("PropertyNotSetException while creating crisis "+e.getMessage()); } } @Before public void setUp() { customUiTemplate = new CustomUiTemplateDTO(crisis.getCrisisID(), nominalAttribute.getNominalAttributeId(), 1, "test_template_value", 1, true, new Date()); entityManager.getTransaction().begin(); customUiTemplate = customUiTemplateResourceFacadeImp.addCustomUITemplate(customUiTemplate); entityManager.getTransaction().commit(); } @AfterClass public static void shutDown() { try { if (crisis!= null) { entityManager.getTransaction().begin(); crisisResourceFacadeImp.deleteCrisis(crisis); entityManager.getTransaction().commit(); CollectionDTO result = crisisResourceFacadeImp.getCrisisByCode(crisis.getCode()); assertNull(result); } }catch (PropertyNotSetException e) { logger.error("PropertyNotSetException while deleting crisis "+e.getMessage()); } try { if (user != null) { entityManager.getTransaction().begin(); user = userResourceFacadeImp.getUserByName(user.getName()); userResourceFacadeImp.deleteUser(user.getUserID()); entityManager.getTransaction().commit(); UsersDTO result = userResourceFacadeImp.getUserByName(user.getName()); assertNull(result); } }catch (PropertyNotSetException e) { logger.error("PropertyNotSetException while deleting user "+e.getMessage()); } customUiTemplateResourceFacadeImp.getEntityManager().close(); } @After public void tearDown() { if(customUiTemplate!=null){ entityManager.getTransaction().begin(); customUiTemplateResourceFacadeImp.deleteCustomUiTemplateById(customUiTemplate.getCustomUitemplateId()); entityManager.getTransaction().commit(); } } /** * Test of addCustomUITemplate method, of class CustomUiTemplateResourceFacadeImp. */ @Test public void testAddCustomUITemplate() { assertEquals(nominalAttribute.getNominalAttributeId(), customUiTemplate.getNominalAttributeID()); } /** * Test of getAllCustomUITemplateByCrisisID method, of class CustomUiTemplateResourceFacadeImp. */ @Test public void testGetAllCustomUITemplateByCrisisID() { entityManager.getTransaction().begin(); List<CustomUiTemplateDTO> result = customUiTemplateResourceFacadeImp.getAllCustomUITemplateByCrisisID(crisis.getCrisisID()); entityManager.getTransaction().commit(); assertTrue(result.size()>=1); } /** * Test of getCustomUITemplateBasedOnTypeByCrisisID method, of class CustomUiTemplateResourceFacadeImp. */ @Test public void testGetCustomUITemplateBasedOnTypeByCrisisID() { entityManager.getTransaction().begin(); List<CustomUiTemplateDTO> result = customUiTemplateResourceFacadeImp.getCustomUITemplateBasedOnTypeByCrisisID(crisis.getCrisisID(), 1); entityManager.getTransaction().commit(); assertTrue(result.size()>=1); } /** * Test of getCustomUITemplateByCrisisIDAndAttributeID method, of class CustomUiTemplateResourceFacadeImp. */ @Test public void testGetCustomUITemplateByCrisisIDAndAttributeID() { entityManager.getTransaction().begin(); List<CustomUiTemplateDTO> result = customUiTemplateResourceFacadeImp.getCustomUITemplateByCrisisIDAndAttributeID(crisis.getCrisisID(), nominalAttribute.getNominalAttributeId()); entityManager.getTransaction().commit(); assertTrue(result.size()>=1); } /** * Test of updateCustomUITemplate method, of class CustomUiTemplateResourceFacadeImp. */ @Test public void testUpdateCustomUITemplate() { CustomUiTemplateDTO customUiTemplateUpdated = customUiTemplate; customUiTemplateUpdated.setTemplateValue("template_value_updated"); entityManager.getTransaction().begin(); customUiTemplate = customUiTemplateResourceFacadeImp.updateCustomUITemplate(customUiTemplate,customUiTemplateUpdated); entityManager.getTransaction().commit(); assertEquals(customUiTemplateUpdated.getTemplateValue(),customUiTemplate.getTemplateValue()); } /** * Test of updateCustomUITemplateStatus method, of class CustomUiTemplateResourceFacadeImp. */ @Test public void testUpdateCustomUITemplateStatus() { CustomUiTemplateDTO customUiTemplateUpdated = customUiTemplate; customUiTemplateUpdated.setIsActive(false); entityManager.getTransaction().begin(); customUiTemplate = customUiTemplateResourceFacadeImp.updateCustomUITemplateStatus(customUiTemplate,customUiTemplateUpdated); entityManager.getTransaction().commit(); assertEquals(customUiTemplateUpdated.getStatus(),customUiTemplate.getStatus()); } }