aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2022-07-22 18:32:45 +0200
committerKim Alvefur <zash@zash.se>2022-07-22 18:32:45 +0200
commit3ee6df83b0ef2070928140bd6fb2c4318e594bfb (patch)
treee9d78af0a9d152b929ac200f6fc22752de646cae
parent78e77077910d4fefa9ce4f60827765bd1157b755 (diff)
downloadprosody-3ee6df83b0ef2070928140bd6fb2c4318e594bfb.tar.gz
prosody-3ee6df83b0ef2070928140bd6fb2c4318e594bfb.zip
storage tests: Add test for the archive:summary API
Passes with memory, internal, sqlite Fails with postgres as in #1766
-rw-r--r--spec/core_storagemanager_spec.lua17
1 files changed, 17 insertions, 0 deletions
diff --git a/spec/core_storagemanager_spec.lua b/spec/core_storagemanager_spec.lua
index e8d9fc97..ae4f44c8 100644
--- a/spec/core_storagemanager_spec.lua
+++ b/spec/core_storagemanager_spec.lua
@@ -575,6 +575,23 @@ describe("storagemanager", function ()
end
end);
+ it("the summary api works", function()
+ assert.truthy(archive:delete("summary-user"));
+ local first_sid = archive:append("summary-user", nil, test_stanza, test_time, "contact@example.com");
+ local second_sid = archive:append("summary-user", nil, test_stanza, test_time+1, "contact@example.com");
+ assert.truthy(first_sid and second_sid, "preparations failed")
+ ---
+
+ local user_summary, err = archive:summary("summary-user");
+ assert.is_table(user_summary, err);
+ assert.same({ ["contact@example.com"] = 2 }, user_summary.counts, "summary.counts matches");
+ assert.same({ ["contact@example.com"] = test_time }, user_summary.earliest, "summary.earliest matches");
+ assert.same({ ["contact@example.com"] = test_time+1 }, user_summary.latest, "summary.latest matches");
+ if user_summary.body then
+ assert.same({ ["contact@example.com"] = test_stanza:get_child_text("body") }, user_summary.body, "summary.body matches");
+ end
+ end);
+
end);
end);
end