use of org.pentaho.platform.engine.core.system.StandaloneApplicationContext in project pentaho-platform by pentaho.
the class StandaloneSessionTest method testTempFileDeleter.
public void testTempFileDeleter() throws Exception {
// get one with an id. //$NON-NLS-1$
StandaloneSession session = new StandaloneSession("tempfiledeleter", UUIDUtil.getUUIDAsString());
StandaloneTempFileDeleter deleter = new StandaloneTempFileDeleter();
// $NON-NLS-1$ //$NON-NLS-2$
StandaloneApplicationContext appContext = new StandaloneApplicationContext(getSolutionRoot(), "");
// $NON-NLS-1$ //$NON-NLS-2$
File file1 = appContext.createTempFile(session, "testTempFileDeleter", "txt", true);
// File object was returned
assertNotNull(file1);
// File exists
assertTrue(file1.exists());
// Deleter wasn't bound to session, so no delete
assertFalse(deleter.hasTempFile(file1.getName()));
// Bind deleter to the session
session.setAttribute(ITempFileDeleter.DELETER_SESSION_VARIABLE, deleter);
// $NON-NLS-1$ //$NON-NLS-2$
File file2 = appContext.createTempFile(session, "testTempFileDeleter", "txt", true);
// File object was returned
assertNotNull(file2);
// File exists
assertTrue(file2.exists());
// Deleter is bound to session
assertTrue(deleter.hasTempFile(file2.getName()));
// File names should be unique
assertFalse(file1.getName().equals(file2.getName()));
deleter.doTempFileCleanup();
// This file will be left over
assertTrue(file1.exists());
// The deleter should have removed this
assertFalse(file2.exists());
// After doTempFileCleanup() the list should be empty
assertFalse(deleter.hasTempFile(file2.getName()));
// The tearDown should blow away everything else...
// Add known deleted file to the deleter
deleter.trackTempFile(file2);
// Validates cleanup doesn't choke on missing files
deleter.doTempFileCleanup();
// Test that IllegalArgumentException if passed a null
try {
deleter.trackTempFile(null);
fail();
} catch (IllegalArgumentException expected) {
// ignored
}
}
use of org.pentaho.platform.engine.core.system.StandaloneApplicationContext 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.StandaloneApplicationContext in project pentaho-platform by pentaho.
the class SystemConfigIT method testSystemSettingsFromSpring.
@Test
public void testSystemSettingsFromSpring() throws Exception {
PentahoSystem.clearObjectFactory();
PentahoSystem.setApplicationContext(new StandaloneApplicationContext(TestResourceLocation.TEST_RESOURCES + "/SystemConfig", ""));
FileSystemXmlApplicationContext context = new FileSystemXmlApplicationContext(TestResourceLocation.TEST_RESOURCES + "/SystemConfig/system/testPropertyPlaceholders-system-settings.spring.xml");
context.refresh();
assertNotNull(context.getBean("testPlaceHolder"));
assertEquals("Hypersonic", context.getBean("testPlaceHolder"));
assertNotNull(context.getBean("testPlaceHolder2"));
assertEquals("A dog's tale", context.getBean("testPlaceHolder2"));
}
use of org.pentaho.platform.engine.core.system.StandaloneApplicationContext in project pentaho-platform by pentaho.
the class SystemConfigIT method testSystemSettingsConfiguration.
@Test
public void testSystemSettingsConfiguration() throws Exception {
PentahoSystem.clearObjectFactory();
PentahoSystem.setApplicationContext(new StandaloneApplicationContext(TestResourceLocation.TEST_RESOURCES + "/SystemConfig", ""));
SystemSettingsConfiguration settings = new SystemSettingsConfiguration("system", new PathBasedSystemSettings());
Properties props = settings.getProperties();
assertNotNull(props);
assertEquals("Hypersonic", props.get("sampledata-datasource.type"));
}
use of org.pentaho.platform.engine.core.system.StandaloneApplicationContext in project pentaho-platform by pentaho.
the class RuntimeContextTest method before.
@Before
public void before() {
mockedRuntimeRepository = mock(IRuntimeRepository.class);
mockedSolutionEngine = mock(ISolutionEngine.class);
mockedPentahoSystem = new MockUp<PentahoSystem>() {
@Mock
public <T> T get(Class<T> type, IPentahoSession session) {
if (type == IRuntimeRepository.class) {
return (T) mockedRuntimeRepository;
} else if (type == ISolutionEngine.class) {
return (T) mockedSolutionEngine;
}
throw new IllegalStateException("Unsupported type: " + type.getSimpleName());
}
@Mock
public void setApplicationContext(final IApplicationContext applicationContext) {
}
@Mock
public IApplicationContext getApplicationContext() {
final String solutionPath = ".";
final String applicationPath = "";
return new StandaloneApplicationContext(solutionPath, applicationPath);
}
};
runtimeCtx = new RuntimeContext("id", mockedSolutionEngine, "solutionName", makeRuntimeData(session), session, null, "processId", urlFactory, makeParameterProviders(session), new ArrayList<String>(), null);
}
Aggregations