mirror of https://github.com/bjc/prosody
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
1.8 KiB
76 lines
1.8 KiB
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)
|
|
|