Search in sources :

Example 76 with IRuntimeContext

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

the class KettleIT method testKettleValidatationFailure.

public void testKettleValidatationFailure() {
    IRuntimeContext context = run("/test/etl/SampleTransformationInvalid.xaction", null, false, parameterProvider, outputHandler, session);
    assertEquals(IRuntimeContext.RUNTIME_CONTEXT_VALIDATE_FAIL, context.getStatus());
    assertFailResult(context);
}
Also used : IRuntimeContext(org.pentaho.platform.api.engine.IRuntimeContext)

Example 77 with IRuntimeContext

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

the class ContentOutputComponentIT method testErrorPaths.

public void testErrorPaths() {
    startTest();
    // Tests with bad output stream
    // $NON-NLS-1$
    String neverWritten = "This data cannot be written";
    // $NON-NLS-1$
    String testName = CO_TEST_NAME + "BAD_OUTPUTSTREAM_" + System.currentTimeMillis();
    SimpleParameterProvider parameterProvider = new SimpleParameterProvider();
    parameterProvider.setParameter("CONTENTOUTPUT", neverWritten);
    // $NON-NLS-1$
    // $NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
    IRuntimeContext context = run("/test/platform/ContentOutputTest_Bytearray.xaction", parameterProvider, testName, CO_TEST_EXTN);
    // $NON-NLS-1$
    assertEquals(Messages.getInstance().getString("BaseTest.USER_RUNNING_ACTION_SEQUENCE"), IRuntimeContext.RUNTIME_STATUS_FAILURE, context.getStatus());
    // Another test with a bad output stream...
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    try {
        baos.write(neverWritten.getBytes());
    } catch (Exception ex) {
        fail();
    }
    // $NON-NLS-1$
    parameterProvider.setParameter("CONTENTOUTPUT", baos);
    // $NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
    context = run("/test/platform/ContentOutputTest_Bytearray.xaction", parameterProvider, testName, CO_TEST_EXTN);
    assertEquals(IRuntimeContext.RUNTIME_STATUS_FAILURE, context.getStatus());
    // Final test with a bad output stream...
    // $NON-NLS-1$
    parameterProvider.setParameter("CONTENTOUTPUT", new ByteArrayInputStream(neverWritten.getBytes()));
    // $NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
    context = run("/test/platform/ContentOutputTest_Bytearray.xaction", parameterProvider, testName, CO_TEST_EXTN);
    assertEquals(IRuntimeContext.RUNTIME_STATUS_FAILURE, context.getStatus());
    // Tests with bad action sequences
    // $NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
    context = run("/test/platform/ContentOutputTest_error1.xaction");
    assertEquals(IRuntimeContext.RUNTIME_CONTEXT_VALIDATE_FAIL, context.getStatus());
    // Empty Parameter Provider
    parameterProvider = new SimpleParameterProvider();
    // $NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
    context = run("/test/platform/ContentOutputTest_error2.xaction", parameterProvider, testName, CO_TEST_EXTN);
    assertEquals(IRuntimeContext.RUNTIME_CONTEXT_VALIDATE_FAIL, context.getStatus());
    // Test with an invalid input parameter
    // $NON-NLS-1$
    parameterProvider.setParameter("CONTENTOUTPUT", neverWritten.getBytes());
    // $NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
    context = run("/test/platform/ContentOutputTest_Bytearray.xaction", parameterProvider, testName, CO_TEST_EXTN);
    assertEquals(IRuntimeContext.RUNTIME_STATUS_FAILURE, context.getStatus());
    finishTest();
}
Also used : ByteArrayInputStream(java.io.ByteArrayInputStream) ByteArrayOutputStream(java.io.ByteArrayOutputStream) IRuntimeContext(org.pentaho.platform.api.engine.IRuntimeContext) IOException(java.io.IOException) SimpleParameterProvider(org.pentaho.platform.engine.core.solution.SimpleParameterProvider)

Example 78 with IRuntimeContext

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

the class HQLConnectionIT method testHQLConnection.

public void testHQLConnection() {
    SimpleParameterProvider parameters = new SimpleParameterProvider();
    // $NON-NLS-1$ //$NON-NLS-2$
    OutputStream outputStream = getOutputStream(SOLUTION_PATH, "Chart_Bubble", ".html");
    SimpleOutputHandler outputHandler = new SimpleOutputHandler(outputStream, true);
    IRuntimeContext context = // $NON-NLS-1$
    run(getSolutionPath() + "/test/datasource/", "HQL_Datasource.xaction", parameters, outputHandler);
    assertEquals(Messages.getInstance().getString("BaseTest.USER_RUNNING_ACTION_SEQUENCE"), IRuntimeContext.RUNTIME_STATUS_SUCCESS, // $NON-NLS-1$
    context.getStatus());
}
Also used : OutputStream(java.io.OutputStream) SimpleOutputHandler(org.pentaho.platform.engine.core.output.SimpleOutputHandler) IRuntimeContext(org.pentaho.platform.api.engine.IRuntimeContext) SimpleParameterProvider(org.pentaho.platform.engine.core.solution.SimpleParameterProvider)

Example 79 with IRuntimeContext

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

the class BaseTestCase method run.

public IRuntimeContext run(String actionSequencePath, String actionSequence, IParameterProvider parameterProvider, IOutputHandler outputHandler) {
    List messages = new ArrayList();
    String instanceId = null;
    ISolutionEngine solutionEngine = PentahoSystem.get(ISolutionEngine.class, session);
    solutionEngine.setLoggingLevel(ILogger.ERROR);
    solutionEngine.init(session);
    HashMap parameterProviderMap = new HashMap();
    IPentahoUrlFactory urlFactory = new SimpleUrlFactory("");
    IRuntimeContext runtimeContext = null;
    Reader reader = null;
    try {
        File file = new File(actionSequencePath + actionSequence);
        StringBuilder str = new StringBuilder();
        reader = new FileReader(file);
        char[] buffer = new char[4096];
        int n = reader.read(buffer);
        while (n != -1) {
            str.append(buffer, 0, n);
            n = reader.read(buffer);
        }
        String xactionStr = str.toString();
        solutionEngine.setSession(session);
        runtimeContext = // $NON-NLS-1$
        solutionEngine.execute(// $NON-NLS-1$
        xactionStr, // $NON-NLS-1$
        actionSequence, // $NON-NLS-1$
        "action sequence test", // $NON-NLS-1$
        false, // $NON-NLS-1$
        true, // $NON-NLS-1$
        instanceId, // $NON-NLS-1$
        false, parameterProviderMap, null, null, urlFactory, messages);
    } catch (Exception e) {
        // we should not get here
        e.printStackTrace();
        assertTrue(e.getMessage(), false);
    } finally {
        if (reader != null) {
            try {
                reader.close();
            } catch (Exception ex) {
                ex.printStackTrace();
                assertTrue(ex.getMessage(), false);
            }
        }
    }
    return runtimeContext;
}
Also used : ISolutionEngine(org.pentaho.platform.api.engine.ISolutionEngine) IPentahoUrlFactory(org.pentaho.platform.api.engine.IPentahoUrlFactory) HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) Reader(java.io.Reader) FileReader(java.io.FileReader) FileNotFoundException(java.io.FileNotFoundException) ArrayList(java.util.ArrayList) List(java.util.List) FileReader(java.io.FileReader) SimpleUrlFactory(org.pentaho.platform.util.web.SimpleUrlFactory) IRuntimeContext(org.pentaho.platform.api.engine.IRuntimeContext) File(java.io.File)

Example 80 with IRuntimeContext

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

the class TemplateUtilTest method testTableTemplate.

public void testTableTemplate() {
    IRuntimeContext mockRuntimeContext = mock(IRuntimeContext.class);
    IPentahoSession mockSession = mock(IPentahoSession.class);
    IParameterManager mockParameterManager = mock(IParameterManager.class);
    IPentahoResultSet mockPentahoResultSet = mock(IPentahoResultSet.class);
    Object[] mockRow = new Object[] { "field0", "field1" };
    when(mockPentahoResultSet.getColumnCount()).thenReturn(mockRow.length);
    when(mockPentahoResultSet.getDataRow(0)).thenReturn(mockRow);
    when(mockParameterManager.getCurrentInputNames()).thenReturn(new HashSet<Object>(Arrays.asList(new String[] { "param1" })));
    when(mockRuntimeContext.getSession()).thenReturn(mockSession);
    when(mockRuntimeContext.getParameterManager()).thenReturn(mockParameterManager);
    when(mockRuntimeContext.getInputParameterValue("param1")).thenReturn(mockPentahoResultSet);
    String template = "table {param1:col:1} and text";
    IParameterResolver resolver = mock(IParameterResolver.class);
    assertEquals("table field1 and text", TemplateUtil.applyTemplate(template, mockRuntimeContext, resolver));
}
Also used : IPentahoResultSet(org.pentaho.commons.connection.IPentahoResultSet) IParameterManager(org.pentaho.platform.api.engine.IParameterManager) IPentahoSession(org.pentaho.platform.api.engine.IPentahoSession) IRuntimeContext(org.pentaho.platform.api.engine.IRuntimeContext) IParameterResolver(org.pentaho.platform.api.engine.IParameterResolver)

Aggregations

IRuntimeContext (org.pentaho.platform.api.engine.IRuntimeContext)100 ArrayList (java.util.ArrayList)28 HashMap (java.util.HashMap)28 ISolutionEngine (org.pentaho.platform.api.engine.ISolutionEngine)28 IActionParameter (org.pentaho.platform.api.engine.IActionParameter)24 SimpleParameterProvider (org.pentaho.platform.engine.core.solution.SimpleParameterProvider)21 SimpleUrlFactory (org.pentaho.platform.util.web.SimpleUrlFactory)20 SimpleOutputHandler (org.pentaho.platform.engine.core.output.SimpleOutputHandler)17 IPentahoSession (org.pentaho.platform.api.engine.IPentahoSession)14 OutputStream (java.io.OutputStream)12 StandaloneSession (org.pentaho.platform.engine.core.system.StandaloneSession)12 List (java.util.List)10 IPentahoUrlFactory (org.pentaho.platform.api.engine.IPentahoUrlFactory)9 IOException (java.io.IOException)8 Map (java.util.Map)8 IPentahoResultSet (org.pentaho.commons.connection.IPentahoResultSet)8 ByteArrayOutputStream (java.io.ByteArrayOutputStream)7 IOutputHandler (org.pentaho.platform.api.engine.IOutputHandler)7 IParameterProvider (org.pentaho.platform.api.engine.IParameterProvider)6 Document (org.dom4j.Document)5