Author: hiranya
Date: Sun Jul 14 23:06:26 2013
New Revision: 1503079

URL: http://svn.apache.org/r1503079
Log:
Adding sample 800 (REST APIs) to the integration test suite. Updated sample 150 
(proxy services) to check for the WSDL of the proxy service.

Added:
    
synapse/trunk/java/modules/integration/src/test/java/org/apache/synapse/samples/framework/clients/BasicHttpClient.java
    
synapse/trunk/java/modules/integration/src/test/java/org/apache/synapse/samples/framework/clients/HttpResponse.java
    
synapse/trunk/java/modules/integration/src/test/java/org/apache/synapse/samples/framework/tests/rest/
    
synapse/trunk/java/modules/integration/src/test/java/org/apache/synapse/samples/framework/tests/rest/Sample800.java
    synapse/trunk/java/modules/integration/src/test/resources/sample800.xml
Modified:
    
synapse/trunk/java/modules/integration/src/test/java/org/apache/synapse/samples/framework/TestSamplesHandlerSuite.java
    
synapse/trunk/java/modules/integration/src/test/java/org/apache/synapse/samples/framework/tests/proxy/Sample150.java

Modified: 
synapse/trunk/java/modules/integration/src/test/java/org/apache/synapse/samples/framework/TestSamplesHandlerSuite.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/integration/src/test/java/org/apache/synapse/samples/framework/TestSamplesHandlerSuite.java?rev=1503079&r1=1503078&r2=1503079&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/integration/src/test/java/org/apache/synapse/samples/framework/TestSamplesHandlerSuite.java
 (original)
+++ 
synapse/trunk/java/modules/integration/src/test/java/org/apache/synapse/samples/framework/TestSamplesHandlerSuite.java
 Sun Jul 14 23:06:26 2013
@@ -28,6 +28,7 @@ import org.apache.synapse.samples.framew
 import org.apache.synapse.samples.framework.tests.proxy.*;
 import org.apache.synapse.samples.framework.tests.qos.Sample100;
 import org.apache.synapse.samples.framework.tests.qos.Sample101;
+import org.apache.synapse.samples.framework.tests.rest.Sample800;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -138,7 +139,7 @@ public class TestSamplesHandlerSuite ext
             }
         } else {
             suiteName = "AllSamplesSuite";
-            for (int i = 0; i <= 600; i++) {
+            for (int i = 0; i <= 1000; i++) {
                 Class testClass = (Class) 
sampleClassRepo.get(Integer.toString(i));
                 if (testClass != null) {
                     suiteClassesList.add(testClass);
@@ -222,5 +223,7 @@ public class TestSamplesHandlerSuite ext
         sampleClassRepo.put("451", Sample451.class);
         sampleClassRepo.put("452", Sample452.class);
         sampleClassRepo.put("460", Sample460.class);
+
+        sampleClassRepo.put("800", Sample800.class);
     }
 }
\ No newline at end of file

Added: 
synapse/trunk/java/modules/integration/src/test/java/org/apache/synapse/samples/framework/clients/BasicHttpClient.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/integration/src/test/java/org/apache/synapse/samples/framework/clients/BasicHttpClient.java?rev=1503079&view=auto
==============================================================================
--- 
synapse/trunk/java/modules/integration/src/test/java/org/apache/synapse/samples/framework/clients/BasicHttpClient.java
 (added)
+++ 
synapse/trunk/java/modules/integration/src/test/java/org/apache/synapse/samples/framework/clients/BasicHttpClient.java
 Sun Jul 14 23:06:26 2013
@@ -0,0 +1,38 @@
+package org.apache.synapse.samples.framework.clients;
+
+import org.apache.http.HttpEntity;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.entity.BasicHttpEntity;
+import org.apache.http.impl.client.DefaultHttpClient;
+
+import java.io.ByteArrayInputStream;
+
+public class BasicHttpClient {
+
+    public HttpResponse doGet(String url) throws Exception {
+        HttpClient client = new DefaultHttpClient();
+        try {
+            HttpGet get = new HttpGet(url);
+            return new HttpResponse(client.execute(get));
+        } finally {
+            client.getConnectionManager().shutdown();
+        }
+    }
+
+    public HttpResponse doPost(String url, byte[] payload, String contentType) 
throws Exception {
+        HttpClient client = new DefaultHttpClient();
+        try {
+            HttpPost post = new HttpPost(url);
+            BasicHttpEntity entity = new BasicHttpEntity();
+            entity.setContentType(contentType);
+            entity.setContent(new ByteArrayInputStream(payload));
+            post.setEntity(entity);
+            return new HttpResponse(client.execute(post));
+        } finally {
+            client.getConnectionManager().shutdown();
+        }
+    }
+
+}

Added: 
synapse/trunk/java/modules/integration/src/test/java/org/apache/synapse/samples/framework/clients/HttpResponse.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/integration/src/test/java/org/apache/synapse/samples/framework/clients/HttpResponse.java?rev=1503079&view=auto
==============================================================================
--- 
synapse/trunk/java/modules/integration/src/test/java/org/apache/synapse/samples/framework/clients/HttpResponse.java
 (added)
+++ 
synapse/trunk/java/modules/integration/src/test/java/org/apache/synapse/samples/framework/clients/HttpResponse.java
 Sun Jul 14 23:06:26 2013
@@ -0,0 +1,64 @@
+package org.apache.synapse.samples.framework.clients;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMXMLBuilderFactory;
+import org.apache.axiom.om.OMXMLParserWrapper;
+import org.apache.http.Header;
+import org.apache.http.HttpEntity;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.HashMap;
+import java.util.Map;
+
+public class HttpResponse {
+
+    private int status;
+    private Map<String,String> headers = new HashMap<String, String>();
+    private byte[] body;
+
+    public HttpResponse(org.apache.http.HttpResponse response) throws 
IOException {
+        this.status = response.getStatusLine().getStatusCode();
+        Header[] headers = response.getAllHeaders();
+        for (Header header : headers) {
+            this.headers.put(header.getName(), header.getValue());
+        }
+        HttpEntity entity = response.getEntity();
+        if (entity != null) {
+            InputStream in = entity.getContent();
+            byte[] data = new byte[1024];
+            ByteArrayOutputStream out = new ByteArrayOutputStream();
+            int len;
+            while ((len = in.read(data)) != -1) {
+                out.write(data, 0, len);
+            }
+            this.body = out.toByteArray();
+            out.close();
+            in.close();
+        }
+    }
+
+    public int getStatus() {
+        return status;
+    }
+
+    public Map<String, String> getHeaders() {
+        return headers;
+    }
+
+    public byte[] getBody() {
+        return body;
+    }
+
+    public OMElement getBodyAsXML() {
+        OMXMLParserWrapper builder = OMXMLBuilderFactory.createOMBuilder(
+                new ByteArrayInputStream(this.body));
+        return builder.getDocumentElement();
+    }
+
+    public String getBodyAsString() {
+        return new String(this.body);
+    }
+}

Modified: 
synapse/trunk/java/modules/integration/src/test/java/org/apache/synapse/samples/framework/tests/proxy/Sample150.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/integration/src/test/java/org/apache/synapse/samples/framework/tests/proxy/Sample150.java?rev=1503079&r1=1503078&r2=1503079&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/integration/src/test/java/org/apache/synapse/samples/framework/tests/proxy/Sample150.java
 (original)
+++ 
synapse/trunk/java/modules/integration/src/test/java/org/apache/synapse/samples/framework/tests/proxy/Sample150.java
 Sun Jul 14 23:06:26 2013
@@ -18,10 +18,14 @@
  */
 package org.apache.synapse.samples.framework.tests.proxy;
 
+import org.apache.axiom.om.OMElement;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.http.HttpStatus;
 import org.apache.synapse.samples.framework.SampleClientResult;
 import org.apache.synapse.samples.framework.SynapseTestCase;
+import org.apache.synapse.samples.framework.clients.BasicHttpClient;
+import org.apache.synapse.samples.framework.clients.HttpResponse;
 import org.apache.synapse.samples.framework.clients.StockQuoteSampleClient;
 
 public class Sample150 extends SynapseTestCase {
@@ -35,7 +39,6 @@ public class Sample150 extends SynapseTe
         client = getStockQuoteClient();
     }
 
-
     public void testBasicProxy() {
         String addUrl = "http://localhost:8280/services/StockQuoteProxy";;
         log.info("Running test: Introduction to proxy services");
@@ -43,4 +46,12 @@ public class Sample150 extends SynapseTe
         assertTrue("Client did not get run successfully ", 
result.responseReceived());
     }
 
+    public void testProxyWSDL() throws Exception {
+        BasicHttpClient client = new BasicHttpClient();
+        HttpResponse response = 
client.doGet("http://localhost:8280/services/StockQuoteProxy?wsdl";);
+        assertEquals(response.getStatus(), HttpStatus.SC_OK);
+        OMElement element = response.getBodyAsXML();
+        assertEquals(element.getLocalName(), "definitions");
+    }
+
 }

Added: 
synapse/trunk/java/modules/integration/src/test/java/org/apache/synapse/samples/framework/tests/rest/Sample800.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/integration/src/test/java/org/apache/synapse/samples/framework/tests/rest/Sample800.java?rev=1503079&view=auto
==============================================================================
--- 
synapse/trunk/java/modules/integration/src/test/java/org/apache/synapse/samples/framework/tests/rest/Sample800.java
 (added)
+++ 
synapse/trunk/java/modules/integration/src/test/java/org/apache/synapse/samples/framework/tests/rest/Sample800.java
 Sun Jul 14 23:06:26 2013
@@ -0,0 +1,40 @@
+package org.apache.synapse.samples.framework.tests.rest;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.http.HttpStatus;
+import org.apache.synapse.samples.framework.SynapseTestCase;
+import org.apache.synapse.samples.framework.clients.BasicHttpClient;
+import org.apache.synapse.samples.framework.clients.HttpResponse;
+
+public class Sample800 extends SynapseTestCase {
+
+    private static final Log log = LogFactory.getLog(Sample800.class);
+
+    public Sample800() {
+        super(800);
+    }
+
+    public void testGetQuote() throws Exception {
+        BasicHttpClient client = new BasicHttpClient();
+        HttpResponse response = 
client.doGet("http://127.0.0.1:8280/stockquote/view/IBM";);
+        assertEquals(response.getStatus(), HttpStatus.SC_OK);
+        OMElement body = response.getBodyAsXML();
+        assertEquals(body.getLocalName(), "getQuoteResponse");
+    }
+
+    public void testPlaceOrder() throws Exception {
+        BasicHttpClient client = new BasicHttpClient();
+        String payload = "<placeOrder xmlns=\"http://services.samples\";>\n" +
+                "  <order>\n" +
+                "     <price>50</price>\n" +
+                "     <quantity>10</quantity>\n" +
+                "     <symbol>IBM</symbol>\n" +
+                "  </order>\n" +
+                "</placeOrder>";
+        HttpResponse response = 
client.doPost("http://127.0.0.1:8280/stockquote/order";,
+                payload.getBytes(), "application/xml");
+        assertEquals(response.getStatus(), HttpStatus.SC_ACCEPTED);
+    }
+}

Added: synapse/trunk/java/modules/integration/src/test/resources/sample800.xml
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/integration/src/test/resources/sample800.xml?rev=1503079&view=auto
==============================================================================
--- synapse/trunk/java/modules/integration/src/test/resources/sample800.xml 
(added)
+++ synapse/trunk/java/modules/integration/src/test/resources/sample800.xml Sun 
Jul 14 23:06:26 2013
@@ -0,0 +1,19 @@
+<synapseSample>
+    <sampleID>800</sampleID>
+    <sampleName>Introduction to REST APIs</sampleName>
+    <synapseConfig>
+        <!--if we don't specify the optional values, framework will use 
defaults-->
+        <axis2Repo>modules/integration/target/test_repos/synapse</axis2Repo>
+        
<axis2Xml>modules/integration/target/test_repos/synapse/conf/axis2_def.xml</axis2Xml>
+        <synapseXml>repository/conf/sample/synapse_sample_800.xml</synapseXml>
+    </synapseConfig>
+    <backEndServerConfig>
+        <axis2Server id='0'>
+            
<axis2Repo>modules/integration/target/test_repos/axis2Server</axis2Repo>
+            
<axis2Xml>modules/integration/target/test_repos/axis2Server/conf/axis2_def.xml</axis2Xml>
+        </axis2Server>
+    </backEndServerConfig>
+    <clientConfig>
+        
<clientRepo>modules/integration/target/test_repos/axis2Client</clientRepo>
+    </clientConfig>
+</synapseSample>


Reply via email to