@@ -4,12 +4,22 @@ import SQLiteCipher
4
4
class CipherTests : XCTestCase {
5
5
6
6
let db = try ! Connection ( )
7
+ let db2 = try ! Connection ( )
7
8
8
9
override func setUp( ) {
10
+ // db
9
11
try ! db. key ( " hello " )
10
12
11
13
try ! db. run ( " CREATE TABLE foo (bar TEXT) " )
12
14
try ! db. run ( " INSERT INTO foo (bar) VALUES ('world') " )
15
+
16
+ // db2
17
+ let keyData = NSMutableData ( length: 64 ) !
18
+ let _ = SecRandomCopyBytes ( kSecRandomDefault, 64 , UnsafeMutablePointer < UInt8 > ( keyData. mutableBytes) )
19
+ try ! db2. key ( Blob ( bytes: keyData. bytes, length: keyData. length) )
20
+
21
+ try ! db2. run ( " CREATE TABLE foo (bar TEXT) " )
22
+ try ! db2. run ( " INSERT INTO foo (bar) VALUES ('world') " )
13
23
14
24
super. setUp ( )
15
25
}
@@ -22,6 +32,18 @@ class CipherTests: XCTestCase {
22
32
try ! db. rekey ( " goodbye " )
23
33
XCTAssertEqual ( 1 , db. scalar ( " SELECT count(*) FROM foo " ) as? Int64 )
24
34
}
35
+
36
+ func test_data_key( ) {
37
+ XCTAssertEqual ( 1 , db2. scalar ( " SELECT count(*) FROM foo " ) as? Int64 )
38
+ }
39
+
40
+ func test_data_rekey( ) {
41
+ let keyData = NSMutableData ( length: 64 ) !
42
+ SecRandomCopyBytes ( kSecRandomDefault, 64 , UnsafeMutablePointer < UInt8 > ( keyData. mutableBytes) )
43
+
44
+ try ! db2. rekey ( Blob ( bytes: keyData. bytes, length: keyData. length) )
45
+ XCTAssertEqual ( 1 , db2. scalar ( " SELECT count(*) FROM foo " ) as? Int64 )
46
+ }
25
47
26
48
func test_keyFailure( ) {
27
49
let path = " \( NSTemporaryDirectory ( ) ) /db.sqlite3 "
0 commit comments