microPlatform.define( IPluginProvider.class, Tst14PluginProvider.class );
microPlatform.start();
// register the gwt service handler
IServiceTypeManager gwtHandler = new GwtRpcServiceManager();
DefaultServiceManager sm = (DefaultServiceManager) PentahoSystem.get( IServiceManager.class );
sm.setServiceTypeManagers( Arrays.asList( gwtHandler ) );
PluginMessageLogger.clear();
pluginManager.reload();
// print messages before assert so we can see what went wrong if assert fails
System.out.println( PluginMessageLogger.prettyPrint() );
assertEquals( "Errors occurred during webservice registration (see log)", 0, PluginMessageLogger
.count( "PluginManager.ERR" ) );
// at this point we know that no errors were logged, but we need to make sure the service was registered
// with the service manager. We'll use a mock service manager to test this, since the default service manager
// is a heavy Axis-backed impl, requiring an http server
IServiceConfig config = gwtHandler.getServiceConfig( "EchoServiceBean" );
assertNotNull( "The GWT service manager should have a service registered by name 'EchoServiceBean'", config );
assertEquals( "gwt", config.getServiceType() );
assertEquals( EchoServiceBean.class, config.getServiceClass() );
}