Search in sources :

Example 36 with IParameterProvider

use of org.pentaho.platform.api.engine.IParameterProvider in project pentaho-platform by pentaho.

the class AxisServiceExecutorTest method testRunGetWithParameter.

@Test
public void testRunGetWithParameter() throws Exception {
    Map<String, IParameterProvider> parameterProviders = new HashMap<String, IParameterProvider>();
    SimpleParameterProvider pathParams = new SimpleParameterProvider();
    pathParams.setParameter("path", "/StubService/setString?str=testinput");
    parameterProviders.put("path", pathParams);
    contentGenerator.setParameterProviders(parameterProviders);
    MockHttpServletRequest request = new MockHttpServletRequest();
    MockHttpServletResponse response = new MockHttpServletResponse();
    request.setMethod("GET");
    request.setRequestURI("/pentaho/content/ws-run/StubService/setString");
    request.setRequestURL("http://localhost:8080/pentaho/content/ws-run/StubService/getString");
    request.setRemoteAddr(REMOTE_ADDRESS);
    request.setQueryString("str=testinput");
    pathParams.setParameter("httprequest", request);
    pathParams.setParameter("httpresponse", response);
    try {
        StubService.setStringCalled = false;
        StubTransportSender.transportOutStr = null;
        contentGenerator.createContent();
        assertTrue(StubService.setStringCalled);
        assertEquals("testinput", StubService.str);
    } catch (Exception e) {
        assertTrue("Exception occurred", false);
    }
}
Also used : IParameterProvider(org.pentaho.platform.api.engine.IParameterProvider) HashMap(java.util.HashMap) MockHttpServletRequest(com.mockrunner.mock.web.MockHttpServletRequest) MockHttpServletResponse(com.mockrunner.mock.web.MockHttpServletResponse) SimpleParameterProvider(org.pentaho.platform.engine.core.solution.SimpleParameterProvider) Test(org.junit.Test)

Example 37 with IParameterProvider

use of org.pentaho.platform.api.engine.IParameterProvider in project pentaho-platform by pentaho.

the class AxisServiceExecutorTest method testRunGetAxisServletHooks.

@Test
public void testRunGetAxisServletHooks() throws Exception {
    Map<String, IParameterProvider> parameterProviders = new HashMap<String, IParameterProvider>();
    SimpleParameterProvider pathParams = new SimpleParameterProvider();
    pathParams.setParameter("path", "/StubService/bogus");
    parameterProviders.put("path", pathParams);
    contentGenerator.setParameterProviders(parameterProviders);
    MockHttpServletRequest request = new MockHttpServletRequest();
    MockHttpServletResponse response = new MockHttpServletResponse();
    request.setMethod("GET");
    request.setRequestURI("/pentaho/content/ws-run/StubService/bogus");
    request.setRequestURL("http://localhost:8080/pentaho/content/ws-run/StubService/bogus");
    request.setRemoteAddr(REMOTE_ADDRESS);
    pathParams.setParameter("httprequest", request);
    pathParams.setParameter("httpresponse", response);
    try {
        StubTransportSender.transportOutStr = null;
        contentGenerator.createContent();
        String content = StubTransportSender.transportOutStr;
        assertTrue("results are wrong", content.contains("soapenv:Fault"));
        assertTrue("results are wrong", content.contains("AxisServletHooks"));
    } catch (Exception e) {
        assertTrue("Exception occurred", false);
    }
}
Also used : IParameterProvider(org.pentaho.platform.api.engine.IParameterProvider) HashMap(java.util.HashMap) MockHttpServletRequest(com.mockrunner.mock.web.MockHttpServletRequest) MockHttpServletResponse(com.mockrunner.mock.web.MockHttpServletResponse) SimpleParameterProvider(org.pentaho.platform.engine.core.solution.SimpleParameterProvider) Test(org.junit.Test)

Example 38 with IParameterProvider

use of org.pentaho.platform.api.engine.IParameterProvider in project pentaho-platform by pentaho.

the class AxisServiceExecutorTest method testRunGetErrorResponse.

@Test
public void testRunGetErrorResponse() throws Exception {
    Map<String, IParameterProvider> parameterProviders = new HashMap<String, IParameterProvider>();
    SimpleParameterProvider pathParams = new SimpleParameterProvider();
    pathParams.setParameter("path", "/StubService/throwsError2");
    parameterProviders.put("path", pathParams);
    contentGenerator.setParameterProviders(parameterProviders);
    MockHttpServletRequest request = new MockHttpServletRequest();
    MockHttpServletResponse response = new MockHttpServletResponse();
    request.setMethod("GET");
    request.setRequestURI("/pentaho/content/ws-run/StubService/throwsError2");
    request.setRequestURL("http://localhost:8080/pentaho/content/ws-run/StubService/throwsError2");
    request.setRemoteAddr(REMOTE_ADDRESS);
    pathParams.setParameter("httprequest", request);
    pathParams.setParameter("httpresponse", response);
    try {
        StubService.throwsError2Called = false;
        StubTransportSender.transportOutStr = null;
        contentGenerator.createContent();
        assertTrue(StubService.throwsError2Called);
        String content = StubTransportSender.transportOutStr;
        assertTrue("results are wrong", content.contains("soapenv:Fault"));
        assertTrue("results are wrong", content.contains("test error 2"));
    } catch (Exception e) {
        assertTrue("Exception occurred", false);
    }
}
Also used : IParameterProvider(org.pentaho.platform.api.engine.IParameterProvider) HashMap(java.util.HashMap) MockHttpServletRequest(com.mockrunner.mock.web.MockHttpServletRequest) MockHttpServletResponse(com.mockrunner.mock.web.MockHttpServletResponse) SimpleParameterProvider(org.pentaho.platform.engine.core.solution.SimpleParameterProvider) Test(org.junit.Test)

Example 39 with IParameterProvider

use of org.pentaho.platform.api.engine.IParameterProvider in project pentaho-platform by pentaho.

the class AxisServiceExecutorTest method testRunPut.

@Test
public void testRunPut() throws Exception {
    Map<String, IParameterProvider> parameterProviders = new HashMap<String, IParameterProvider>();
    SimpleParameterProvider pathParams = new SimpleParameterProvider();
    pathParams.setParameter("path", "/StubService");
    pathParams.setParameter("remoteaddr", "http:test");
    parameterProviders.put("path", pathParams);
    contentGenerator.setParameterProviders(parameterProviders);
    MockHttpServletRequest request = new MockHttpServletRequest();
    MockHttpServletResponse response = new MockHttpServletResponse();
    request.setMethod("PUT");
    request.setRequestURI("/pentaho/content/ws-run/StubService");
    request.setRequestURL("http://localhost:8080/pentaho/content/ws-run/StubService");
    request.setRemoteAddr(REMOTE_ADDRESS);
    request.setContentType("application/soap+xml; charset=UTF-8; action=\"urn:getString\"");
    String xml = "<?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv=\"http://www.w3" + ".org/2003/05/soap-envelope\"><soapenv:Body><ns2:getString xmlns:ns2=\"http://webservice.pentaho" + ".com\"></ns2:getString></soapenv:Body></soapenv:Envelope>";
    request.setBodyContent(xml);
    pathParams.setParameter("httprequest", request);
    pathParams.setParameter("httpresponse", response);
    try {
        StubTransportSender.transportOutStr = null;
        StubService.getStringCalled = false;
        contentGenerator.createContent();
        assertTrue(StubService.getStringCalled);
        String content = StubTransportSender.transportOutStr;
        assertEquals("result are wrong", "<ns:getStringResponse xmlns:ns=\"http://webservices.services.plugin.platform.test.pentaho.org\"><return>test" + " result</return></ns:getStringResponse>", content);
    } catch (Exception e) {
        assertTrue("Exception occurred", false);
    }
}
Also used : IParameterProvider(org.pentaho.platform.api.engine.IParameterProvider) HashMap(java.util.HashMap) MockHttpServletRequest(com.mockrunner.mock.web.MockHttpServletRequest) MockHttpServletResponse(com.mockrunner.mock.web.MockHttpServletResponse) SimpleParameterProvider(org.pentaho.platform.engine.core.solution.SimpleParameterProvider) Test(org.junit.Test)

Example 40 with IParameterProvider

use of org.pentaho.platform.api.engine.IParameterProvider in project pentaho-platform by pentaho.

the class AxisServiceWsdlGeneratorTest method testBadInit3.

@Test
public void testBadInit3() throws Exception {
    // $NON-NLS-1$
    StandaloneSession session = new StandaloneSession("test");
    AxisServiceWsdlGenerator contentGenerator = new AxisServiceWsdlGenerator();
    // $NON-NLS-1$
    assertNotNull("contentGenerator is null", contentGenerator);
    // $NON-NLS-1$
    assertNotNull("Logger is null", contentGenerator.getLogger());
    ByteArrayOutputStream out = new ByteArrayOutputStream();
    IOutputHandler outputHandler = new SimpleOutputHandler(out, false);
    // $NON-NLS-1$
    String baseUrl = "http://testhost:testport/testcontent";
    Map<String, IParameterProvider> parameterProviders = new HashMap<String, IParameterProvider>();
    SimpleParameterProvider requestParams = new SimpleParameterProvider();
    parameterProviders.put(IParameterProvider.SCOPE_REQUEST, requestParams);
    // $NON-NLS-1$
    SimpleUrlFactory urlFactory = new SimpleUrlFactory(baseUrl + "?");
    List<String> messages = new ArrayList<String>();
    contentGenerator.setOutputHandler(outputHandler);
    MimeTypeListener mimeTypeListener = new MimeTypeListener();
    outputHandler.setMimeTypeListener(mimeTypeListener);
    contentGenerator.setMessagesList(messages);
    contentGenerator.setParameterProviders(parameterProviders);
    contentGenerator.setSession(session);
    contentGenerator.setUrlFactory(urlFactory);
    contentGenerator.createContent();
    String content = new String(out.toByteArray());
    System.out.println(content);
    assertTrue(content.indexOf(Messages.getInstance().getErrorString("WebServiceContentGenerator.ERROR_0001_AXIS_CONFIG_IS_NULL")) != // $NON-NLS-1$
    -1);
}
Also used : StandaloneSession(org.pentaho.platform.engine.core.system.StandaloneSession) HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) SimpleOutputHandler(org.pentaho.platform.engine.core.output.SimpleOutputHandler) ByteArrayOutputStream(java.io.ByteArrayOutputStream) AxisServiceWsdlGenerator(org.pentaho.platform.plugin.services.webservices.content.AxisServiceWsdlGenerator) IOutputHandler(org.pentaho.platform.api.engine.IOutputHandler) IParameterProvider(org.pentaho.platform.api.engine.IParameterProvider) SimpleUrlFactory(org.pentaho.platform.util.web.SimpleUrlFactory) SimpleParameterProvider(org.pentaho.platform.engine.core.solution.SimpleParameterProvider) Test(org.junit.Test)

Aggregations

IParameterProvider (org.pentaho.platform.api.engine.IParameterProvider)57 HashMap (java.util.HashMap)27 SimpleParameterProvider (org.pentaho.platform.engine.core.solution.SimpleParameterProvider)21 ArrayList (java.util.ArrayList)14 List (java.util.List)11 Test (org.junit.Test)11 SimpleUrlFactory (org.pentaho.platform.util.web.SimpleUrlFactory)11 ByteArrayOutputStream (java.io.ByteArrayOutputStream)10 IOException (java.io.IOException)9 Iterator (java.util.Iterator)8 SimpleOutputHandler (org.pentaho.platform.engine.core.output.SimpleOutputHandler)8 HttpRequestParameterProvider (org.pentaho.platform.web.http.request.HttpRequestParameterProvider)8 MockHttpServletRequest (com.mockrunner.mock.web.MockHttpServletRequest)7 MockHttpServletResponse (com.mockrunner.mock.web.MockHttpServletResponse)7 IOutputHandler (org.pentaho.platform.api.engine.IOutputHandler)6 IPentahoSession (org.pentaho.platform.api.engine.IPentahoSession)6 IRuntimeContext (org.pentaho.platform.api.engine.IRuntimeContext)6 RepositoryFile (org.pentaho.platform.api.repository2.unified.RepositoryFile)6 SimpleParameterSetter (org.pentaho.platform.engine.services.solution.SimpleParameterSetter)6 OutputStream (java.io.OutputStream)5