package org.apache.synapse.transport.nhttp; import junit.framework.TestCase; import org.apache.synapse.transport.nhttp.util.NhttpUtil; public class RestURLPostfixTest extends TestCase { /** * Test whether the REST_URL_PPOSTFIX contains a prefix as "/" */ public void testPrefixingSlash(){ String uri = "/epdata?size=10"; String servicePath = "services"; String REST_URL_POSTFIX = NhttpUtil.getRestUrlPostfix(uri, servicePath); assertTrue(REST_URL_POSTFIX != null && !REST_URL_POSTFIX.startsWith("/")); } /** * Include the service patch (services) keyword in the uri and check whether the REST_URL_POSTFIX is generated properly. */ public void testServicePathInclusion(){ //When the servicePath is somewhere in the middle of the uri String uri = "/epdata/services/?size=10"; String servicePath = "services"; String REST_URL_POSTFIX = NhttpUtil.getRestUrlPostfix(uri, servicePath); //REST_URL_POSTFIX should not be null and should contain the servicePath. assertTrue(REST_URL_POSTFIX != null && REST_URL_POSTFIX.contains(servicePath)); //When the servicePatch is in the beginning of the uri uri = "/services/epdata?size=10"; REST_URL_POSTFIX = NhttpUtil.getRestUrlPostfix(uri, servicePath); //REST_URL_POSTFIX should not be null and should not contain the servicePath. assertTrue(REST_URL_POSTFIX != null && !"".equals(REST_URL_POSTFIX) && !REST_URL_POSTFIX.contains(servicePath)); } /** * check whether REST_URL_POSTFIX is generated properly when * there are query parameters with URLs as values */ public void testQueryParamWithURL() { String uri = "/test/admin?a=http://test.com"; String servicePath = "services"; String REST_URL_POSTFIX = NhttpUtil.getRestUrlPostfix(uri, servicePath); assertTrue(REST_URL_POSTFIX != null && REST_URL_POSTFIX.equals("test/admin?a=http://test.com")); } /** * Include the service patch (services) keyword in the complete uri and check whether the REST_URL_POSTFIX is generated properly. */ public void testServicePathInclusionCompleteUrl(){ //When the servicePath is somewhere in the middle of the uri String uri = "http://localhost:8080/epdata/services/?size=10"; String servicePath = "services"; String REST_URL_POSTFIX = NhttpUtil.getRestUrlPostfix(uri, servicePath); //REST_URL_POSTFIX should not be null and should contain the servicePath. assertTrue(REST_URL_POSTFIX != null && REST_URL_POSTFIX.contains(servicePath)); //When the servicePatch is in the beginning of the uri uri = "http://localhost:8080/services/epdata?size=10"; REST_URL_POSTFIX = NhttpUtil.getRestUrlPostfix(uri, servicePath); System.out.println(REST_URL_POSTFIX); //REST_URL_POSTFIX should not be null and should not contain the servicePath. assertTrue(REST_URL_POSTFIX != null && !"".equals(REST_URL_POSTFIX) && !REST_URL_POSTFIX.contains(servicePath)); } }