@Test public void testStartAlreadyRunning() throws SigarException, IOException { EasyMock.expect(processManager.getPidFromPidFile(serverHome + "/hqdb/data/postmaster.pid")) .andReturn(-5678l); replay(); boolean dbStarted = embeddedDBController.startBuiltInDB(); verify(); assertTrue(dbStarted); }
@Test public void testStopDBNotRunning() throws Exception { EasyMock.expect(processManager.getPidFromPidFile(serverHome + "/hqdb/data/postmaster.pid")) .andReturn(-1l); replay(); boolean dbStopped = embeddedDBController.stopBuiltInDB(); verify(); assertTrue(dbStopped); }
// @Test public void testStopPortStillUp() throws Exception { EasyMock.expect(processManager.getPidFromPidFile(serverHome + "/hqdb/data/postmaster.pid")) .andReturn(123l); EasyMock.expect(osInfo.getName()).andReturn("Mac OS X"); EasyMock.expect( processManager.executeProcess( EasyMock.aryEq(new String[] {serverHome + "/bin/db-stop.sh"}), EasyMock.eq(serverHome), EasyMock.eq(false), EasyMock.eq(PostgresEmbeddedDatabaseController.DB_PROCESS_TIMEOUT))) .andReturn(0); EasyMock.expect(processManager.isPortInUse(5432l, 1)).andReturn(true); EasyMock.expect(processManager.isPortInUse(5432l, 1)).andReturn(true); replay(); embeddedDBController.dbPortStopCheckTries = 2; boolean dbStopped = embeddedDBController.stopBuiltInDB(); verify(); assertFalse(dbStopped); }
@Test public void testStopOnWindows() throws Exception { EasyMock.expect(processManager.getPidFromPidFile(serverHome + "/hqdb/data/postmaster.pid")) .andReturn(1l); EasyMock.expect(osInfo.getName()).andReturn("Win32"); EasyMock.expect( processManager.executeProcess( EasyMock.aryEq(new String[] {serverHome + "/bin/db-stop.bat"}), EasyMock.eq(serverHome), EasyMock.eq(false), EasyMock.eq(PostgresEmbeddedDatabaseController.DB_PROCESS_TIMEOUT))) .andReturn(0); replay(); boolean dbStopped = embeddedDBController.stopBuiltInDB(); verify(); assertTrue(dbStopped); }
@Test public void testStartPortNotBound() throws Exception { EasyMock.expect(processManager.getPidFromPidFile(serverHome + "/hqdb/data/postmaster.pid")) .andReturn(-1l); EasyMock.expect(osInfo.getName()).andReturn("Mac OS X"); EasyMock.expect( processManager.executeProcess( EasyMock.aryEq(new String[] {serverHome + "/bin/db-start.sh"}), EasyMock.eq(serverHome), EasyMock.eq(false), EasyMock.eq(PostgresEmbeddedDatabaseController.DB_PROCESS_TIMEOUT))) .andReturn(0); EasyMock.expect(processManager.isPortInUse(5432l, 10)).andReturn(false); replay(); boolean dbStarted = embeddedDBController.startBuiltInDB(); verify(); assertFalse(dbStarted); }
@Test public void testShouldUseNoDBFile() { assertFalse(embeddedDBController.shouldUse()); }