/** * Copyright (C) 2008 Maurice Zeijen <maurice@zeijen.net> * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.milyn.smooks.mule; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import java.util.Locale; import java.util.TimeZone; import org.apache.commons.io.IOUtils; import org.junit.Test; import org.mule.extras.client.MuleClient; import org.mule.impl.MuleMessage; import org.mule.tck.FunctionalTestCase; import org.mule.util.FileUtils; /** * * @author <a href="mailto:maurice@zeijen.net">Maurice Zeijen</a> * */ public class RouterGeneralFunctionalTest extends FunctionalTestCase { private final File routingTestDir = new File("target" + File.separator + "routing-test"); private final File reportFile = new File ( "target" + File.separator + "smooks-report" + File.separator + "report.html" ); private final File test1File = new File(routingTestDir, "file1.dat"); private final File[] test2Files = new File[] { new File(routingTestDir, "file2-0.dat"), new File(routingTestDir, "file2-1.dat"), new File(routingTestDir, "file2-2.dat"), }; private final File testReplyFile = new File(routingTestDir, "fileReply.dat"); @Override protected String getConfigResources() { return "router-mule-config.xml"; } @Test public void testRouter() throws Exception { InputStream in = getClass().getResourceAsStream("/router-input-message.xml"); MuleClient client = new MuleClient(); MuleMessage message = new MuleMessage(in); client.send("vm://messageInput", message); assertTrue("File '" + test1File + "' doesn't exist.", test1File.exists()); for(int i = 0; i < test2Files.length; i++) { assertTrue("File '" + test2Files[i] + "' doesn't exist.", test2Files[i].exists()); } assertTrue("File '" + testReplyFile + "' doesn't exist.", testReplyFile.exists()); String testReplyFileContent = IOUtils.toString(new FileInputStream(testReplyFile), "UTF-8"); assertEquals("Reply value incorrect", "Hello World,testValue,test2Value,10,1215779456000,xmlTest1Value,xmlTest2Value,overwritten," + message.getUniqueId(), testReplyFileContent); assertTrue(reportFile.exists()); } /* (non-Javadoc) * @see org.mule.tck.FunctionalTestCase#doPreFunctionalSetUp() */ @Override protected void doPreFunctionalSetUp() throws Exception { super.doPreFunctionalSetUp(); TimeZone.setDefault(TimeZone.getTimeZone("EST")); Locale.setDefault(Locale.ENGLISH); FileUtils.deleteDirectory(routingTestDir); if(reportFile.exists()) { reportFile.delete(); } } }