package com.muleinaction;
import static junit.framework.Assert.assertTrue;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import java.io.File;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
import org.apache.commons.io.FileUtils;
import org.custommonkey.xmlunit.Diff;
import org.junit.Test;
import org.mule.api.MuleMessage;
import org.mule.api.client.MuleClient;
import org.mule.tck.junit4.FunctionalTestCase;
public class WebServicesFunctionalTestCase extends FunctionalTestCase {
@Override
protected String getConfigResources() {
return "src/main/app/ws-config.xml";
}
@Test
public void testCanConsumeRESTfulService() throws Exception {
MuleClient client = muleContext.getClient();
Map parameters = new HashMap();
parameters.put("Content-Type", "application/json");
parameters.put("http.method", "GET");
MuleMessage response = client.send("http://localhost:8091/rest/brews", "", parameters);
assertNotNull(response);
assertEquals(FileUtils.readFileToString(new File("src/test/resources/brew.rest.response.js")),
response.getPayloadAsString());
}
@Test
public void testCanConsumeSOAPService() throws Exception {
MuleClient client = muleContext.getClient();
String request = FileUtils.readFileToString(new File("src/test/resources/brew.soap.request.xml"));
MuleMessage response = client.send("http://localhost:8090/soap", request, null);
assertNotNull(response);
Diff diff = new Diff(FileUtils.readFileToString(new File("src/test/resources/brew.soap.response.xml")),
response.getPayloadAsString());
assertTrue( diff.toString(),diff.similar());
}
}