package hk.hku.cecid.edi.as2.dao.test; import java.util.List; import org.junit.Ignore; import org.junit.Test; import junit.framework.Assert; import hk.hku.cecid.edi.as2.dao.MessageDVO; import hk.hku.cecid.edi.as2.dao.MessageDataSourceDAO; import hk.hku.cecid.piazza.commons.dao.DAOException; import hk.hku.cecid.piazza.commons.test.DAOTest; @Ignore public class MessageDataSourcesDAOTest extends DAOTest<MessageDataSourceDAO>{ @Override public String getTableName() { return "message"; } @Test public void testFindNumberOfMessageByHistory() throws DAOException{ System.out.println("Start test Dynamic Filter Query on MessageDataSourceDAO . . ."); logger.info("Start test Dynamic Filter Query on MessageDataSourceDAO . . ."); //Positive Case MessageDataSourceDAO dao = super.getTestingTarget(); MessageDVO criteriaDVO = (MessageDVO) dao.createDVO(); int result = dao.findNumberOfMessagesByHistory(criteriaDVO); Assert.assertEquals(10, result); criteriaDVO = (MessageDVO) dao.createDVO(); criteriaDVO.setMessageBox(MessageDVO.MSGBOX_IN); result = dao.findNumberOfMessagesByHistory(criteriaDVO); Assert.assertEquals(5, result); criteriaDVO = (MessageDVO) dao.createDVO(); criteriaDVO.setMessageId("20090910-120000-12345@127.0.0.1"); result = dao.findNumberOfMessagesByHistory(criteriaDVO); Assert.assertEquals(1, result); criteriaDVO = (MessageDVO) dao.createDVO(); criteriaDVO.setMessageId("%120000%"); result = dao.findNumberOfMessagesByHistory(criteriaDVO); Assert.assertEquals(10, result); criteriaDVO = (MessageDVO) dao.createDVO(); criteriaDVO.setAs2From("as2From"); criteriaDVO.setAs2To("as2To"); result = dao.findNumberOfMessagesByHistory(criteriaDVO); Assert.assertEquals(10, result); criteriaDVO = (MessageDVO) dao.createDVO(); criteriaDVO.setStatus(MessageDVO.STATUS_DELIVERY_FAILURE); result = dao.findNumberOfMessagesByHistory(criteriaDVO); Assert.assertEquals(2, result); criteriaDVO = (MessageDVO) dao.createDVO(); criteriaDVO.setAs2From(null); criteriaDVO.setAs2To(null); result = dao.findNumberOfMessagesByHistory(criteriaDVO); Assert.assertEquals(10, result); //Negative Case criteriaDVO = (MessageDVO) dao.createDVO(); criteriaDVO.setMessageId("ABC"); result = dao.findNumberOfMessagesByHistory(criteriaDVO); Assert.assertEquals(0, result); criteriaDVO = (MessageDVO) dao.createDVO(); criteriaDVO.setMessageBox("INOUT"); result = dao.findNumberOfMessagesByHistory(criteriaDVO); Assert.assertEquals(0, result); criteriaDVO = (MessageDVO) dao.createDVO(); criteriaDVO.setAs2From("as2To"); criteriaDVO.setAs2To("as2From"); result = dao.findNumberOfMessagesByHistory(criteriaDVO); Assert.assertEquals(0, result); criteriaDVO = (MessageDVO) dao.createDVO(); criteriaDVO.setAs2From("as2From"); criteriaDVO.setAs2To("as2From"); result = dao.findNumberOfMessagesByHistory(criteriaDVO); Assert.assertEquals(0, result); criteriaDVO = (MessageDVO) dao.createDVO(); criteriaDVO.setAs2From(""); criteriaDVO.setAs2To(" "); result = dao.findNumberOfMessagesByHistory(criteriaDVO); Assert.assertEquals(0, result); } @Test public void testFindfMessageByHistory() throws DAOException{ System.out.println("Start test Dynamic Filter Query on MessageDataSourceDAO . . ."); logger.info("Start test Dynamic Filter Query on MessageDataSourceDAO . . ."); // Test Message Box MessageDataSourceDAO dao = super.getTestingTarget(); MessageDVO criteriaDVO = (MessageDVO) dao.createDVO(); criteriaDVO.setMessageBox(MessageDVO.MSGBOX_IN); List<MessageDVO> resultList = dao.findMessagesByHistory(criteriaDVO, 100, 0); Assert.assertEquals(5, resultList.size()); for(MessageDVO dvo: resultList){ Assert.assertEquals(MessageDVO.MSGBOX_IN, dvo.getMessageBox()); } // Test Message Box and Status criteriaDVO = (MessageDVO) dao.createDVO(); criteriaDVO.setMessageBox(MessageDVO.MSGBOX_IN); criteriaDVO.setStatus(MessageDVO.STATUS_PROCESSED); resultList = dao.findMessagesByHistory(criteriaDVO, 100, 0); Assert.assertEquals(2, resultList.size()); for(MessageDVO dvo: resultList){ Assert.assertEquals(MessageDVO.MSGBOX_IN, dvo.getMessageBox()); Assert.assertEquals(MessageDVO.STATUS_PROCESSED, dvo.getStatus()); } // Test Message AS2 From and AS2 To criteriaDVO = (MessageDVO) dao.createDVO(); criteriaDVO.setAs2From("as2From"); criteriaDVO.setAs2To("as2To"); resultList = dao.findMessagesByHistory(criteriaDVO, 100, 0); Assert.assertEquals(10, resultList.size()); for(MessageDVO dvo: resultList){ Assert.assertEquals("as2From", dvo.getAs2From()); Assert.assertEquals("as2To", dvo.getAs2To()); } // Test Message AS2 From and AS2 To criteriaDVO = (MessageDVO) dao.createDVO(); criteriaDVO.setMessageId("20090910-120000-23457@127.0.0.1"); resultList = dao.findMessagesByHistory(criteriaDVO, 100, 0); Assert.assertEquals(1, resultList.size()); for(MessageDVO dvo: resultList){ Assert.assertEquals("20090910-120000-23457@127.0.0.1", dvo.getMessageId()); Assert.assertEquals(MessageDVO.MSGBOX_IN, dvo.getMessageBox()); Assert.assertEquals(MessageDVO.STATUS_PROCESSED, dvo.getStatus()); } //Test OFFSET and LIMIT Value criteriaDVO = (MessageDVO) dao.createDVO(); criteriaDVO.setMessageBox(MessageDVO.MSGBOX_IN); resultList = dao.findMessagesByHistory(criteriaDVO, 100, 2); Assert.assertEquals(3, resultList.size()); //Test OFFSET and LIMIT Value criteriaDVO = (MessageDVO) dao.createDVO(); criteriaDVO.setMessageBox(MessageDVO.MSGBOX_IN); resultList = dao.findMessagesByHistory(criteriaDVO, 3, 3); Assert.assertEquals(2, resultList.size()); criteriaDVO = (MessageDVO) dao.createDVO(); criteriaDVO.setAs2From(""); criteriaDVO.setAs2To(" "); resultList = dao.findMessagesByHistory(criteriaDVO, 3, 3); Assert.assertTrue(resultList.isEmpty()); } }