File

spec/core_configmanager_spec.lua @ 12593:1832b6c9c6ed 0.12

mod_bookmarks: Reduce error about not having bookmarks to debug (thanks tom) This is happens if the account is new and doesn't have any bookmarks yet, which is not a problem. Rarely seen since most clients currently use the older version of XEP-0084 stored in XEP-0049 rather than in PEP, but at least one (Converse.js )does. One scenario in which this would show up often is with Converse.js as a guest chat using anonymous authentication, where all "accounts" would always be new and not have any bookmarks. This scenario probably does not need to have mod_bookmarks at all, but if enabled globally it would likely become loaded onto the VirtualHost unless explicitly disabled.
author Kim Alvefur <zash@zash.se>
date Tue, 26 Jul 2022 23:44:33 +0200
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);