package com.ewolff.orderhandling.integration; import java.io.File; import java.io.PrintWriter; import junit.framework.Assert; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import com.ewolff.orderhandling.fullfillment.ExpressFulFillmentJms; import com.ewolff.orderhandling.fullfillment.NormalFulFillment; import com.ewolff.orderhandling.test.AbstractSpringBasedTest; public class IntegrationTestFile extends AbstractSpringBasedTest { @Autowired private NormalFulFillment normalFulFillment; @Autowired private ExpressFulFillmentJms expressFulFillmentJms; @Test public void testNormalOrder() throws Exception { int fulFillmentBefore = normalFulFillment.getOrders().size(); PrintWriter printWriter = new PrintWriter("/tmp/files/orders" + System.currentTimeMillis()); printWriter.write("21,1,iPod,101,normal,"); printWriter.flush(); printWriter.close(); int i = 0; while ((i < 50) && normalFulFillment.getOrders().size() == fulFillmentBefore) { Thread.sleep(100); i++; } Assert.assertEquals(fulFillmentBefore + 1, normalFulFillment .getOrders().size()); } @Test public void testExpressOrder() throws Exception { int fulFillmentBeforeJms = expressFulFillmentJms.getOrders().size(); File file = new File("/tmp/files/orders" + System.currentTimeMillis()); PrintWriter printWriter = new PrintWriter(file); printWriter.write("20,1,iPod,102,express,"); printWriter.close(); int i = 0; while (i < 70 && expressFulFillmentJms.getOrders().size() == fulFillmentBeforeJms) { Thread.sleep(100); i++; } Assert.assertEquals(fulFillmentBeforeJms + 1, expressFulFillmentJms .getOrders().size()); } }