aboutsummaryrefslogtreecommitdiffstats
path: root/spec
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2018-12-29 21:47:51 +0100
committerKim Alvefur <zash@zash.se>2018-12-29 21:47:51 +0100
commit9f19a48ee2c20e4269f3e3c53a9330bd25f48621 (patch)
treea5c384ecfd17b457aed5a6abb5289375eeed8b9b /spec
parent67a3bf56f3d74c27bc49918e5b4ed5a891ed5b92 (diff)
downloadprosody-9f19a48ee2c20e4269f3e3c53a9330bd25f48621.tar.gz
prosody-9f19a48ee2c20e4269f3e3c53a9330bd25f48621.zip
util.pubsub: Restore subscription index from stored data (fixes #1281)
Diffstat (limited to 'spec')
-rw-r--r--spec/util_pubsub_spec.lua30
1 files changed, 30 insertions, 0 deletions
diff --git a/spec/util_pubsub_spec.lua b/spec/util_pubsub_spec.lua
index c44832f7..6386100b 100644
--- a/spec/util_pubsub_spec.lua
+++ b/spec/util_pubsub_spec.lua
@@ -375,4 +375,34 @@ describe("util.pubsub", function ()
end);
end);
end);
+
+ describe("restoring data from nodestore", function ()
+ local nodestore = {
+ data = {
+ test = {
+ name = "test";
+ config = {};
+ affiliations = {};
+ subscribers = {
+ ["someone"] = true;
+ };
+ }
+ }
+ };
+ function nodestore:users()
+ return pairs(self.data)
+ end
+ function nodestore:get(key)
+ return self.data[key];
+ end
+ local service = pubsub.new({
+ nodestore = nodestore;
+ });
+ it("subscriptions", function ()
+ local ok, ret = service:get_subscriptions(nil, true, nil)
+ assert.is_true(ok);
+ assert.same({ { node = "test", jid = "someone", subscription = true, } }, ret);
+ end);
+ end);
+
end);