mirror of
https://github.com/logos-storage/nim-datastore.git
synced 2026-01-05 23:23:10 +00:00
fix test
This commit is contained in:
parent
d35bbea741
commit
9362fcbb07
@ -20,7 +20,7 @@ type
|
|||||||
DbKey* = string | KeyId
|
DbKey* = string | KeyId
|
||||||
DbVal* = seq[byte] | DataBuffer
|
DbVal* = seq[byte] | DataBuffer
|
||||||
|
|
||||||
DbBatchEntry* = tuple[key: string, data: seq[byte]] | tuple[key: KeyId, data: DataBuffer]
|
DbBatchEntry* = tuple[key: string, data: seq[byte]] | tuple[key: KeyId, data: DataBuffer]
|
||||||
|
|
||||||
DbQuery* = object
|
DbQuery* = object
|
||||||
key*: KeyId # Key to be queried
|
key*: KeyId # Key to be queried
|
||||||
|
|||||||
@ -40,7 +40,7 @@ proc has*(self: SQLiteDatastore, key: DbKey): ?!bool =
|
|||||||
return success exists
|
return success exists
|
||||||
|
|
||||||
proc delete*(self: SQLiteDatastore, key: DbKey): ?!void =
|
proc delete*(self: SQLiteDatastore, key: DbKey): ?!void =
|
||||||
return self.db.deleteStmt.exec((key.data))
|
return self.db.deleteStmt.exec((key))
|
||||||
|
|
||||||
proc delete*(self: SQLiteDatastore, keys: openArray[DbKey]): ?!void =
|
proc delete*(self: SQLiteDatastore, keys: openArray[DbKey]): ?!void =
|
||||||
if err =? self.db.beginStmt.exec().errorOption:
|
if err =? self.db.beginStmt.exec().errorOption:
|
||||||
@ -91,7 +91,7 @@ proc put*(self: SQLiteDatastore, batch: openArray[DbBatchEntry]): ?!void =
|
|||||||
return failure err
|
return failure err
|
||||||
|
|
||||||
for entry in batch:
|
for entry in batch:
|
||||||
if err =? self.db.putStmt.exec((entry.key.id, entry.data, timestamp())).errorOption:
|
if err =? self.db.putStmt.exec((entry.key, entry.data, timestamp())).errorOption:
|
||||||
if err =? self.db.rollbackStmt.exec().errorOption:
|
if err =? self.db.rollbackStmt.exec().errorOption:
|
||||||
return failure err
|
return failure err
|
||||||
|
|
||||||
@ -202,7 +202,7 @@ proc query*(self: SQLiteDatastore,
|
|||||||
|
|
||||||
|
|
||||||
proc contains*(self: SQLiteDatastore, key: DbKey): bool =
|
proc contains*(self: SQLiteDatastore, key: DbKey): bool =
|
||||||
return self.has(key)
|
return self.has(key).get()
|
||||||
|
|
||||||
|
|
||||||
proc new*(T: type SQLiteDatastore,
|
proc new*(T: type SQLiteDatastore,
|
||||||
|
|||||||
@ -18,7 +18,8 @@ suite "Test Basic SQLiteDatastore":
|
|||||||
|
|
||||||
let
|
let
|
||||||
ds = SQLiteDatastore.new(Memory).tryGet()
|
ds = SQLiteDatastore.new(Memory).tryGet()
|
||||||
key = Key.init("a:b/c/d:e").tryGet().id()
|
keyFull = Key.init("a:b/c/d:e").tryGet()
|
||||||
|
key = keyFull.id()
|
||||||
bytes = "some bytes".toBytes
|
bytes = "some bytes".toBytes
|
||||||
otherBytes = "some other bytes".toBytes
|
otherBytes = "some other bytes".toBytes
|
||||||
|
|
||||||
@ -43,15 +44,15 @@ suite "Test Basic SQLiteDatastore":
|
|||||||
ds.delete(key).tryGet()
|
ds.delete(key).tryGet()
|
||||||
|
|
||||||
test "contains":
|
test "contains":
|
||||||
check:
|
check key notin ds
|
||||||
not await (key in ds)
|
|
||||||
|
|
||||||
test "put batch":
|
test "put batch":
|
||||||
var
|
var
|
||||||
batch: seq[BatchEntry]
|
batch: seq[tuple[key: string, data: seq[byte]]]
|
||||||
|
|
||||||
for k in 0..<100:
|
for k in 0..<100:
|
||||||
batch.add((Key.init(key.id, $k).tryGet, @[k.byte]))
|
let kk = Key.init(key, $k).tryGet().id()
|
||||||
|
batch.add((kk, @[k.byte]))
|
||||||
|
|
||||||
ds.put(batch).tryGet
|
ds.put(batch).tryGet
|
||||||
|
|
||||||
@ -63,7 +64,7 @@ suite "Test Basic SQLiteDatastore":
|
|||||||
batch: seq[Key]
|
batch: seq[Key]
|
||||||
|
|
||||||
for k in 0..<100:
|
for k in 0..<100:
|
||||||
batch.add(Key.init(key.id, $k).tryGet)
|
batch.add(Key.init(key, $k).tryGet)
|
||||||
|
|
||||||
ds.delete(batch).tryGet
|
ds.delete(batch).tryGet
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user