package org.pentaho.platform.admin; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; import org.pentaho.di.core.exception.KettleXMLException; import org.pentaho.di.job.JobMeta; import org.pentaho.platform.api.engine.IApplicationContext; import org.pentaho.platform.api.engine.IPentahoSession; import org.pentaho.platform.engine.core.system.PentahoSystem; import org.pentaho.test.platform.utils.TestResourceLocation; import static org.junit.Assert.*; import static org.mockito.Mockito.*; /** * Created by rfellows on 10/20/15. */ @RunWith( MockitoJUnitRunner.class ) public class StatsDatabaseCheckTest { StatsDatabaseCheck statsDatabaseCheck; @Mock IPentahoSession session; @Mock IApplicationContext appContext; @Before public void setUp() throws Exception { statsDatabaseCheck = new StatsDatabaseCheck(); PentahoSystem.setApplicationContext( appContext ); } @Test public void testGetJobFileFullPath() throws Exception { when( appContext.getSolutionPath( "system" ) ).thenReturn( TestResourceLocation.TEST_RESOURCES + "/FileOutputResourceTest/system" ); statsDatabaseCheck.setJobFileName( "HelloWorld.kjb" ); statsDatabaseCheck.getJobFileFullPath(); assertEquals( TestResourceLocation.TEST_RESOURCES + "/FileOutputResourceTest/system/HelloWorld.kjb", statsDatabaseCheck.getJobFileFullPath() ); } @Test public void testShutdown() throws Exception { // code coverage test statsDatabaseCheck.shutdown(); } @Test public void testStartup() throws Exception { StatsDatabaseCheck spyCheck = spy( statsDatabaseCheck ); doReturn( null ).when( spyCheck ).getJobFileFullPath(); boolean startup = spyCheck.startup( session ); assertFalse( startup ); } @Test public void testExecuteJob() throws Exception { JobMeta jobMeta = mock( JobMeta.class ); String filePath = TestResourceLocation.TEST_RESOURCES + "/FileOutputResourceTest/system/HelloWorld.kjb"; when( jobMeta.getFilename() ).thenReturn( filePath ); boolean executeJob = statsDatabaseCheck.executeJob( jobMeta, filePath ); assertFalse( executeJob ); } }