use of org.pentaho.platform.engine.core.system.StandaloneSession in project pentaho-platform by pentaho.
the class GlobalListPublisherTest method test1.
public void test1() throws ObjectFactoryException {
StandaloneSession session = new StandaloneSession("test");
StandaloneApplicationContext appContext = new StandaloneApplicationContext("src/test/resources/solution", "");
StandaloneSpringPentahoObjectFactory factory = new StandaloneSpringPentahoObjectFactory();
factory.init("src/test/resources/solution/system/pentahoObjects.GlobalListPublisherTest.spring.xml", null);
PentahoSystem.init(appContext);
PentahoSystem.registerObjectFactory(factory);
PentahoSystem.setSystemSettingsService(factory.get(ISystemSettings.class, "systemSettingsService", session));
List<ISessionStartupAction> actions = new ArrayList<ISessionStartupAction>();
SessionStartupAction startupAction1 = new SessionStartupAction();
startupAction1.setSessionType(PentahoSystem.SCOPE_GLOBAL);
startupAction1.setActionPath("testsolution/testpath/test.xaction");
startupAction1.setActionOutputScope(PentahoSystem.SCOPE_GLOBAL);
actions.add(startupAction1);
TestRuntimeContext context = new TestRuntimeContext();
context.status = IRuntimeContext.RUNTIME_STATUS_SUCCESS;
TestSolutionEngine engine = PentahoSystem.get(TestSolutionEngine.class, "ISolutionEngine", session);
engine.testRuntime = context;
Map<String, IActionParameter> outputs = new HashMap<String, IActionParameter>();
TestActionParameter param = new TestActionParameter();
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"));
assertEquals(2, engine.executeCount);
}
use of org.pentaho.platform.engine.core.system.StandaloneSession in project pentaho-platform by pentaho.
the class OSGIObjectFactoryTest method setup.
@Before
public void setup() {
session = new StandaloneSession();
mockContext = Mockito.mock(BundleContext.class);
mockBundle = Mockito.mock(Bundle.class);
when(mockBundle.getState()).thenReturn(Bundle.ACTIVE);
when(mockContext.getBundle()).thenReturn(mockBundle);
factory = new OSGIObjectFactory(mockContext);
}
use of org.pentaho.platform.engine.core.system.StandaloneSession in project pentaho-platform by pentaho.
the class RuntimeObjectFactoryTest method testGetObjectReferences.
@Test
public void testGetObjectReferences() throws Exception {
IPentahoSession session = new StandaloneSession("joe");
RuntimeObjectFactory factory = new RuntimeObjectFactory();
final SingletonPentahoObjectReference<String> something1 = new SingletonPentahoObjectReference<String>(String.class, "Something1", Collections.<String, Object>emptyMap(), 0);
final SingletonPentahoObjectReference<String> something2 = new SingletonPentahoObjectReference<String>(String.class, "Something2", Collections.<String, Object>emptyMap(), 1);
factory.registerReference(something1);
factory.registerReference(something2);
List<String> out = factory.getAll(String.class, PentahoSessionHolder.getSession());
assertEquals(2, out.size());
List<IPentahoObjectReference<String>> refs = factory.getObjectReferences(String.class, session);
assertSame(something1, refs.get(1));
assertSame(something2, refs.get(0));
}
use of org.pentaho.platform.engine.core.system.StandaloneSession in project pentaho-platform by pentaho.
the class PrototypePentahoObjectReferenceTest method testReference.
@Test
public void testReference() throws Exception {
PrototypePentahoObjectReference<UUID> sessionRef = new PrototypePentahoObjectReference.Builder<UUID>(UUID.class).creator(new IObjectCreator<UUID>() {
@Override
public UUID create(IPentahoSession session) {
return UUID.randomUUID();
}
}).build();
IPentahoSession s1 = new StandaloneSession("joe");
IPentahoSession s2 = new StandaloneSession("admin");
PentahoSessionHolder.setSession(s1);
UUID s1Uuid = sessionRef.getObject();
PentahoSessionHolder.setSession(s2);
UUID s2Uuid = sessionRef.getObject();
assertNotSame(s1Uuid, s2Uuid);
PentahoSessionHolder.setSession(s1);
UUID s1UuidAgain = sessionRef.getObject();
assertNotSame(s1Uuid, s1UuidAgain);
}
use of org.pentaho.platform.engine.core.system.StandaloneSession in project pentaho-platform by pentaho.
the class SessionBoundPentahoObjectReferenceTest method testReference.
@Test
public void testReference() throws Exception {
SessionBoundPentahoObjectReference<UUID> sessionRef = new SessionBoundPentahoObjectReference.Builder<UUID>(UUID.class).creator(new IObjectCreator<UUID>() {
@Override
public UUID create(IPentahoSession session) {
return UUID.randomUUID();
}
}).build();
IPentahoSession s1 = new StandaloneSession("joe");
IPentahoSession s2 = new StandaloneSession("admin");
PentahoSessionHolder.setSession(s1);
UUID s1Uuid = sessionRef.getObject();
PentahoSessionHolder.setSession(s2);
UUID s2Uuid = sessionRef.getObject();
assertNotSame(s1Uuid, s2Uuid);
PentahoSessionHolder.setSession(s1);
UUID s1UuidAgain = sessionRef.getObject();
assertSame(s1Uuid, s1UuidAgain);
}
Aggregations