add swiftUI code
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
import XCTest
|
||||
import GRDB
|
||||
|
||||
class DatabaseQueueReadOnlyTests : GRDBTestCase {
|
||||
|
||||
func testOpenReadOnlyMissingDatabase() throws {
|
||||
dbConfiguration.readonly = true
|
||||
do {
|
||||
_ = try makeDatabaseQueue()
|
||||
} catch let error as DatabaseError {
|
||||
XCTAssertEqual(error.resultCode, .SQLITE_CANTOPEN)
|
||||
}
|
||||
}
|
||||
|
||||
func testReadOnlyDatabaseCanNotBeModified() throws {
|
||||
// Create database
|
||||
do {
|
||||
_ = try makeDatabaseQueue(filename: "test.sqlite")
|
||||
}
|
||||
|
||||
// Open it again, readonly
|
||||
dbConfiguration.readonly = true
|
||||
let dbQueue = try makeDatabaseQueue(filename: "test.sqlite")
|
||||
let statement = try dbQueue.inDatabase { db in
|
||||
try db.makeStatement(sql: "CREATE TABLE items (id INTEGER PRIMARY KEY)")
|
||||
}
|
||||
do {
|
||||
try dbQueue.inDatabase { db in
|
||||
try statement.execute()
|
||||
}
|
||||
XCTFail()
|
||||
} catch let error as DatabaseError {
|
||||
XCTAssertEqual(error.resultCode, .SQLITE_READONLY)
|
||||
XCTAssertEqual(error.message!, "attempt to write a readonly database")
|
||||
XCTAssertEqual(error.sql!, "CREATE TABLE items (id INTEGER PRIMARY KEY)")
|
||||
XCTAssertEqual(error.description, "SQLite error 8: attempt to write a readonly database - while executing `CREATE TABLE items (id INTEGER PRIMARY KEY)`")
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user