param.setValue( "testvalue" );
outputs.put( "testoutput", param );
context.outputParameters = outputs;
engine.executeCount = 0;
GlobalListsPublisher globals = new GlobalListsPublisher();
assertEquals( Messages.getInstance().getString( "GlobalListsPublisher.USER_SYSTEM_SETTINGS" ), globals.getName() );
assertEquals( Messages.getInstance().getString( "GlobalListsPublisher.USER_DESCRIPTION" ), globals.getDescription() );
assertTrue( !globals.getName().startsWith( "!" ) );
assertTrue( !globals.getDescription().startsWith( "!" ) );
assertNotNull( globals.getLogger() );
String resultMsg = globals.publish( session );
assertEquals( Messages.getInstance().getString( "GlobalListsPublisher.USER_SYSTEM_SETTINGS_UPDATED" ), resultMsg );
assertEquals( 0, engine.executeCount );
PentahoSystem.setSessionStartupActions( actions );
IParameterProvider globalParams = PentahoSystem.getGlobalParameters();
resultMsg = globals.publish( session );
assertEquals( 1, engine.executeCount );
assertEquals( Messages.getInstance().getString( "GlobalListsPublisher.USER_SYSTEM_SETTINGS_UPDATED" ), resultMsg );
// check that we made it all the way to executing the startup action
assertEquals( session, engine.initSession );
assertEquals( startupAction1.getActionPath(), engine.actionPath );
assertEquals( "testvalue", globalParams.getParameter( "testoutput" ) );
param.setValue( "testvalue2" );
resultMsg = globals.publish( session );
assertEquals( Messages.getInstance().getString( "GlobalListsPublisher.USER_SYSTEM_SETTINGS_UPDATED" ), resultMsg );
assertEquals( 2, engine.executeCount );
assertNotNull( globalParams );
assertEquals( "testvalue2", globalParams.getParameter( "testoutput" ) );