Skip to content

Commit 7162bb0

Browse files
committed
add more tests
1 parent 5b2e597 commit 7162bb0

File tree

6 files changed

+127
-8
lines changed

6 files changed

+127
-8
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package net.zetetic.tests.support;
2+
3+
import net.sqlcipher.database.SQLiteDatabase;
4+
import net.zetetic.QueryHelper;
5+
import net.zetetic.tests.SQLCipherTest;
6+
7+
public class ComputeKDFTest extends SupportTest {
8+
9+
@Override
10+
public boolean execute(SQLiteDatabase database) {
11+
database.rawExecSQL("PRAGMA cipher_kdf_compute;");
12+
String kdf = QueryHelper.singleValueFromQuery(database, "PRAGMA kdf_iter;");
13+
setMessage(String.format("Computed KDF:%s", kdf));
14+
return true;
15+
}
16+
17+
@Override
18+
public String getName() {
19+
return "Compute KDF Test";
20+
}
21+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package net.zetetic.tests.support;
2+
3+
import net.sqlcipher.database.SQLiteDatabase;
4+
import net.zetetic.QueryHelper;
5+
import net.zetetic.tests.SQLCipherTest;
6+
7+
public class EnableForeignKeySupportTest extends SupportTest {
8+
@Override
9+
public boolean execute(SQLiteDatabase database) {
10+
String defaultValue = QueryHelper.singleValueFromQuery(database, "PRAGMA foreign_keys");
11+
database.rawExecSQL("PRAGMA foreign_keys = ON;");
12+
String updatedValue = QueryHelper.singleValueFromQuery(database, "PRAGMA foreign_keys");
13+
return defaultValue.equals("0") && updatedValue.equals("1");
14+
}
15+
16+
@Override
17+
public String getName() {
18+
return "Enable Foreign Key Support Test";
19+
}
20+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package net.zetetic.tests.support;
2+
3+
import net.sqlcipher.database.SQLiteDatabase;
4+
import net.zetetic.QueryHelper;
5+
import net.zetetic.tests.SQLCipherTest;
6+
7+
8+
public class NestedTransactionsTest extends SupportTest {
9+
10+
@Override
11+
public boolean execute(SQLiteDatabase database) {
12+
database.rawExecSQL("savepoint foo;");
13+
database.rawExecSQL("create table t1(a,b);");
14+
database.execSQL("insert into t1(a,b) values(?,?);", new Object[]{"one for the money", "two for the show"});
15+
database.rawExecSQL("savepoint bar;");
16+
database.execSQL("insert into t1(a,b) values(?,?);", new Object[]{"three to get ready", "go man go"});
17+
database.rawExecSQL("rollback transaction to bar;");
18+
database.rawExecSQL("commit;");
19+
int count = QueryHelper.singleIntegerValueFromQuery(database, "select count(*) from t1;");
20+
return count == 1;
21+
}
22+
23+
@Override
24+
public String getName() {
25+
return "Nested Transactions Test";
26+
}
27+
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package net.zetetic.tests.support;
2+
3+
import net.sqlcipher.Cursor;
4+
import net.sqlcipher.database.SQLiteDatabase;
5+
import net.zetetic.tests.SQLCipherTest;
6+
7+
public class RawQueryTest extends SupportTest {
8+
9+
@Override
10+
public boolean execute(SQLiteDatabase database) {
11+
int rows = 0;
12+
database.execSQL("create table t1(a,b);");
13+
database.execSQL("insert into t1(a,b) values(?, ?);",
14+
new Object[]{"one for the money", "two for the show"});
15+
Cursor cursor = database.rawQuery("select * from t1;", null, 1, 1);
16+
if(cursor != null){
17+
while(cursor.moveToNext()) {
18+
cursor.getString(0);
19+
rows++;
20+
}
21+
cursor.close();
22+
}
23+
return rows > 0;
24+
}
25+
26+
@Override
27+
public String getName() {
28+
return "Raw Query Test";
29+
}
30+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package net.zetetic.tests.support;
2+
3+
import net.sqlcipher.database.SQLiteDatabase;
4+
import net.zetetic.QueryHelper;
5+
import net.zetetic.tests.SQLCipherTest;
6+
7+
public class SoundexTest extends SupportTest {
8+
9+
String SQLCIPHER_SOUNDEX = "S421";
10+
11+
@Override
12+
public boolean execute(SQLiteDatabase database) {
13+
String soundex = QueryHelper.singleValueFromQuery(database, "SELECT soundex('sqlcipher');");
14+
return SQLCIPHER_SOUNDEX.equals(soundex);
15+
}
16+
17+
@Override
18+
public String getName() {
19+
return "Soundex Test";
20+
}
21+
}

app/src/main/java/net/zetetic/tests/support/SupportSuiteRunner.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -150,19 +150,19 @@ private List<SupportTest> getTestsToRun() {
150150
// TODO rewrite tests.add(new CursorAccessTest());
151151
// TODO rewrite tests.add(new VerifyOnUpgradeIsCalledTest());
152152
// TODO rewrite tests.add(new MigrationUserVersion());
153-
/* tests.add(new ExportToUnencryptedDatabase());
154-
tests.add(new QueryNonEncryptedDatabaseTest());
153+
// TODO rewrite tests.add(new ExportToUnencryptedDatabase());
154+
// TODO rewrite tests.add(new QueryNonEncryptedDatabaseTest());
155155
tests.add(new EnableForeignKeySupportTest());
156-
tests.add(new AverageOpenTimeTest());
156+
// TODO rewrite tests.add(new AverageOpenTimeTest());
157157
tests.add(new NestedTransactionsTest());
158158
tests.add(new ComputeKDFTest());
159159
tests.add(new SoundexTest());
160160
tests.add(new RawQueryTest());
161-
tests.add(new OpenReadOnlyDatabaseTest());
162-
tests.add(new RawRekeyTest());
163-
tests.add(new CorruptDatabaseTest());
164-
tests.add(new CustomCorruptionHandlerTest());
165-
tests.add(new MultiThreadReadWriteTest());
161+
// TODO rewrite tests.add(new OpenReadOnlyDatabaseTest());
162+
// TODO rewrite tests.add(new RawRekeyTest());
163+
// TODO rewrite tests.add(new CorruptDatabaseTest());
164+
// TODO rewrite tests.add(new CustomCorruptionHandlerTest());
165+
/* tests.add(new MultiThreadReadWriteTest());
166166
tests.add(new VerifyUTF8EncodingForKeyTest());
167167
tests.add(new TextAsIntegerTest());
168168
tests.add(new TextAsDoubleTest());

0 commit comments

Comments
 (0)