@Override
  protected void setUp() throws Exception {
    ReadDriver.initialize();
    ReadDriver.isEditable = true;
    ReadDriver.pk = true;

    dsf = new DataSourceFactory();
    dsf.setTempDir("src/test/resources/backup");
    DriverManager dm = new DriverManager();
    dm.registerDriver(ReadAndWriteDriver.class);

    SourceManager sourceManager = dsf.getSourceManager();
    sourceManager.setDriverManager(dm);
    sourceManager.register("object", new ObjectSourceDefinition(new ReadAndWriteDriver()));
    sourceManager.register("writeFile", new FakeFileSourceDefinition(new ReadAndWriteDriver()));
    sourceManager.register("closeFile", new FakeFileSourceDefinition(new ReadAndWriteDriver()));
    sourceManager.register("copyFile", new FakeFileSourceDefinition(new ReadAndWriteDriver()));
    sourceManager.register(
        "executeDB",
        new FakeDBTableSourceDefinition(new ReadAndWriteDriver(), "jdbc:executefailing"));
    sourceManager.register(
        "closeDB", new FakeDBTableSourceDefinition(new ReadAndWriteDriver(), "jdbc:closefailing"));
    dsf.getIndexManager()
        .buildIndex("object", SPATIAL_FIELD_NAME, IndexManager.RTREE_SPATIAL_INDEX, null);
    dsf.getIndexManager()
        .buildIndex("writeFile", SPATIAL_FIELD_NAME, IndexManager.RTREE_SPATIAL_INDEX, null);
    dsf.getIndexManager()
        .buildIndex("executeDB", SPATIAL_FIELD_NAME, IndexManager.RTREE_SPATIAL_INDEX, null);
    dsf.getIndexManager()
        .buildIndex("closeDB", SPATIAL_FIELD_NAME, IndexManager.RTREE_SPATIAL_INDEX, null);
    dsf.getIndexManager()
        .buildIndex("copyFile", SPATIAL_FIELD_NAME, IndexManager.RTREE_SPATIAL_INDEX, null);
    dsf.getIndexManager()
        .buildIndex("closeFile", SPATIAL_FIELD_NAME, IndexManager.RTREE_SPATIAL_INDEX, null);
  }
 public void testSpatialDBfailedOnWrite() throws Exception {
   SpatialDataSourceDecorator ds = new SpatialDataSourceDecorator(dsf.getDataSource("executeDB"));
   ds.open();
   ReadDriver.setCurrentDataSource(ds);
   failedCommit(ds, new DefaultSpatialIndexQuery(ds.getFullExtent(), SPATIAL_FIELD_NAME));
 }
 public void testAlphanumericDBFailOnWrite() throws Exception {
   DataSource ds = dsf.getDataSource("executeDB");
   ds.open();
   ReadDriver.setCurrentDataSource(ds);
   failedCommit(ds, new FooQuery());
 }