use of org.pentaho.platform.api.engine.ISolutionEngine in project pentaho-platform by pentaho.
the class PojoComponentTest method testSimplestCase.
public void testSimplestCase() {
startTest();
ISolutionEngine solutionEngine = ServiceTestHelper.getSolutionEngine();
try {
String xactionStr = ServiceTestHelper.getXAction(SOLUTION_PATH, "test/pojo/pojo4.xaction");
PojoComponentTest.doneCalled = false;
IRuntimeContext runtimeContext = // $NON-NLS-1$ //$NON-NLS-2$
solutionEngine.execute(// $NON-NLS-1$ //$NON-NLS-2$
xactionStr, // $NON-NLS-1$ //$NON-NLS-2$
"pojo4.xaction", // $NON-NLS-1$ //$NON-NLS-2$
"empty action sequence test", // $NON-NLS-1$ //$NON-NLS-2$
false, // $NON-NLS-1$ //$NON-NLS-2$
true, // $NON-NLS-1$ //$NON-NLS-2$
null, // $NON-NLS-1$ //$NON-NLS-2$
false, new HashMap(), null, null, new SimpleUrlFactory(""), new ArrayList());
IActionParameter param = runtimeContext.getOutputParameter("output1");
assertNotNull("RuntimeContext is null", runtimeContext);
assertNotNull("param is null", param);
assertEquals("abcdeabcde", param.getValue().toString());
assertEquals("done() was called", false, PojoComponentTest.doneCalled);
assertEquals("Action sequence execution failed", runtimeContext.getStatus(), IRuntimeContext.RUNTIME_STATUS_SUCCESS);
} catch (Exception e) {
// we should not get here
e.printStackTrace();
assertTrue(e.getMessage(), false);
}
finishTest();
}
use of org.pentaho.platform.api.engine.ISolutionEngine in project pentaho-platform by pentaho.
the class PojoComponentTest method testUnusedInput.
/**
* Test that unused parameters being passed in do not impact the running of the PojoComponent. A warning is written to
* the log for user feedback on execution.
*/
public void testUnusedInput() {
startTest();
ISolutionEngine solutionEngine = ServiceTestHelper.getSolutionEngine();
try {
String xactionStr = ServiceTestHelper.getXAction(SOLUTION_PATH, "test/pojo/pojo-bad4.xaction");
PojoComponentTest.doneCalled = false;
PojoComponentTest.executeCalled = false;
PojoComponentTest.validateCalled = false;
IRuntimeContext runtimeContext = // $NON-NLS-1$ //$NON-NLS-2$
solutionEngine.execute(// $NON-NLS-1$ //$NON-NLS-2$
xactionStr, // $NON-NLS-1$ //$NON-NLS-2$
"test", // $NON-NLS-1$ //$NON-NLS-2$
"invalid class setting test", // $NON-NLS-1$ //$NON-NLS-2$
false, // $NON-NLS-1$ //$NON-NLS-2$
true, // $NON-NLS-1$ //$NON-NLS-2$
null, // $NON-NLS-1$ //$NON-NLS-2$
false, new HashMap(), null, null, new SimpleUrlFactory(""), new ArrayList());
assertNotNull("RuntimeContext is null", runtimeContext);
assertEquals("Action sequence succeeded", IRuntimeContext.RUNTIME_STATUS_SUCCESS, runtimeContext.getStatus());
} catch (Exception e) {
// we should not get here
e.printStackTrace();
assertTrue(e.getMessage(), false);
}
finishTest();
}
use of org.pentaho.platform.api.engine.ISolutionEngine in project pentaho-platform by pentaho.
the class PojoComponentTest method testSimplePojoInput.
public void testSimplePojoInput() {
startTest();
ISolutionEngine solutionEngine = ServiceTestHelper.getSolutionEngine();
try {
String xactionStr = ServiceTestHelper.getXAction(SOLUTION_PATH, "test/pojo/pojo1a.xaction");
PojoComponentTest.doneCalled = false;
PojoComponentTest.setSessionCalled = false;
PojoComponentTest.setLoggerCalled = false;
TestPojo1.int1 = 0;
TestPojo1.int2 = null;
SimpleParameterProvider inputs = new SimpleParameterProvider();
inputs.setParameter("int2", new Integer(22));
inputs.setParameter("bool2", new Boolean(true));
inputs.setParameter("long2", new Long(99));
inputs.setParameter("bigdecimal", new BigDecimal("77.7"));
inputs.setParameter("float2", new Float(44.4));
inputs.setParameter("double2", new Double(66.6));
Map providers = new HashMap();
providers.put(IParameterProvider.SCOPE_REQUEST, inputs);
IRuntimeContext runtimeContext = // $NON-NLS-1$ //$NON-NLS-2$
solutionEngine.execute(// $NON-NLS-1$ //$NON-NLS-2$
xactionStr, // $NON-NLS-1$ //$NON-NLS-2$
"test1a.xaction", // $NON-NLS-1$ //$NON-NLS-2$
"empty action sequence test", // $NON-NLS-1$ //$NON-NLS-2$
false, // $NON-NLS-1$ //$NON-NLS-2$
true, // $NON-NLS-1$ //$NON-NLS-2$
null, // $NON-NLS-1$ //$NON-NLS-2$
false, providers, null, null, new SimpleUrlFactory(""), new ArrayList());
assertNotNull("RuntimeContext is null", runtimeContext);
IActionParameter param = runtimeContext.getOutputParameter("output1");
assertNotNull("param is null", param);
assertEquals("setting is wrong", "value1", TestPojo1.setting1);
assertEquals("setting is wrong", "value2", TestPojo1.setting2);
assertEquals("setting is wrong", null, TestPojo1.setting3);
assertEquals("param is wrong", "abcdeabcde", param.getValue());
assertEquals("setInt2 failed", new Integer(22), TestPojo1.int2);
assertEquals("setBoolean2 failed", new Boolean(true), TestPojo1.bool2);
assertEquals("setLong2 failed", new Long(99), TestPojo1.long2);
assertEquals("setBigDecimal failed", new BigDecimal("77.7"), TestPojo1.bigDecimal);
assertEquals("setFloat2 failed", "44.4", TestPojo1.float2.toString());
assertEquals("setDouble2 failed", "66.6", TestPojo1.double2.toString());
assertTrue("done() was not called", PojoComponentTest.doneCalled);
assertTrue("setSession() was not called", PojoComponentTest.setSessionCalled);
assertTrue("setLogger() was not called", PojoComponentTest.setLoggerCalled);
assertEquals("Action sequence execution failed", runtimeContext.getStatus(), IRuntimeContext.RUNTIME_STATUS_SUCCESS);
} catch (Exception e) {
// we should not get here
e.printStackTrace();
assertTrue(e.getMessage(), false);
}
finishTest();
}
use of org.pentaho.platform.api.engine.ISolutionEngine in project pentaho-platform by pentaho.
the class PojoComponentTest method testSimplePojoInputFormat2.
public void testSimplePojoInputFormat2() {
// test the alternate action definition format
startTest();
ISolutionEngine solutionEngine = ServiceTestHelper.getSolutionEngine();
try {
String xactionStr = ServiceTestHelper.getXAction(SOLUTION_PATH, "test/pojo/pojo1-alternate.xaction");
PojoComponentTest.doneCalled = false;
PojoComponentTest.setSessionCalled = false;
PojoComponentTest.setLoggerCalled = false;
TestPojo1.int1 = 0;
TestPojo1.int2 = null;
SimpleParameterProvider inputs = new SimpleParameterProvider();
inputs.setParameter("int2", new Integer(22));
inputs.setParameter("bool2", new Boolean(true));
inputs.setParameter("long2", new Long(99));
inputs.setParameter("bigdecimal", new BigDecimal("77.7"));
inputs.setParameter("float2", new Float(44.4));
inputs.setParameter("double2", new Double(66.6));
Map providers = new HashMap();
providers.put(IParameterProvider.SCOPE_REQUEST, inputs);
IRuntimeContext runtimeContext = // $NON-NLS-1$ //$NON-NLS-2$
solutionEngine.execute(// $NON-NLS-1$ //$NON-NLS-2$
xactionStr, // $NON-NLS-1$ //$NON-NLS-2$
"test1a.xaction", // $NON-NLS-1$ //$NON-NLS-2$
"empty action sequence test", // $NON-NLS-1$ //$NON-NLS-2$
false, // $NON-NLS-1$ //$NON-NLS-2$
true, // $NON-NLS-1$ //$NON-NLS-2$
null, // $NON-NLS-1$ //$NON-NLS-2$
false, providers, null, null, new SimpleUrlFactory(""), new ArrayList());
assertNotNull("RuntimeContext is null", runtimeContext);
IActionParameter param = runtimeContext.getOutputParameter("output1");
assertNotNull("param is null", param);
assertEquals("setting is wrong", "value1", TestPojo1.setting1);
assertEquals("setting is wrong", "value2", TestPojo1.setting2);
assertEquals("setting is wrong", null, TestPojo1.setting3);
assertEquals("param is wrong", "abcdeabcde", param.getValue());
assertEquals("setInt2 failed", new Integer(22), TestPojo1.int2);
assertEquals("setBoolean2 failed", new Boolean(true), TestPojo1.bool2);
assertEquals("setLong2 failed", new Long(99), TestPojo1.long2);
assertEquals("setBigDecimal failed", new BigDecimal("77.7"), TestPojo1.bigDecimal);
assertEquals("setFloat2 failed", "44.4", TestPojo1.float2.toString());
assertEquals("setDouble2 failed", "66.6", TestPojo1.double2.toString());
assertTrue("done() was not called", PojoComponentTest.doneCalled);
assertTrue("setSession() was not called", PojoComponentTest.setSessionCalled);
assertTrue("setLogger() was not called", PojoComponentTest.setLoggerCalled);
assertEquals("Action sequence execution failed", runtimeContext.getStatus(), IRuntimeContext.RUNTIME_STATUS_SUCCESS);
} catch (Exception e) {
// we should not get here
e.printStackTrace();
assertTrue(e.getMessage(), false);
}
finishTest();
}
use of org.pentaho.platform.api.engine.ISolutionEngine in project pentaho-platform by pentaho.
the class PojoComponentTest method testMissingClassSetting.
public void testMissingClassSetting() {
startTest();
ISolutionEngine solutionEngine = ServiceTestHelper.getSolutionEngine();
try {
String xactionStr = ServiceTestHelper.getXAction(SOLUTION_PATH, "test/pojo/pojo-bad1.xaction");
PojoComponentTest.doneCalled = false;
PojoComponentTest.executeCalled = false;
PojoComponentTest.validateCalled = false;
IRuntimeContext runtimeContext = // $NON-NLS-1$ //$NON-NLS-2$
solutionEngine.execute(// $NON-NLS-1$ //$NON-NLS-2$
xactionStr, // $NON-NLS-1$ //$NON-NLS-2$
"test", // $NON-NLS-1$ //$NON-NLS-2$
"invalid class setting test", // $NON-NLS-1$ //$NON-NLS-2$
false, // $NON-NLS-1$ //$NON-NLS-2$
true, // $NON-NLS-1$ //$NON-NLS-2$
null, // $NON-NLS-1$ //$NON-NLS-2$
false, new HashMap(), null, null, new SimpleUrlFactory(""), new ArrayList());
assertNotNull("RuntimeContext is null", runtimeContext);
assertEquals("execute was called", false, PojoComponentTest.executeCalled);
assertEquals("validate was called", false, PojoComponentTest.validateCalled);
assertEquals("Action sequence validation succeeded", runtimeContext.getStatus(), IRuntimeContext.RUNTIME_CONTEXT_VALIDATE_FAIL);
} catch (Exception e) {
// we should not get here
e.printStackTrace();
assertTrue(e.getMessage(), false);
}
finishTest();
}
Aggregations