Package com.j256.ormlite.dao

Source Code of com.j256.ormlite.dao.DoubleDbOpenTest

package com.j256.ormlite.dao;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;

import java.io.File;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import com.j256.ormlite.BaseCoreTest;
import com.j256.ormlite.jdbc.JdbcConnectionSource;
import com.j256.ormlite.support.ConnectionSource;
import com.j256.ormlite.table.TableUtils;

public class DoubleDbOpenTest extends BaseCoreTest {

  private static final String DATABASE_DIR = "/var/tmp/";
  private static final String DATABASE_NAME_PREFIX = DoubleDbOpenTest.class.getSimpleName();

  @Override
  @Before
  public void before() throws Exception {
    super.before();
    clearDatabases();
  }

  @Override
  @After
  public void after() throws Exception {
    super.after();
    clearDatabases();
  }

  @Test
  public void testDoubleDbOpen() throws Exception {
    clearDatabases();
    ConnectionSource cs =
        new JdbcConnectionSource("jdbc:h2:file:" + DATABASE_DIR + "/" + DATABASE_NAME_PREFIX + ".1");
    TableUtils.createTable(cs, Foo.class);
    Dao<Foo, Integer> dao = DaoManager.createDao(cs, Foo.class);
    Foo foo1 = new Foo();
    foo1.val = 12312;
    assertEquals(1, dao.create(foo1));

    Foo result = dao.queryForId(foo1.id);
    assertNotNull(result);
    assertEquals(foo1.val, result.val);

    // ==================================

    cs = new JdbcConnectionSource("jdbc:h2:file:" + DATABASE_DIR + "/" + DATABASE_NAME_PREFIX + ".2");
    DaoManager.clearCache();
    TableUtils.createTable(cs, Foo.class);
    dao = DaoManager.createDao(cs, Foo.class);
    Foo foo2 = new Foo();
    foo2.val = 12314;
    assertEquals(1, dao.create(foo2));

    result = dao.queryForId(foo2.id);
    assertNotNull(result);
    assertEquals(foo2.val, result.val);
  }

  private void clearDatabases() {
    for (File file : new File(DATABASE_DIR).listFiles()) {
      if (file.getName().startsWith(DATABASE_NAME_PREFIX)) {
        file.delete();
      }
    }
  }
}
TOP

Related Classes of com.j256.ormlite.dao.DoubleDbOpenTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.