public SqliteDatabaseAssert hasPath(String path) { isNotNull(); String actualPath = actual.getPath(); assertThat(actualPath) // .overridingErrorMessage("Expected path <%s> but was <%s>.", path, actualPath) // .isEqualTo(path); return this; }
@Test public void verifyDeleteWhileOpening() { Context context = RuntimeEnvironment.application; String filePath = getClass().getResource("/databases/corrupted.db").getPath(); final long originalLength = new File(filePath).length(); assertThat(new File(filePath).exists()).isTrue(); JobStorage jobStorage = new JobStorage(context, filePath); SQLiteDatabase database = jobStorage.getDatabase(); assertThat(database).isNotNull(); assertThat(database.isOpen()).isTrue(); assertThat(originalLength).isNotEqualTo(new File(filePath).length()); File databaseFile = new File(database.getPath()); assertThat(databaseFile.exists()).isTrue(); assertThat(databaseFile.isFile()).isTrue(); } }
@Test public void shouldUseInMemoryDatabaseWhenCallingCreate() throws Exception { SQLiteDatabase db = SQLiteDatabase.create(null); assertThat(db.isOpen()).isTrue(); assertThat(db.getPath()).isEqualTo(":memory:"); }
@Test public void verifyDeleteAfterCorruptionWhileOpen() { Context context = RuntimeEnvironment.application; JobStorage jobStorage = new JobStorage(context); SQLiteDatabase database = jobStorage.getDatabase(); assertThat(database).isNotNull(); assertThat(database.isOpen()).isTrue(); File file = new File(database.getPath()); assertThat(file.exists()).isTrue(); assertThat(file.isFile()).isTrue(); new JobStorageDatabaseErrorHandler().onCorruption(database); assertThat(file.exists()).isFalse(); }
@Test public void verifyDeleteAfterCorruptionWhileClosed() { Context context = RuntimeEnvironment.application; JobStorage jobStorage = new JobStorage(context); SQLiteDatabase database = jobStorage.getDatabase(); assertThat(database).isNotNull(); assertThat(database.isOpen()).isTrue(); File file = new File(database.getPath()); assertThat(file.exists()).isTrue(); assertThat(file.isFile()).isTrue(); database.close(); new JobStorageDatabaseErrorHandler().onCorruption(database); assertThat(file.exists()).isFalse(); }
@Test public void verifyDeleteWithApi14() { Context context = RuntimeEnvironment.application; JobStorage jobStorage = new JobStorage(context); SQLiteDatabase database = jobStorage.getDatabase(); assertThat(database).isNotNull(); assertThat(database.isOpen()).isTrue(); File file = new File(database.getPath()); assertThat(file.exists()).isTrue(); assertThat(file.isFile()).isTrue(); new JobStorageDatabaseErrorHandler().deleteApi14(context, file); assertThat(file.exists()).isFalse(); }
@Test public void testGetPath() throws Exception { final String path1 = "path1", path2 = "path2"; TestOpenHelper helper1 = new TestOpenHelper(ApplicationProvider.getApplicationContext(), path1, null, 1); String expectedPath1 = ApplicationProvider.getApplicationContext().getDatabasePath(path1).getAbsolutePath(); assertThat(helper1.getReadableDatabase().getPath()).isEqualTo(expectedPath1); TestOpenHelper helper2 = new TestOpenHelper(ApplicationProvider.getApplicationContext(), path2, null, 1); String expectedPath2 = ApplicationProvider.getApplicationContext().getDatabasePath(path2).getAbsolutePath(); assertThat(helper2.getReadableDatabase().getPath()).isEqualTo(expectedPath2); }
@Override public String getPath() { return db.getPath(); }
@Override public void onCreate(SQLiteDatabase db) { if (DEBUG) Log.w(TAG, "Creating database: " + db.getPath()); for (int i = 0; i < databaseTables.length; i++) { db.execSQL("CREATE TABLE IF NOT EXISTS " + databaseTables[i] + " (" + tableFields[i] + ");"); db.execSQL("CREATE INDEX IF NOT EXISTS time_device ON " + databaseTables[i] + " (timestamp, device_id);"); } db.setVersion(newVersion); }
private void checkDatabaseIsOpen() { if (!mDatabase.isOpen()) { throw new IllegalStateException("database " + mDatabase.getPath() + " already closed"); } }
public void printAllActivities() { SQLiteDatabase database = this.getWritableDatabase(); System.out.println(database.getPath()); Cursor c = database.rawQuery("select * from sport", null); for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) { int index = c.getColumnIndex("activity"); String activity = c.getString(index); System.out.println("activity from database: " + activity); } c.close(); database.close(); }
@Override public void onCreate(SQLiteDatabase db) { Log.d(TAG, "onCreate - CollectionDb '" + db.getPath() + "' with version " + db.getVersion() + ", objectId: " + this.hashCode()); db.execSQL(CREATE_TABLE_ARTISTS); db.execSQL(CREATE_TABLE_ALBUMARTISTS); db.execSQL(CREATE_TABLE_ALBUMS); db.execSQL(CREATE_TABLE_ARTISTALBUMS); db.execSQL(CREATE_TABLE_TRACKS); db.execSQL(CREATE_TABLE_REVISIONHISTORY); Log.d(TAG, "onCreate finished - CollectionDb '" + db.getPath() + "' with version " + db.getVersion() + ", objectId: " + this.hashCode()); }
@Implementation public void execute() { if (!mDatabase.isOpen()) { throw new IllegalStateException("database " + mDatabase.getPath() + " already closed"); } try { actualDBstatement.execute(); } catch (SQLException e) { throw new RuntimeException(e); } }
public SqliteDatabaseAssert hasPath(String path) { isNotNull(); String actualPath = actual.getPath(); assertThat(actualPath) // .overridingErrorMessage("Expected path <%s> but was <%s>.", path, actualPath) // .isEqualTo(path); return this; }
@Override public void onCorruption(SQLiteDatabase dbObj) { Log.d(TAG, "onCorruption"); String path = dbObj.getPath(); getContext().deleteFile(path); } });
/** * Validate the integrity of the database * * @param sqliteDatabase database */ private void validateDatabaseIntegrity(SQLiteDatabase sqliteDatabase) { if (!sqliteDatabase.isDatabaseIntegrityOk()) { throw new GeoPackageException( "GeoPackage SQLite file integrity failed: " + sqliteDatabase.getPath()); } }
/** * Validate the header of the database file to verify it is a sqlite database * * @param sqliteDatabase database */ private void validateDatabaseHeader(SQLiteDatabase sqliteDatabase) { boolean validHeader = isDatabaseHeaderValid(sqliteDatabase); if (!validHeader) { throw new GeoPackageException( "GeoPackage SQLite header is not valid: " + sqliteDatabase.getPath()); } }
public void deleteDatabase() { // Are you sure? (y/n) final SQLiteDatabase db = mOpenHelper.getWritableDatabase(); final File dbFile = new File(db.getPath()); mOpenHelper.close(); if (dbFile.exists()) { SQLiteDatabase.deleteDatabase(dbFile); } mOpenHelper = new DatabaseHelper(getContext()); mOpenHelper.mListener = mListener; }