public void testAuditConnection_cannot_establish_connection() { startTest(); try { // Load mock object factory with mock datasource service that produces null datasources StandaloneSpringPentahoObjectFactory factory = new StandaloneSpringPentahoObjectFactory(); factory.init( "test-res/solution/system/pentahoObjects.datasourceservice.null.spring.xml", null); PentahoSystem.registerObjectFactory(factory); AuditConnection auditConnection = new AuditConnection(); auditConnection.setUseNewDatasourceService( true); // make sure we get a datasource from the object factory auditConnection.initialize(); auditConnection.getAuditConnection(); fail("Expected exception when no audit connection could be established"); } catch (SQLException ex) { ex.printStackTrace(); assertTrue("Expected AUDSQLENT.ERROR_0001", ex.getMessage().contains("AUDSQLENT.ERROR_0001")); } finally { finishTest(); } }
public void test1() throws ObjectFactoryException { StandaloneSession session = new StandaloneSession("test"); StandaloneApplicationContext appContext = new StandaloneApplicationContext("test-res/solution", ""); StandaloneSpringPentahoObjectFactory factory = new StandaloneSpringPentahoObjectFactory(); factory.init( "test-res/solution/system/pentahoObjects.GlobalListPublisherTest.spring.xml", null); PentahoSystem.setObjectFactory(factory); PentahoSystem.setSystemSettingsService( factory.get(ISystemSettings.class, "systemSettingsService", session)); PentahoSystem.init(appContext); 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")); engine.errorMsg = "test exception"; resultMsg = globals.publish(session); assertEquals( Messages.getInstance().getString("GlobalListsPublisher.USER_ERROR_PUBLISH_FAILED") + "test exception", resultMsg); assertEquals(3, engine.executeCount); }