# HG changeset patch # User Kim Alvefur # Date 1658507565 -7200 # Node ID a2624315d30eb75f9b4acb9fa704053f93d7ba2e # Parent ba05f7e5f2a27b57994583fa7d00743bfbe052dd storage tests: Add test for the archive:summary API Passes with memory, internal, sqlite Fails with postgres as in #1766 diff -r ba05f7e5f2a2 -r a2624315d30e spec/core_storagemanager_spec.lua --- a/spec/core_storagemanager_spec.lua Sun Jul 17 17:05:28 2022 +0200 +++ b/spec/core_storagemanager_spec.lua Fri Jul 22 18:32:45 2022 +0200 @@ -575,6 +575,23 @@ 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