mattcasters / pentaho-pdi-dataset

Set of PDI plugins to more easily work with data sets. We also want to provide unit testing capabilities through input data sets and golden data sets.
Apache License 2.0
30 stars 13 forks source link

Disabling a Unit Test and running the transform still runs the test and null pointers the previews. #38

Closed usbrandon closed 5 years ago

usbrandon commented 5 years ago

Plugin version 3.4.1 Using CSV based test.

If you have a transform with a unit test. You can enable the unit test, run it and get the correct test results. If you disable that unit test, the input and output grey arrows disappear, but running the transform still shows that the unit test continues to run each time. Also, even though the test looks disabled, the true inputs (Data Grid in my case) are affected. If you add a row to your data grid and try to preview it from INSIDE the step, you will get a null pointer exception. If you use the step preview, you will only see the sample data, not the real data that you just added. This is for CSV based tests.

java.lang.reflect.InvocationTargetException
    at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:350)
    at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:495)
    at org.pentaho.di.ui.trans.dialog.TransPreviewProgressDialog.open(TransPreviewProgressDialog.java:121)
    at org.pentaho.di.ui.trans.dialog.TransPreviewProgressDialog.open(TransPreviewProgressDialog.java:77)
    at org.pentaho.di.ui.trans.steps.datagrid.DataGridDialog.preview(DataGridDialog.java:618)
    at org.pentaho.di.ui.trans.steps.datagrid.DataGridDialog.access$200(DataGridDialog.java:73)
    at org.pentaho.di.ui.trans.steps.datagrid.DataGridDialog$3.handleEvent(DataGridDialog.java:257)
    at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
    at org.pentaho.di.ui.trans.steps.datagrid.DataGridDialog.open(DataGridDialog.java:316)
    at org.pentaho.di.ui.spoon.delegates.SpoonStepsDelegate.editStep(SpoonStepsDelegate.java:120)
    at org.pentaho.di.ui.spoon.Spoon.editStep(Spoon.java:8662)
    at org.pentaho.di.ui.spoon.trans.TransGraph.editStep(TransGraph.java:3287)
    at org.pentaho.di.ui.spoon.trans.TransGraph.mouseDoubleClick(TransGraph.java:785)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
    at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
    at org.pentaho.di.ui.spoon.Spoon.readAndDispatch(Spoon.java:1381)
    at org.pentaho.di.ui.spoon.Spoon.waitForDispose(Spoon.java:7817)
    at org.pentaho.di.ui.spoon.Spoon.start(Spoon.java:9179)
    at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:707)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.pentaho.commons.launcher.Launcher.main(Launcher.java:92)
Caused by: java.lang.NullPointerException
    at org.pentaho.metastore.persist.MetaStoreFactory.getElements(MetaStoreFactory.java:779)
    at org.pentaho.di.dataset.util.FactoriesHierarchy.<init>(FactoriesHierarchy.java:48)
    at org.pentaho.di.dataset.spoon.xtpoint.ChangeTransMetaPriorToExecutionExtensionPoint.callExtensionPoint(ChangeTransMetaPriorToExecutionExtensionPoint.java:105)
    at org.pentaho.di.core.extension.ExtensionPointMap.callExtensionPoint(ExtensionPointMap.java:151)
    at org.pentaho.di.core.extension.ExtensionPointHandler.callExtensionPoint(ExtensionPointHandler.java:45)
    at org.pentaho.di.trans.Trans.prepareExecution(Trans.java:762)
    at org.pentaho.di.ui.trans.dialog.TransPreviewProgressDialog.doPreview(TransPreviewProgressDialog.java:152)
    at org.pentaho.di.ui.trans.dialog.TransPreviewProgressDialog.access$000(TransPreviewProgressDialog.java:51)
    at org.pentaho.di.ui.trans.dialog.TransPreviewProgressDialog$1.run(TransPreviewProgressDialog.java:89)
    at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:113)
usbrandon commented 5 years ago

Restarting spoon, resets the transformation; meaning that the unit test is not engaged by default when opening transformations.