Skip to content

Commit ba2a295

Browse files
committed
add more tests
1 parent 7162bb0 commit ba2a295

11 files changed

+309
-7
lines changed
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package net.zetetic.tests.support;
2+
3+
import android.database.CharArrayBuffer;
4+
import net.sqlcipher.Cursor;
5+
import net.sqlcipher.database.SQLiteDatabase;
6+
import net.zetetic.tests.SQLCipherTest;
7+
8+
public class CopyStringToBufferNullTest extends SupportTest {
9+
10+
private CharArrayBuffer charArrayBuffer = null;
11+
12+
@Override
13+
public boolean execute(SQLiteDatabase database) {
14+
boolean result = false;
15+
try {
16+
database.execSQL("create table t1(a TEXT, b TEXT);");
17+
database.execSQL("insert into t1(a,b) values(500, 500);");
18+
Cursor cursor = database.rawQuery("select * from t1;", new String[]{});
19+
if(cursor != null){
20+
cursor.moveToFirst();
21+
cursor.copyStringToBuffer(0, charArrayBuffer);
22+
String actualValue = new String(charArrayBuffer.data, 0, charArrayBuffer.sizeCopied);
23+
"500".equals(actualValue);
24+
}
25+
} catch (IllegalArgumentException ex){
26+
result = true;
27+
} finally {
28+
return result;
29+
}
30+
31+
}
32+
33+
@Override
34+
public String getName() {
35+
return "Copy String To Buffer Null Test";
36+
}
37+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package net.zetetic.tests.support;
2+
3+
import android.database.CharArrayBuffer;
4+
import net.sqlcipher.Cursor;
5+
import net.sqlcipher.database.SQLiteDatabase;
6+
import net.zetetic.tests.SQLCipherTest;
7+
8+
public class CopyStringToBufferTestFloatLargeBuffer extends SupportTest {
9+
10+
private CharArrayBuffer charArrayBuffer = new CharArrayBuffer(128);
11+
12+
@Override
13+
public boolean execute(SQLiteDatabase database) {
14+
15+
database.execSQL("create table t1(a REAL, b REAL);");
16+
database.execSQL("insert into t1(a,b) values(123.45, 67.89);");
17+
Cursor cursor = database.rawQuery("select * from t1;", new String[]{});
18+
if(cursor != null){
19+
cursor.moveToFirst();
20+
cursor.copyStringToBuffer(1, charArrayBuffer);
21+
String actualValue = new String(charArrayBuffer.data, 0, charArrayBuffer.sizeCopied);
22+
return "67.89".equals(actualValue);
23+
}
24+
return false;
25+
26+
}
27+
28+
@Override
29+
public String getName() {
30+
return "Copy String To Buffer Test Float Large Buffer";
31+
}
32+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package net.zetetic.tests.support;
2+
3+
import android.database.CharArrayBuffer;
4+
import net.sqlcipher.Cursor;
5+
import net.sqlcipher.database.SQLiteDatabase;
6+
import net.zetetic.tests.SQLCipherTest;
7+
8+
public class CopyStringToBufferTestFloatSmallBuffer extends SupportTest {
9+
10+
private CharArrayBuffer charArrayBuffer = new CharArrayBuffer(1);
11+
12+
@Override
13+
public boolean execute(SQLiteDatabase database) {
14+
15+
database.execSQL("create table t1(a REAL, b REAL);");
16+
database.execSQL("insert into t1(a,b) values(123.45, 67.89);");
17+
Cursor cursor = database.rawQuery("select * from t1;", new String[]{});
18+
if(cursor != null){
19+
cursor.moveToFirst();
20+
cursor.copyStringToBuffer(1, charArrayBuffer);
21+
String actualValue = new String(charArrayBuffer.data, 0, charArrayBuffer.sizeCopied);
22+
return "67.89".equals(actualValue);
23+
}
24+
return false;
25+
26+
}
27+
28+
@Override
29+
public String getName() {
30+
return "Copy String To Buffer Test Float Small Buffer";
31+
}
32+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package net.zetetic.tests.support;
2+
3+
import android.database.CharArrayBuffer;
4+
import net.sqlcipher.Cursor;
5+
import net.sqlcipher.database.SQLiteDatabase;
6+
import net.zetetic.tests.SQLCipherTest;
7+
8+
public class CopyStringToBufferTestIntegerLargeBuffer extends SupportTest {
9+
10+
private CharArrayBuffer charArrayBuffer = new CharArrayBuffer(128);
11+
12+
@Override
13+
public boolean execute(SQLiteDatabase database) {
14+
15+
database.execSQL("create table t1(a INTEGER, b INTEGER);");
16+
database.execSQL("insert into t1(a,b) values(123, 456);");
17+
Cursor cursor = database.rawQuery("select * from t1;", new String[]{});
18+
if(cursor != null){
19+
cursor.moveToFirst();
20+
cursor.copyStringToBuffer(1, charArrayBuffer);
21+
String actualValue = new String(charArrayBuffer.data, 0, charArrayBuffer.sizeCopied);
22+
return "456".equals(actualValue);
23+
}
24+
return false;
25+
26+
}
27+
28+
@Override
29+
public String getName() {
30+
return "Copy String To Buffer Test Integer Large Buffer";
31+
}
32+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package net.zetetic.tests.support;
2+
3+
import android.database.CharArrayBuffer;
4+
import net.sqlcipher.Cursor;
5+
import net.sqlcipher.database.SQLiteDatabase;
6+
import net.zetetic.tests.SQLCipherTest;
7+
8+
public class CopyStringToBufferTestIntegerSmallBuffer extends SupportTest {
9+
10+
private CharArrayBuffer charArrayBuffer = new CharArrayBuffer(1);
11+
12+
@Override
13+
public boolean execute(SQLiteDatabase database) {
14+
15+
database.execSQL("create table t1(a INTEGER, b INTEGER);");
16+
database.execSQL("insert into t1(a,b) values(123, 456);");
17+
Cursor cursor = database.rawQuery("select * from t1;", new String[]{});
18+
if(cursor != null){
19+
cursor.moveToFirst();
20+
cursor.copyStringToBuffer(1, charArrayBuffer);
21+
String actualValue = new String(charArrayBuffer.data, 0, charArrayBuffer.sizeCopied);
22+
return "456".equals(actualValue);
23+
}
24+
return false;
25+
26+
}
27+
28+
@Override
29+
public String getName() {
30+
return "Copy String To Buffer Test Integer Small Buffer";
31+
}
32+
}
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 android.database.CharArrayBuffer;
4+
import net.sqlcipher.Cursor;
5+
import net.sqlcipher.database.SQLiteDatabase;
6+
import net.zetetic.tests.SQLCipherTest;
7+
8+
public class CopyStringToBufferTestStringLargeBuffer extends SupportTest {
9+
10+
private CharArrayBuffer charArrayBuffer = new CharArrayBuffer(128);
11+
12+
@Override
13+
public boolean execute(SQLiteDatabase database) {
14+
database.execSQL("create table t1(a TEXT, b TEXT);");
15+
database.execSQL("insert into t1(a,b) values(500, 500);");
16+
Cursor cursor = database.rawQuery("select * from t1;", new String[]{});
17+
if(cursor != null){
18+
cursor.moveToFirst();
19+
cursor.copyStringToBuffer(0, charArrayBuffer);
20+
String actualValue = new String(charArrayBuffer.data, 0, charArrayBuffer.sizeCopied);
21+
return "500".equals(actualValue);
22+
}
23+
return false;
24+
}
25+
26+
@Override
27+
public String getName() {
28+
return "Copy String To Buffer Test String Large Buffer";
29+
}
30+
}
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 android.database.CharArrayBuffer;
4+
import net.sqlcipher.Cursor;
5+
import net.sqlcipher.database.SQLiteDatabase;
6+
import net.zetetic.tests.SQLCipherTest;
7+
8+
public class CopyStringToBufferTestStringSmallBuffer extends SupportTest {
9+
10+
private CharArrayBuffer charArrayBuffer = new CharArrayBuffer(1);
11+
12+
@Override
13+
public boolean execute(SQLiteDatabase database) {
14+
database.execSQL("create table t1(a TEXT, b TEXT);");
15+
database.execSQL("insert into t1(a,b) values(500, 500);");
16+
Cursor cursor = database.rawQuery("select * from t1;", new String[]{});
17+
if(cursor != null){
18+
cursor.moveToFirst();
19+
cursor.copyStringToBuffer(0, charArrayBuffer);
20+
String actualValue = new String(charArrayBuffer.data, 0, charArrayBuffer.sizeCopied);
21+
return "500".equals(actualValue);
22+
}
23+
return false;
24+
}
25+
26+
@Override
27+
public String getName() {
28+
return "Copy String To Buffer Test String Small Buffer";
29+
}
30+
}

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

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -162,23 +162,23 @@ private List<SupportTest> getTestsToRun() {
162162
// TODO rewrite tests.add(new RawRekeyTest());
163163
// TODO rewrite tests.add(new CorruptDatabaseTest());
164164
// TODO rewrite tests.add(new CustomCorruptionHandlerTest());
165-
/* tests.add(new MultiThreadReadWriteTest());
166-
tests.add(new VerifyUTF8EncodingForKeyTest());
165+
// TODO rewrite tests.add(new MultiThreadReadWriteTest());
166+
// TODO rewrite tests.add(new VerifyUTF8EncodingForKeyTest());
167167
tests.add(new TextAsIntegerTest());
168168
tests.add(new TextAsDoubleTest());
169169
tests.add(new TextAsLongTest());
170-
tests.add(new CreateNonEncryptedDatabaseTest());
171-
tests.add(new ChangePasswordTest());
172-
tests.add(new ReadableWritableInvalidPasswordTest());
173-
tests.add(new InvalidOpenArgumentTest());
170+
// TODO rewrite tests.add(new CreateNonEncryptedDatabaseTest());
171+
// TODO rewrite tests.add(new ChangePasswordTest());
172+
// TODO rewrite tests.add(new ReadableWritableInvalidPasswordTest());
173+
// TODO rewrite tests.add(new InvalidOpenArgumentTest());
174174
tests.add(new CopyStringToBufferTestFloatSmallBuffer());
175175
tests.add(new CopyStringToBufferTestFloatLargeBuffer());
176176
tests.add(new CopyStringToBufferTestIntegerSmallBuffer());
177177
tests.add(new CopyStringToBufferTestIntegerLargeBuffer());
178178
tests.add(new CopyStringToBufferTestStringSmallBuffer());
179179
tests.add(new CopyStringToBufferTestStringLargeBuffer());
180180
tests.add(new CopyStringToBufferNullTest());
181-
tests.add(new OpenSQLCipher3DatabaseTest());
181+
/* tests.add(new OpenSQLCipher3DatabaseTest());
182182
tests.add(new MUTF8ToUTF8WithNullMigrationTest());
183183
tests.add(new RawQuerySyntaxErrorMessageTest());
184184
tests.add(new RawQueryNonsenseStatementErrorMessageTest());
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
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 TextAsDoubleTest extends SupportTest {
8+
@Override
9+
public boolean execute(SQLiteDatabase database) {
10+
database.execSQL("create table t1(a TEXT);");
11+
database.execSQL("insert into t1(a) values(3.14159265359);");
12+
Cursor cursor = database.rawQuery("select * from t1;", new String[]{});
13+
if(cursor != null){
14+
cursor.moveToFirst();
15+
double value = cursor.getDouble(0);
16+
return value == 3.14159265359;
17+
}
18+
return false;
19+
}
20+
21+
@Override
22+
public String getName() {
23+
return "Text As Double Test";
24+
}
25+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
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 TextAsIntegerTest extends SupportTest {
8+
9+
@Override
10+
public boolean execute(SQLiteDatabase database) {
11+
database.execSQL("create table t1(a TEXT);");
12+
database.execSQL("insert into t1(a) values(15);");
13+
Cursor cursor = database.rawQuery("select * from t1;", new String[]{});
14+
if(cursor != null){
15+
cursor.moveToFirst();
16+
int value = cursor.getInt(0);
17+
return value == 15;
18+
}
19+
return false;
20+
}
21+
22+
@Override
23+
public String getName() {
24+
return "Text as Integer Test";
25+
}
26+
}

0 commit comments

Comments
 (0)