File

spec/core_configmanager_spec.lua @ 11815:df1d3df2204a

mod_message: Fire event for groupchat messages sent to bare JID This is becoming more common in XMPP as people experiment with a MIX-like model where the bare JID joins a group chat instead of a full JID. Specifically right now this is being added to help with processing notifications from mod_muc_offline_delivery.
author Matthew Wild <mwild1@gmail.com>
date Wed, 22 Sep 2021 13:31:13 +0100
parent 10495:8ea685ec0979
line wrap: on
line source


local configmanager = require "core.configmanager";

describe("core.configmanager", function()
	describe("#get()", function()
		it("should work", function()
			configmanager.set("example.com", "testkey", 123);
			assert.are.equal(123, configmanager.get("example.com", "testkey"), "Retrieving a set key");

			configmanager.set("*", "testkey1", 321);
			assert.are.equal(321, configmanager.get("*", "testkey1"), "Retrieving a set global key");
			assert.are.equal(321, configmanager.get("example.com", "testkey1"),
				"Retrieving a set key of undefined host, of which only a globally set one exists"
			);

			configmanager.set("example.com", ""); -- Creates example.com host in config
			assert.are.equal(321, configmanager.get("example.com", "testkey1"), "Retrieving a set key, of which only a globally set one exists");

			assert.are.equal(nil, configmanager.get(), "No parameters to get()");
			assert.are.equal(nil, configmanager.get("undefined host"), "Getting for undefined host");
			assert.are.equal(nil, configmanager.get("undefined host", "undefined key"), "Getting for undefined host & key");
		end);
	end);

	describe("#set()", function()
		it("should work", function()
			assert.are.equal(false, configmanager.set("*"), "Set with no key");

			assert.are.equal(true, configmanager.set("*", "set_test", "testkey"), "Setting a nil global value");
			assert.are.equal(true, configmanager.set("*", "set_test", "testkey", 123), "Setting a global value");
		end);
	end);
end);