package eu.ggnet.dwoss.report; import eu.ggnet.dwoss.mandator.api.value.ReceiptCustomers; import eu.ggnet.dwoss.mandator.api.value.ShippingTerms; import eu.ggnet.dwoss.mandator.api.value.PostLedger; import eu.ggnet.dwoss.mandator.api.value.SpecialSystemCustomers; import java.util.*; import javax.ejb.EJB; import javax.ejb.embeddable.EJBContainer; import javax.enterprise.inject.Produces; import javax.inject.Inject; import javax.naming.NamingException; import org.junit.*; import eu.ggnet.dwoss.configuration.SystemConfig; import eu.ggnet.dwoss.report.assist.ReportPu; import eu.ggnet.dwoss.report.assist.gen.ReportLineGeneratorOperation; import eu.ggnet.dwoss.report.entity.ReportLine; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; public class ContainerIT { private EJBContainer container; @EJB private ReportAgent reportAgent; @Inject private ReportLineGeneratorOperation generator; @Produces ReceiptCustomers p = new ReceiptCustomers(new HashMap<>()); @Produces SpecialSystemCustomers sc = new SpecialSystemCustomers(new HashMap<>()); @Produces PostLedger pl = new PostLedger(new HashMap<>()); @Produces ShippingTerms st = new ShippingTerms(new HashMap<>()); @Before public void setUp() throws NamingException { Map<String, Object> c = new HashMap<>(); c.putAll(ReportPu.CMP_IN_MEMORY); c.putAll(SystemConfig.OPENEJB_EJB_XML_DISCOVER); c.putAll(SystemConfig.OPENEJB_LOG_WARN); container = EJBContainer.createEJBContainer(c); container.getContext().bind("inject", this); } @After public void tearDown() { container.close(); } @Test public void testPersistence() { generator.makeReportLines(100); List<ReportLine> lines = reportAgent.findAll(ReportLine.class); assertNotNull(lines); assertFalse(lines.isEmpty()); } }