Package org.pentaho.test.platform.plugin

Source Code of org.pentaho.test.platform.plugin.IPreparedComponentTest

/*!
* This program is free software; you can redistribute it and/or modify it under the
* terms of the GNU Lesser General Public License, version 2.1 as published by the Free Software
* Foundation.
*
* You should have received a copy of the GNU Lesser General Public License along with this
* program; if not, you can obtain a copy at http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html
* or from the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU Lesser General Public License for more details.
*
* Copyright (c) 2002-2013 Pentaho Corporation..  All rights reserved.
*/

package org.pentaho.test.platform.plugin;

import org.pentaho.commons.connection.IPentahoResultSet;
import org.pentaho.platform.api.data.IPreparedComponent;
import org.pentaho.platform.api.engine.IActionParameter;
import org.pentaho.platform.api.engine.IRuntimeContext;
import org.pentaho.platform.plugin.services.messages.Messages;
import org.pentaho.test.platform.engine.core.BaseTest;

import java.util.HashMap;

/**
* This class tests SQL, MDX, HQL, and XQuery PreparedComponent functionality.
*
* @author Will Gorman
*
*/
@SuppressWarnings( "nls" )
public class IPreparedComponentTest extends BaseTest {
  private static final String SOLUTION_PATH = "test-src/solution";

  public String getSolutionPath() {
    return SOLUTION_PATH;
  }

  public void testIPreparedComponentSQLAvailable() {
    startTest();
    info( "Expected: Successful execution with object available" ); //$NON-NLS-1$
    IRuntimeContext context = run( "/test/ipreparedcomponents/ipreparedcomponent_sql_available.xaction" ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
    assertEquals(
        Messages.getInstance().getString( "BaseTest.USER_RUNNING_ACTION_SEQUENCE" ), IRuntimeContext.RUNTIME_STATUS_SUCCESS, context.getStatus() ); //$NON-NLS-1$

    IActionParameter rtn = context.getOutputParameter( "prepared_component" ); //$NON-NLS-1$
    assertNotNull( rtn );
    IPreparedComponent preparedComponent = (IPreparedComponent) rtn.getValue();

    assertNotNull( preparedComponent );

    finishTest();
  }

  /*
   * public void testIPreparedComponentSQLTempTables() { startTest();
   * info("Expected: Successful execution with one row of data"); //$NON-NLS-1$ IRuntimeContext context = run("test",
   * "ipreparedcomponents", "ipreparedcomponent_sql_temptables.xaction"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
   * assertEquals( Messages.getInstance().getString("BaseTest.USER_RUNNING_ACTION_SEQUENCE"),
   * IRuntimeContext.RUNTIME_STATUS_SUCCESS, context.getStatus()); //$NON-NLS-1$
   *
   * IActionParameter rtn1 = context.getOutputParameter("a_result"); //$NON-NLS-1$ assertNotNull(rtn1); IPentahoResultSet
   * resultset1 = (IPentahoResultSet) rtn1.getValue(); assertEquals(1, resultset1.getRowCount()); assertEquals(
   * "Expected first row of 'a_result' to contain a 1 in the first column.", new Integer(1), resultset1.getValueAt(0,
   * 0)); //$NON-NLS-1$
   *
   * IActionParameter rtn2 = context.getOutputParameter("no_results"); //$NON-NLS-1$ assertNotNull(rtn2);
   * IPentahoResultSet resultset2 = (IPentahoResultSet) rtn2.getValue(); assertEquals(1, resultset2.getRowCount());
   * assertEquals( "Expected first row of 'no_results' to contain a 0 in the first column.", new Integer(0),
   * resultset2.getValueAt(0, 0)); //$NON-NLS-1$
   *
   * finishTest(); }
   */

  /*
   * public void testIPreparedComponentSQLPrepareLater() { startTest();
   * info("Expected: Successful execution with object available"); //$NON-NLS-1$ IRuntimeContext context = run("test",
   * "ipreparedcomponents", "ipreparedcomponent_sql_preparelater.xaction"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
   * assertEquals( Messages.getInstance().getString("BaseTest.USER_RUNNING_ACTION_SEQUENCE"),
   * IRuntimeContext.RUNTIME_STATUS_SUCCESS, context.getStatus()); //$NON-NLS-1$
   *
   * IActionParameter rtn1 = context.getOutputParameter("prepared_component"); //$NON-NLS-1$ assertNotNull(rtn1);
   * IPreparedComponent preparedComponent1 = (IPreparedComponent) rtn1.getValue(); assertNotNull(preparedComponent1);
   * IPentahoResultSet resultset1 = preparedComponent1.executePrepared(null); assertEquals(1, resultset1.getRowCount());
   * Number val1 = (Number) resultset1.getValueAt(0, 0);
   *
   * IActionParameter rtn2 = context.getOutputParameter("second_prepared_component"); //$NON-NLS-1$ assertNotNull(rtn2);
   * IPreparedComponent preparedComponent2 = (IPreparedComponent) rtn2.getValue(); assertNotNull(preparedComponent2);
   * HashMap map = new HashMap(); map.put("DEPARTMENT", "Sales"); //$NON-NLS-1$ //$NON-NLS-2$ map.put("REGION",
   * "Eastern"); //$NON-NLS-1$ //$NON-NLS-2$ IPentahoResultSet resultset2 = preparedComponent2.executePrepared(map);
   * assertEquals(1, resultset2.getRowCount()); Number val2 = (Number) resultset2.getValueAt(0, 0);
   *
   * assertEquals("Values from the first and second query should be equal", val1, val2); //$NON-NLS-1$
   *
   * finishTest(); }
   */

  /*
   * public void testIPreparedComponentMDXAvailable() { startTest();
   * info("Expected: Successful execution with object available"); //$NON-NLS-1$ IRuntimeContext context = run("test",
   * "ipreparedcomponents", "ipreparedcomponent_mdx_available.xaction"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
   * assertEquals( Messages.getInstance().getString("BaseTest.USER_RUNNING_ACTION_SEQUENCE"),
   * IRuntimeContext.RUNTIME_STATUS_SUCCESS, context.getStatus()); //$NON-NLS-1$
   *
   * IActionParameter rtn = context.getOutputParameter("prepared_component"); //$NON-NLS-1$ assertNotNull(rtn);
   * IPreparedComponent preparedComponent = (IPreparedComponent) rtn.getValue();
   *
   * assertNotNull(preparedComponent);
   *
   * finishTest(); }
   */

  /*
   * public void testIPreparedComponentMDXShareConnection() { startTest();
   * info("Expected: Successful execution with object available"); //$NON-NLS-1$ IRuntimeContext context = run("test",
   * "ipreparedcomponents", "ipreparedcomponent_mdx_shareconn.xaction"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
   * assertEquals( Messages.getInstance().getString("BaseTest.USER_RUNNING_ACTION_SEQUENCE"),
   * IRuntimeContext.RUNTIME_STATUS_SUCCESS, context.getStatus()); //$NON-NLS-1$
   *
   * IActionParameter rtn = context.getOutputParameter("prepared_component"); //$NON-NLS-1$ assertNotNull(rtn);
   * IPreparedComponent preparedComponent = (IPreparedComponent) rtn.getValue();
   *
   * assertNotNull(preparedComponent);
   *
   * IPentahoResultSet resultset = preparedComponent.executePrepared(null); assertNotNull(resultset);
   * assertTrue(resultset.getRowCount() >= 1); Object val1 = resultset.getValueAt(0, 0); assertNotNull(val1);
   *
   * finishTest(); }
   */

  /*
   * public void testIPreparedComponentMDXPrepareLater() { startTest();
   * info("Expected: Successful execution with object available"); //$NON-NLS-1$ IRuntimeContext context = run("test",
   * "ipreparedcomponents", "ipreparedcomponent_mdx_preparelater.xaction"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
   * assertEquals( Messages.getInstance().getString("BaseTest.USER_RUNNING_ACTION_SEQUENCE"),
   * IRuntimeContext.RUNTIME_STATUS_SUCCESS, context.getStatus()); //$NON-NLS-1$
   *
   * IActionParameter rtn1 = context.getOutputParameter("prepared_component"); //$NON-NLS-1$ assertNotNull(rtn1);
   * IPreparedComponent preparedComponent1 = (IPreparedComponent) rtn1.getValue(); assertNotNull(preparedComponent1);
   * IPentahoResultSet resultset1 = preparedComponent1.executePrepared(null); assertNotNull(resultset1);
   * assertTrue(resultset1.getRowCount() >= 1); Object val1 = resultset1.getValueAt(0, 0);
   *
   * IActionParameter rtn2 = context.getOutputParameter("second_prepared_component"); //$NON-NLS-1$ assertNotNull(rtn2);
   * IPreparedComponent preparedComponent2 = (IPreparedComponent) rtn2.getValue(); assertNotNull(preparedComponent2);
   * HashMap map = new HashMap(); map.put("productline", "Classic Cars"); //$NON-NLS-1$ //$NON-NLS-2$ IPentahoResultSet
   * resultset2 = preparedComponent2.executePrepared(map); assertTrue(resultset2.getRowCount() >= 1);
   * assertEquals(resultset1.getRowCount(), resultset2.getRowCount());
   *
   * Object val2 = resultset2.getValueAt(0, 0);
   *
   * assertEquals("Values from the first and second query should be equal", val1, val2); //$NON-NLS-1$
   *
   * finishTest(); }
   */

  public void testIPreparedComponentXQueryAvailable() {
    startTest();
    info( "Expected: Successful execution with object available" ); //$NON-NLS-1$
    IRuntimeContext context = run( "/test/ipreparedcomponents/ipreparedcomponent_xquery_available.xaction" ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
    assertEquals(
        Messages.getInstance().getString( "BaseTest.USER_RUNNING_ACTION_SEQUENCE" ), IRuntimeContext.RUNTIME_STATUS_SUCCESS, context.getStatus() ); //$NON-NLS-1$

    IActionParameter rtn = context.getOutputParameter( "prepared_component" ); //$NON-NLS-1$
    assertNotNull( rtn );
    IPreparedComponent preparedComponent = (IPreparedComponent) rtn.getValue();

    assertNotNull( preparedComponent );

    finishTest();
  }

  public void testIPreparedComponentXQueryAvailableErrorNoDocument() {
    startTest();
    IRuntimeContext context =
        run( "/test/ipreparedcomponents/ipreparedcomponent_xquery_available_error_nodocument.xaction" ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
    assertEquals(
        Messages.getInstance().getString( "BaseTest.USER_RUNNING_ACTION_SEQUENCE" ), IRuntimeContext.RUNTIME_STATUS_FAILURE, context.getStatus() ); //$NON-NLS-1$

    IActionParameter rtn = context.getOutputParameter( "prepared_component" ); //$NON-NLS-1$
    assertNotNull( rtn );
    IPreparedComponent preparedComponent = (IPreparedComponent) rtn.getValue();

    assertNull( preparedComponent );

    finishTest();
  }

  public void testIPreparedComponentXQueryAvailableErrorNoPrepareComponent() {
    startTest();
    info( "Expected: Successful execution with object available" ); //$NON-NLS-1$
    IRuntimeContext context =
        run( "/test/ipreparedcomponents/ipreparedcomponent_xquery_available_error_nopreparedcomponent.xaction" ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
    assertEquals(
        Messages.getInstance().getString( "BaseTest.USER_RUNNING_ACTION_SEQUENCE" ), IRuntimeContext.RUNTIME_CONTEXT_VALIDATE_FAIL, context.getStatus() ); //$NON-NLS-1$

    finishTest();
  }

  public void testIPreparedComponentXQueryPrepareLater() {
    startTest();
    info( "Expected: Successful execution with object available" ); //$NON-NLS-1$
    IRuntimeContext context = run( "/test/ipreparedcomponents/ipreparedcomponent_xquery_preparelater.xaction" ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
    assertEquals(
        Messages.getInstance().getString( "BaseTest.USER_RUNNING_ACTION_SEQUENCE" ), IRuntimeContext.RUNTIME_STATUS_SUCCESS, context.getStatus() ); //$NON-NLS-1$

    IActionParameter rtn1 = context.getOutputParameter( "prepared_component" ); //$NON-NLS-1$
    assertNotNull( rtn1 );
    IPreparedComponent preparedComponent1 = (IPreparedComponent) rtn1.getValue();
    assertNotNull( preparedComponent1 );
    IPentahoResultSet resultset1 = preparedComponent1.executePrepared( null );
    assertTrue( resultset1.getRowCount() >= 1 );
    Object val1 = resultset1.getValueAt( 0, 0 );

    IActionParameter rtn2 = context.getOutputParameter( "second_prepared_component" ); //$NON-NLS-1$
    assertNotNull( rtn2 );
    IPreparedComponent preparedComponent2 = (IPreparedComponent) rtn2.getValue();
    assertNotNull( preparedComponent2 );
    HashMap map = new HashMap();
    map.put( "POSITIONTITLE", "Engineer" ); //$NON-NLS-1$ //$NON-NLS-2$
    IPentahoResultSet resultset2 = preparedComponent2.executePrepared( map );
    assertTrue( resultset2.getRowCount() >= 1 );
    assertEquals( resultset1.getRowCount(), resultset2.getRowCount() );

    Object val2 = resultset2.getValueAt( 0, 0 );

    assertEquals( "Values from the first and second query should be equal", val1, val2 ); //$NON-NLS-1$

    finishTest();
  }

  public void testIPreparedComponentXQueryShareConnection() {
    startTest();
    info( "Expected: Successful execution with object available" ); //$NON-NLS-1$
    IRuntimeContext context = run( "/test/ipreparedcomponents/ipreparedcomponent_xquery_shareconn.xaction" ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
    assertEquals(
        Messages.getInstance().getString( "BaseTest.USER_RUNNING_ACTION_SEQUENCE" ), IRuntimeContext.RUNTIME_STATUS_SUCCESS, context.getStatus() ); //$NON-NLS-1$

    IActionParameter rtn1 = context.getOutputParameter( "prepared_component" ); //$NON-NLS-1$
    assertNotNull( rtn1 );
    IPreparedComponent preparedComponent1 = (IPreparedComponent) rtn1.getValue();
    assertNotNull( preparedComponent1 );
    IPentahoResultSet resultset1 = preparedComponent1.executePrepared( null );
    assertTrue( resultset1.getRowCount() >= 1 );
    Object val1 = resultset1.getValueAt( 0, 0 );
    assertNotNull( val1 );

    finishTest();
  }

  /*
   * public void testIPreparedComponentHQLAvailable() { startTest();
   * info("Expected: Successful execution with object available"); //$NON-NLS-1$ IRuntimeContext context = run("test",
   * "ipreparedcomponents", "ipreparedcomponent_hql_available.xaction"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
   * assertEquals( Messages.getInstance().getString("BaseTest.USER_RUNNING_ACTION_SEQUENCE"),
   * IRuntimeContext.RUNTIME_STATUS_SUCCESS, context.getStatus()); //$NON-NLS-1$
   *
   * IActionParameter rtn = context.getOutputParameter("prepared_component"); //$NON-NLS-1$ assertNotNull(rtn);
   * IPreparedComponent preparedComponent = (IPreparedComponent) rtn.getValue();
   *
   * assertNotNull(preparedComponent);
   *
   * finishTest(); }
   *
   * public void testIPreparedComponentHQLPrepareLater() { startTest();
   * info("Expected: Successful execution with object available"); //$NON-NLS-1$ IRuntimeContext context = run("test",
   * "ipreparedcomponents", "ipreparedcomponent_hql_preparelater.xaction"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
   * assertEquals( Messages.getInstance().getString("BaseTest.USER_RUNNING_ACTION_SEQUENCE"),
   * IRuntimeContext.RUNTIME_STATUS_SUCCESS, context.getStatus()); //$NON-NLS-1$
   *
   * IActionParameter rtn1 = context.getOutputParameter("prepared_component"); //$NON-NLS-1$ assertNotNull(rtn1);
   * IPreparedComponent preparedComponent1 = (IPreparedComponent) rtn1.getValue(); assertNotNull(preparedComponent1);
   * IPentahoResultSet resultset1 = preparedComponent1.executePrepared(null); assertTrue(resultset1.getRowCount() >= 1);
   * Object val1 = resultset1.getValueAt(0, 0);
   *
   * IActionParameter rtn2 = context.getOutputParameter("second_prepared_component"); //$NON-NLS-1$ assertNotNull(rtn2);
   * IPreparedComponent preparedComponent2 = (IPreparedComponent) rtn2.getValue(); assertNotNull(preparedComponent2);
   * HashMap map = new HashMap(); map.put("mimetypeval", "text/html"); //$NON-NLS-1$ //$NON-NLS-2$ IPentahoResultSet
   * resultset2 = preparedComponent2.executePrepared(map); assertTrue(resultset2.getRowCount() >= 1);
   * assertEquals(resultset1.getRowCount(), resultset2.getRowCount());
   *
   * Object val2 = resultset2.getValueAt(0, 0);
   *
   * assertEquals("Values from the first and second query should be equal", val1, val2); //$NON-NLS-1$
   *
   * finishTest(); }
   */

  /*
   * public void testIPreparedComponentHQLShareConnection() { startTest();
   * info("Expected: Successful execution with object available"); //$NON-NLS-1$ IRuntimeContext context = run("test",
   * "ipreparedcomponents", "ipreparedcomponent_hql_shareconn.xaction"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
   * assertEquals( Messages.getInstance().getString("BaseTest.USER_RUNNING_ACTION_SEQUENCE"),
   * IRuntimeContext.RUNTIME_STATUS_SUCCESS, context.getStatus()); //$NON-NLS-1$
   *
   * IActionParameter rtn1 = context.getOutputParameter("prepared_component"); //$NON-NLS-1$ assertNotNull(rtn1);
   * IPreparedComponent preparedComponent1 = (IPreparedComponent) rtn1.getValue(); assertNotNull(preparedComponent1);
   * IPentahoResultSet resultset1 = preparedComponent1.executePrepared(null); assertTrue(resultset1.getRowCount() >= 1);
   * Object val1 = resultset1.getValueAt(0, 0);
   *
   * assertNotNull(val1);
   *
   * finishTest(); }
   */

  public static void main( String[] args ) {
    IPreparedComponentTest test = new IPreparedComponentTest();
    try {
      test.setUp();
      // test.testIPreparedComponentSQLTempTables();
      // test.testIPreparedComponentSQLAvailable();
      // test.testIPreparedComponentSQLPrepareLater();
      // test.testIPreparedComponentMDXAvailable();
      // test.testIPreparedComponentMDXPrepareLater();
      // test.testIPreparedComponentMDXShareConnection();
      test.testIPreparedComponentXQueryAvailable();
      test.testIPreparedComponentXQueryAvailableErrorNoDocument();
      test.testIPreparedComponentXQueryAvailableErrorNoPrepareComponent();
      test.testIPreparedComponentXQueryPrepareLater();
      test.testIPreparedComponentXQueryShareConnection();
      // test.testIPreparedComponentHQLAvailable();
      // test.testIPreparedComponentHQLPrepareLater();
      // test.testIPreparedComponentHQLShareConnection();

    } finally {
      test.tearDown();
      BaseTest.shutdown();
    }
  }
}
TOP

Related Classes of org.pentaho.test.platform.plugin.IPreparedComponentTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.