package egovframework.rte.itl.integration.metadata.dao.hibernate; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import javax.sql.DataSource; import org.dbunit.database.IDatabaseConnection; import org.dbunit.dataset.ReplacementDataSet; import org.dbunit.dataset.xml.FlatXmlDataSet; import org.dbunit.operation.DatabaseOperation; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.transaction.TransactionConfiguration; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.ResourceUtils; import egovframework.rte.itl.integration.metadata.ServiceDefinition; import egovframework.rte.itl.integration.metadata.SystemDefinition; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = "/egovframework/rte/itl/integration/metadata/dao/hibernate/context.xml") @TransactionConfiguration(defaultRollback = true) @Transactional(readOnly=false) public class HibernateSystemDefinitionDaoTest { @Autowired private HibernateSystemDefinitionDao dao; @Autowired private DataSource dataSource; @Before public void before() throws Exception { ReplacementDataSet dataSet = new ReplacementDataSet(new FlatXmlDataSet( ResourceUtils.getFile("classpath:egovframework/rte/itl/integration/metadata/dao/hibernate/dataset.xml"))); dataSet.addReplacementObject("[null]", null); IDatabaseConnection connection = new SpringDatabaseDataSourceConnection(dataSource); DatabaseOperation.CLEAN_INSERT.execute(connection, dataSet); } @Test public void testReadSucceeds() throws Exception { SystemDefinition systemA0 = dao.getSystemDefinition("00000000", "00000000"); assertNotNull(systemA0); assertTrue(systemA0.isValid()); assertEquals("00000000", systemA0.getId()); assertEquals("System A0", systemA0.getName()); assertEquals(true, systemA0.isStandard()); assertEquals(1, systemA0.getServices().size()); assertEquals("00000000", systemA0.getOrganization().getId()); ServiceDefinition serviceA0_0 = systemA0.getServiceDefinition("00000000"); assertNotNull(serviceA0_0); assertTrue(serviceA0_0.isValid()); assertEquals("00000000", serviceA0_0.getId()); assertEquals("Service A0-0", serviceA0_0.getName()); assertEquals("M1", serviceA0_0.getRequestMessageTypeId()); assertEquals("M2", serviceA0_0.getResponseMessageTypeId()); assertNull(serviceA0_0.getServiceProviderBeanId()); assertEquals(systemA0, serviceA0_0.getSystem()); } @Test public void testReadFails() throws Exception { SystemDefinition system = dao.getSystemDefinition("00000000", "00000003"); assertNull(system); } }