Software /
code /
prosody
File
spec/core_configmanager_spec.lua @ 12580:a9dbf657c894 0.12
util.datamapper: Improve handling of schemas with non-obvious "type"
The JSON Schema specification says that schemas are objects or booleans,
and that the 'type' property is optional and can be an array.
This module previously allowed bare type names as schemas and did not
really handle booleans.
It now handles missing 'type' properties and boolean 'true' as a schema.
Objects and arrays are guessed based on the presence of 'properties' or
'items' field.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Fri, 08 Jul 2022 17:32:48 +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);