package sushi.esper.eventimport; import static org.junit.Assert.assertTrue; import java.util.Set; import org.junit.Before; import org.junit.Test; import sushi.FileUtils; import sushi.edifact.importer.EdifactImporter; import sushi.esper.SushiStreamProcessingAdapter; import sushi.event.SushiEvent; import sushi.event.SushiEventType; import sushi.eventhandling.Broker; import sushi.persistence.Persistor; import sushi.query.SushiQueryTypeEnum; import sushi.query.SushiLiveQueryListener; import sushi.query.SushiQuery; import sushi.xml.importer.XMLParser; import sushi.xml.importer.XMLParsingException; import sushi.xml.importer.XSDParser; public class EdifactXMLImporterTest { private static String edifactPath = "src/test/resources/1_BERMAN.txt"; private static String copinoPath = "src/test/resources/6_COPINO.txt"; private static String xmlPath = "src/test/resources/1_BERMAN.xml"; private static String xsdPath = "src/test/resources/berman.xsd"; private SushiStreamProcessingAdapter esper; @Before public void setup(){ Persistor.useTestEnviroment(); esper = SushiStreamProcessingAdapter.getInstance(); } @Test public void importEdifactXML() throws XMLParsingException { SushiEventType eventType = XSDParser.generateEventTypeFromXSD(xsdPath, FileUtils.getFileNameWithoutExtension(xsdPath)); Broker.send(eventType); // System.out.println(eventType.getValueTypeTree()); assertTrue("not found eventType, but found " + SushiEventType.findAll(), SushiEventType.findByID(eventType.getID())==eventType); SushiEvent event = XMLParser.generateEventFromXML(xmlPath); SushiQuery query = new SushiQuery("xmlEvent", "Select * from " + eventType.getTypeName(), SushiQueryTypeEnum.LIVE); SushiQuery testAtts = new SushiQuery("testAtts", "Select env_syntaxIdentifier.env_id as SyntaxID, env_interchangeMessage.env_UNH.env_messageIdentifier.env_id as messageIdentifier " + "from " + eventType.getTypeName(), SushiQueryTypeEnum.LIVE); SushiLiveQueryListener listener = query.addToEsper(); SushiLiveQueryListener listenerAtts = testAtts.addToEsper(); esper.addEvent(event); System.out.println(listenerAtts.getLog()); // System.out.println(event.fullEvent()); assertTrue("should have found 1 event in eventType, but found " + listener.getNumberOfLogEntries(), listener.getNumberOfLogEntries() == 1); } @Test public void testGenerateEventFromEdifact() throws XMLParsingException, Exception { SushiEvent event = EdifactImporter.getInstance().generateEventFromEdifact(edifactPath); assertTrue("not created event", event != null); Broker.send(event.getEventType()); assertTrue(SushiStreamProcessingAdapter.getInstance().isEventType(event.getEventType())); System.out.println("EventType: "); System.out.println(event.getEventType().getValueTypeTree().toString()); Broker.send(event); } @Test public void testCopinoEventUpload() throws XMLParsingException, Exception { SushiEvent event = EdifactImporter.getInstance().generateEventFromEdifact(copinoPath); assertTrue("not created event", event != null); Broker.send(event.getEventType()); assertTrue(SushiStreamProcessingAdapter.getInstance().isEventType(event.getEventType())); System.out.println("EventType: "); System.out.println(event.getEventType().getValueTypeTree().toString()); Broker.send(event); } }