diff --git a/datastore/memoryds.nim b/datastore/memoryds.nim index 9db571b..56cfef8 100644 --- a/datastore/memoryds.nim +++ b/datastore/memoryds.nim @@ -84,6 +84,6 @@ method close*(self: MemoryDatastore): Future[?!void] {.async.} = self.store.clear() return success() -func new*(tp: typedesc[MemoryDatastore]): ?!MemoryDatastore = +func new*(tp: typedesc[MemoryDatastore]): MemoryDatastore = var self = default(tp) - success self + return self diff --git a/tests/datastore/testmemoryds.nim b/tests/datastore/testmemoryds.nim index 626d98d..fedb497 100644 --- a/tests/datastore/testmemoryds.nim +++ b/tests/datastore/testmemoryds.nim @@ -8,35 +8,24 @@ import pkg/chronos import pkg/stew/results import pkg/stew/byteutils -import pkg/datastore/fsds +import pkg/datastore/memoryds import ./dscommontests import ./querycommontests suite "Test Basic MemoryDatastore": let - path = currentSourcePath() # get this file's name - basePath = "tests_data" - basePathAbs = path.parentDir / basePath key = Key.init("/a/b").tryGet() bytes = "some bytes".toBytes otherBytes = "some other bytes".toBytes var - fsStore: MemoryDatastore + memStore: MemoryDatastore setupAll: - removeDir(basePathAbs) - require(not dirExists(basePathAbs)) - createDir(basePathAbs) + memStore = MemoryDatastore.new() - fsStore = MemoryDatastore.new(root = basePathAbs, depth = 3).tryGet() - - teardownAll: - removeDir(basePathAbs) - require(not dirExists(basePathAbs)) - - basicStoreTests(fsStore, key, bytes, otherBytes) + basicStoreTests(memStore, key, bytes, otherBytes) suite "Test Misc MemoryDatastore": let @@ -54,65 +43,6 @@ suite "Test Misc MemoryDatastore": removeDir(basePathAbs) require(not dirExists(basePathAbs)) - test "Test validDepth()": - let - fs = MemoryDatastore.new(root = "/", depth = 3).tryGet() - invalid = Key.init("/a/b/c/d").tryGet() - valid = Key.init("/a/b/c").tryGet() - - check: - not fs.validDepth(invalid) - fs.validDepth(valid) - - test "Test invalid key (path) depth": - let - fs = MemoryDatastore.new(root = basePathAbs, depth = 3).tryGet() - key = Key.init("/a/b/c/d").tryGet() - - check: - (await fs.put(key, bytes)).isErr - (await fs.get(key)).isErr - (await fs.delete(key)).isErr - (await fs.has(key)).isErr - - test "Test valid key (path) depth": - let - fs = MemoryDatastore.new(root = basePathAbs, depth = 3).tryGet() - key = Key.init("/a/b/c").tryGet() - - check: - (await fs.put(key, bytes)).isOk - (await fs.get(key)).isOk - (await fs.delete(key)).isOk - (await fs.has(key)).isOk - - test "Test key cannot write outside of root": - let - fs = MemoryDatastore.new(root = basePathAbs, depth = 3).tryGet() - key = Key.init("/a/../../c").tryGet() - - check: - (await fs.put(key, bytes)).isErr - (await fs.get(key)).isErr - (await fs.delete(key)).isErr - (await fs.has(key)).isErr - - test "Test key cannot convert to invalid path": - let - fs = MemoryDatastore.new(root = basePathAbs).tryGet() - - for c in invalidFilenameChars: - if c == ':': continue - if c == '/': continue - - let - key = Key.init("/" & c).tryGet() - - check: - (await fs.put(key, bytes)).isErr - (await fs.get(key)).isErr - (await fs.delete(key)).isErr - (await fs.has(key)).isErr suite "Test Query": let @@ -128,7 +58,7 @@ suite "Test Query": require(not dirExists(basePathAbs)) createDir(basePathAbs) - ds = MemoryDatastore.new(root = basePathAbs, depth = 5).tryGet() + ds = MemoryDatastore.new() teardown: