mirror of
https://github.com/bjc/prosody.git
synced 2025-04-01 20:27:39 +03:00
util.datamanager: Add basic tests
Test all the things! Somewhat covered by the storagemanager tests, but we don't currently don't have that automated as it needs SQL engines.
This commit is contained in:
parent
f0069378bd
commit
eec6e6d38e
1 changed files with 76 additions and 0 deletions
76
spec/util_datamanager_spec.lua
Normal file
76
spec/util_datamanager_spec.lua
Normal file
|
@ -0,0 +1,76 @@
|
|||
describe("util.datamanager", function()
|
||||
local dm;
|
||||
setup(function()
|
||||
dm = require "util.datamanager";
|
||||
dm.set_data_path("./data");
|
||||
end);
|
||||
|
||||
describe("keyvalue", function()
|
||||
local data = {hello = "world"};
|
||||
|
||||
do
|
||||
local ok, err = dm.store("keyval-user", "datamanager.test", "testdata", data);
|
||||
assert.truthy(ok, err);
|
||||
end
|
||||
|
||||
do
|
||||
local read, err = dm.load("keyval-user", "datamanager.test", "testdata")
|
||||
assert.same(data, read, err);
|
||||
end
|
||||
|
||||
do
|
||||
local ok, err = dm.store("keyval-user", "datamanager.test", "testdata", nil);
|
||||
assert.truthy(ok, err);
|
||||
end
|
||||
|
||||
do
|
||||
local read, err = dm.load("keyval-user", "datamanager.test", "testdata")
|
||||
assert.is_nil(read, err);
|
||||
end
|
||||
end)
|
||||
|
||||
describe("lists", function()
|
||||
do
|
||||
local ok, err = dm.list_store("list-user", "datamanager.test", "testdata", {});
|
||||
assert.truthy(ok, err);
|
||||
end
|
||||
|
||||
do
|
||||
local nothing, err = dm.list_load("list-user", "datamanager.test", "testdata");
|
||||
assert.is_nil(nothing, err);
|
||||
assert.is_nil(err);
|
||||
end
|
||||
|
||||
do
|
||||
local ok, err = dm.list_append("list-user", "datamanager.test", "testdata", {id = 1});
|
||||
assert.truthy(ok, err);
|
||||
end
|
||||
|
||||
do
|
||||
local ok, err = dm.list_append("list-user", "datamanager.test", "testdata", {id = 2});
|
||||
assert.truthy(ok, err);
|
||||
end
|
||||
|
||||
do
|
||||
local ok, err = dm.list_append("list-user", "datamanager.test", "testdata", {id = 3});
|
||||
assert.truthy(ok, err);
|
||||
end
|
||||
|
||||
do
|
||||
local list, err = dm.list_load("list-user", "datamanager.test", "testdata");
|
||||
assert.same(list, {{id = 1}; {id = 2}; {id = 3}}, err);
|
||||
end
|
||||
|
||||
do
|
||||
local ok, err = dm.list_store("list-user", "datamanager.test", "testdata", {});
|
||||
assert.truthy(ok, err);
|
||||
end
|
||||
|
||||
do
|
||||
local nothing, err = dm.list_load("list-user", "datamanager.test", "testdata");
|
||||
assert.is_nil(nothing, err);
|
||||
assert.is_nil(err);
|
||||
end
|
||||
|
||||
end)
|
||||
end)
|
Loading…
Add table
Add a link
Reference in a new issue