core.storagemanager: Respect archive ids issued by storage drivers in tests

Storage drivers may issue their own IDs tho none of the included ones do
this atm, but the 3rd party module mod_storage_xmlarchive has its
special format.
This commit is contained in:
Kim Alvefur 2021-08-15 12:28:58 +02:00
parent d4b9f814fe
commit f679f0b26e

View file

@ -497,8 +497,9 @@ describe("storagemanager", function ()
it("overwrites existing keys with new data", function () it("overwrites existing keys with new data", function ()
local prefix = ("a"):rep(50); local prefix = ("a"):rep(50);
local username = "user-overwrite"; local username = "user-overwrite";
assert(archive:append(username, prefix.."-1", test_stanza, test_time, "contact@example.com")); local a1 = assert(archive:append(username, prefix.."-1", test_stanza, test_time, "contact@example.com"));
assert(archive:append(username, prefix.."-2", test_stanza, test_time, "contact@example.com")); local a2 = assert(archive:append(username, prefix.."-2", test_stanza, test_time, "contact@example.com"));
local ids = { a1, a2, };
do do
local data = assert(archive:find(username, {})); local data = assert(archive:find(username, {}));
@ -506,7 +507,7 @@ describe("storagemanager", function ()
for id, item, when in data do --luacheck: ignore 213/when for id, item, when in data do --luacheck: ignore 213/when
count = count + 1; count = count + 1;
assert.truthy(id); assert.truthy(id);
assert.equals(("%s-%d"):format(prefix, count), id); assert.equals(ids[count], id);
assert(st.is_stanza(item)); assert(st.is_stanza(item));
end end
assert.equal(2, count); assert.equal(2, count);
@ -514,7 +515,7 @@ describe("storagemanager", function ()
local new_stanza = st.clone(test_stanza); local new_stanza = st.clone(test_stanza);
new_stanza.attr.foo = "bar"; new_stanza.attr.foo = "bar";
assert(archive:append(username, prefix.."-2", new_stanza, test_time+1, "contact2@example.com")); assert(archive:append(username, a2, new_stanza, test_time+1, "contact2@example.com"));
do do
local data = assert(archive:find(username, {})); local data = assert(archive:find(username, {}));
@ -522,7 +523,7 @@ describe("storagemanager", function ()
for id, item, when in data do for id, item, when in data do
count = count + 1; count = count + 1;
assert.truthy(id); assert.truthy(id);
assert.equals(("%s-%d"):format(prefix, count), id); assert.equals(ids[count], id);
assert(st.is_stanza(item)); assert(st.is_stanza(item));
if count == 2 then if count == 2 then
assert.equals(test_time+1, when); assert.equals(test_time+1, when);