ActionUtil { static Class<?> resolveActionClass( final String actionClassName, final String beanId ) throws PluginBeanException, ActionInvocationException { return resolveActionClass( actionClassName, beanId, true ); }  static void removeKeyFromMap( final Map<String, ?> params, final String key ); static void prepareMap( final Map<String, Serializable> params ); static String extractName( final Map<String, Serializable> params ); static String generateWorkItemName( final Map<String, Serializable> params ); static boolean isInlinePassingOfInputOnStreamProvider( final Map<String, Serializable> params ); static String getInlineInputFileOnStreamProvider( final Map<String, Serializable> params ); static String getStreamProviderContent( final Map<String, Serializable> params ); static String generateWorkItemName( final String inputFilePath,
                                            final String userName ); static IAction createActionBean( final String actionClassName, final String actionId ); static IAction createActionBean( final String actionClassName, final String actionId, final boolean retryBeanInstantiationIfFailed ); static void sendEmail( Map<String, Object> actionParams, Map<String, Serializable> params, String filePath ); static final String QUARTZ_ACTIONCLASS; static final String QUARTZ_ACTIONUSER; static final String QUARTZ_ACTIONID; static final String QUARTZ_STREAMPROVIDER; static final String QUARTZ_STREAMPROVIDER_INPUT_FILE; static final String QUARTZ_STREAMPROVIDER_INLINE_INPUT_FILE; static final String QUARTZ_STREAMPROVIDER_INLINE_OUTPUT_FILE; static final String QUARTZ_UIPASSPARAM; static final String QUARTZ_LINEAGE_ID; static final String QUARTZ_RESTART_FLAG; static final String QUARTZ_AUTO_CREATE_UNIQUE_FILENAME; static final String QUARTZ_APPEND_DATE_FORMAT; static final String INVOKER_ACTIONPARAMS; static final String INVOKER_ACTIONCLASS; static final String INVOKER_ACTIONUSER; static final String INVOKER_ACTIONID; static final String INVOKER_UUID; static final String INVOKER_CONTENT_TYPE; static final String INVOKER_STATUS; static final String INVOKER_STREAMPROVIDER; static final String INVOKER_STREAMPROVIDER_INPUT_FILE; static final String INVOKER_STREAMPROVIDER_OUTPUT_FILE_PATTERN; static final String INVOKER_STREAMPROVIDER_UNIQUE_FILE_NAME; static final String INVOKER_UIPASSPARAM; static final String INVOKER_RESTART_FLAG; static final String INVOKER_SESSION; static final String INVOKER_ASYNC_EXEC; static final String INVOKER_DEFAULT_ASYNC_EXEC_VALUE; static final String INVOKER_SYNC_VALUE; static final String WORK_ITEM_UID; static final String WORK_ITEM_NAME; }
@Test( expected = ActionInvocationException.class ) public void resolveClassIllegalArgumentExceptionWithEmptyStrings() throws PluginBeanException, ActionInvocationException { ActionUtil.resolveActionClass( "", "" ); }
@Test( expected = ActionInvocationException.class ) public void resolveClassIllegalArgumentExceptionWithNulls() throws PluginBeanException, ActionInvocationException { ActionUtil.resolveActionClass( null, null ); }
@Test public void resolveClassTestHappyPathNoBeanID() throws Exception { Class<?> aClass = ActionUtil.resolveActionClass( MyTestAction.class.getName(), "" ); assertEquals( MyTestAction.class, aClass ); }
@Test public void resolveClassTestHappyPath() throws Exception { String beanId = "ktr.backgroundAction"; Class<?> clazz = MyTestAction.class; IPluginManager pluginManager = mock( IPluginManager.class ); PowerMockito.mockStatic( PentahoSystem.class ); BDDMockito.given( PentahoSystem.get( IPluginManager.class ) ).willReturn( pluginManager ); Mockito.doReturn( clazz ).when( pluginManager ).loadClass( anyString() ); Class<?> aClass = ActionUtil.resolveActionClass( MyTestAction.class.getName(), beanId ); assertEquals( MyTestAction.class, aClass ); }