public void testGetInstanceCreatesNewPoolForNewApplication() {
   ConnectionPool def, defByName, other = null;
   try {
     def = ConnectionPool.getInstance();
     defByName = ConnectionPool.getInstance(DEFAULT);
     other = ConnectionPool.getInstance(OTHER_APP_NAME);
     // default should still be defByName
     assertEquals(def, defByName);
     // others's should be different
     assertFalse(def == other);
   } finally {
     if (other != null) other.stopPool();
   }
 }
  @Override
  protected void setUp() throws Exception {
    super.setUp(DEFAULT, TEST_CUSTOMER);

    // get pool instance
    pool = ConnectionPool.getInstance();

    // Set up test database names
    defaultDbUtils = DBConnectionUtils.getInstance(DEFAULT);
    otherDbUtils = DBConnectionUtils.getInstance(OTHER_APP_NAME);

    TEST_DB1_NAME = defaultDbUtils.getDbDatabaseName() + TEST_DB1_SUFFIX;
    TEST_DB2_NAME = otherDbUtils.getDbDatabaseName() + TEST_DB2_SUFFIX;

    defaultDbUtils.setDbDatabaseName(TEST_DB1_NAME);
    otherDbUtils.setDbDatabaseName(TEST_DB2_NAME);

    // drop test databases (if they exist)
    DBUtils.dropDB(TEST_DB1_NAME);
    DBUtils.dropDB(TEST_DB2_NAME);

    // create test databases
    DBUtils.createDB(TEST_DB1_NAME);
    DBUtils.createDB(TEST_DB2_NAME);
  }
  public void testMultipleConnectionPools() {
    // check the number of available connections in the pool
    assertEquals(0, pool.getNumberAvailableConnections());

    // checkout a default db connection
    Connection conn = pool.checkout();
    pool.checkin(conn);
    assertEquals(1, pool.getNumberAvailableConnections());

    // checkout a tigerprawn db connection
    ConnectionPool tp = ConnectionPool.getInstance(OTHER_APP_NAME);
    try {
      assertNotSame(pool, tp);
      assertEquals(0, tp.getNumberAvailableConnections());
      conn = tp.checkout();
      tp.checkin(conn);
      assertEquals(1, pool.getNumberAvailableConnections());
      assertEquals(1, tp.getNumberAvailableConnections());
    } finally {
      if (tp != null) tp.stopPool();
    }
  }
 public void testGetInstanceUsesDefaultApplication() {
   ConnectionPool def = ConnectionPool.getInstance();
   ConnectionPool defByName = ConnectionPool.getInstance(DEFAULT);
   assertSame(def, defByName);
 }