55import static org .junit .Assert .assertThat ;
66
77import android .content .Context ;
8+ import android .util .Log ;
89
10+ import net .zetetic .database .sqlcipher .SQLiteConnection ;
911import net .zetetic .database .sqlcipher .SQLiteDatabase ;
12+ import net .zetetic .database .sqlcipher .SQLiteDatabaseHook ;
1013import net .zetetic .database .sqlcipher .SQLiteOpenHelper ;
14+ import net .zetetic .database .sqlcipher .SQLiteStatement ;
1115
1216import org .junit .Test ;
1317
@@ -16,20 +20,35 @@ public class SQLCipherOpenHelperTest extends AndroidSQLCipherTestCase {
1620 @ Test
1721 public void shouldAccessReadOnlyDatabaseFromOpenHelper (){
1822 database .close ();
19- DatabaseHelper helper = new DatabaseHelper (context );
23+ SqlCipherOpenHelper helper = new SqlCipherOpenHelper (context );
2024 SQLiteDatabase db = helper .getReadableDatabase ();
25+ SQLiteStatement statement = db .compileStatement ("PRAGMA cipher_provider_version;" );
26+ String version = statement .simpleQueryForString ();
27+ Log .i (TAG , String .format ("SQLCipher provider version:%s" , version ));
2128 assertThat (db , is (notNullValue ()));
2229 }
2330
24- private class DatabaseHelper extends SQLiteOpenHelper {
31+ private class SqlCipherOpenHelper extends SQLiteOpenHelper {
2532
26- public DatabaseHelper (Context context ){
27- super (context , "foo.db" , "foo" , null , 1 , 1 , null , null );
33+ private final String TAG = getClass ().getSimpleName ();
34+
35+ public SqlCipherOpenHelper (Context context ) {
36+ super (context , "test.db" , "test" , null , 1 , 1 , sqLiteDatabase -> Log .e (SQLCipherOpenHelperTest .this .TAG , "onCorruption()" ), new SQLiteDatabaseHook () {
37+ @ Override
38+ public void preKey (SQLiteConnection sqLiteConnection ) {
39+ Log .d (SQLCipherOpenHelperTest .this .TAG , "preKey()" );
40+ }
41+
42+ @ Override
43+ public void postKey (SQLiteConnection sqLiteConnection ) {
44+ Log .d (SQLCipherOpenHelperTest .this .TAG , "postKey()" );
45+ }
46+ });
2847 }
2948
3049 @ Override
3150 public void onCreate (SQLiteDatabase db ) {
32-
51+ db . execSQL ( "CREATE TABLE test (_id INTEGER PRIMARY KEY, value TEXT NOT NULL)" );
3352 }
3453
3554 @ Override
0 commit comments