diff options
author | Kim Alvefur <zash@zash.se> | 2022-07-29 17:10:31 +0200 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2022-07-29 17:10:31 +0200 |
commit | 9a375e444474e1e6a97ae57f393f639cfa813846 (patch) | |
tree | 4850ca52c7e904255deaa68aedef374fb118c92d | |
parent | c1a166daa79ec4fadd2083dd7097216068f74a28 (diff) | |
parent | 2dbbce23823edbf4261df92175d7ee9cf7cca3a9 (diff) | |
download | prosody-9a375e444474e1e6a97ae57f393f639cfa813846.tar.gz prosody-9a375e444474e1e6a97ae57f393f639cfa813846.zip |
Merge 0.12->trunk
-rw-r--r-- | plugins/mod_http_files.lua | 3 | ||||
-rw-r--r-- | plugins/mod_storage_sql.lua | 6 | ||||
-rw-r--r-- | spec/core_storagemanager_spec.lua | 17 |
3 files changed, 20 insertions, 6 deletions
diff --git a/plugins/mod_http_files.lua b/plugins/mod_http_files.lua index 69389b7f..b921116a 100644 --- a/plugins/mod_http_files.lua +++ b/plugins/mod_http_files.lua @@ -74,8 +74,7 @@ function serve(opts) if opts.index_files == nil then opts.index_files = dir_indices; end - -- TODO Crank up to warning - module:log("debug", "%s should be updated to use 'net.http.files' instead of mod_http_files", get_calling_module()); + module:log("warn", "%s should be updated to use 'net.http.files' instead of mod_http_files", get_calling_module()); return fileserver.serve(opts); end diff --git a/plugins/mod_storage_sql.lua b/plugins/mod_storage_sql.lua index df5ab069..90a9316e 100644 --- a/plugins/mod_storage_sql.lua +++ b/plugins/mod_storage_sql.lua @@ -543,8 +543,7 @@ function archive_store:summary(username, query) SELECT DISTINCT "with", COUNT(*), MIN("when"), MAX("when") FROM "prosodyarchive" WHERE %s - GROUP BY "with" - ORDER BY "sort_id" %s%s; + GROUP BY "with"; ]]; local args = { host, user or "", store, }; local where = { "\"host\" = ?", "\"user\" = ?", "\"store\" = ?", }; @@ -557,8 +556,7 @@ function archive_store:summary(username, query) args[#args+1] = query.limit; end - sql_query = sql_query:format(t_concat(where, " AND "), query.reverse - and "DESC" or "ASC", query.limit and " LIMIT ?" or ""); + sql_query = sql_query:format(t_concat(where, " AND ")); return engine:select(sql_query, unpack(args)); end); if not ok then return ok, result end diff --git a/spec/core_storagemanager_spec.lua b/spec/core_storagemanager_spec.lua index 2170420d..04acb1dd 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 |