spec/core_configmanager_spec.lua
author Kim Alvefur <zash@zash.se>
Sat, 23 Mar 2024 20:48:19 +0100
changeset 13465 c673ff1075bd
parent 10499 8ea685ec0979
permissions -rw-r--r--
mod_posix: Move everything to util.startup This allows greater control over the order of events. Notably, the internal ordering between daemonization, initialization of libunbound and setup of signal handling is sensitive. libunbound starts a separate thread for processing DNS requests. If this thread is started before signal handling has been set up, it will not inherit the signal handlers and instead behave as it would have before signal handlers were set up, i.e. cause the whole process to immediately exit. libunbound is usually initialized on the first DNS request, usually triggered by an outgoing s2s connection attempt. If daemonization happens before signals have been set up, signals may not be processed at all.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
8239
4878e4159e12 Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
     1
4878e4159e12 Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
     2
local configmanager = require "core.configmanager";
4878e4159e12 Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
     3
4878e4159e12 Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
     4
describe("core.configmanager", function()
4878e4159e12 Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
     5
	describe("#get()", function()
4878e4159e12 Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
     6
		it("should work", function()
4878e4159e12 Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
     7
			configmanager.set("example.com", "testkey", 123);
9171
29de7ad20250 spec: Correct order of arguments to asserts in configmanager tests
Kim Alvefur <zash@zash.se>
parents: 8239
diff changeset
     8
			assert.are.equal(123, configmanager.get("example.com", "testkey"), "Retrieving a set key");
8239
4878e4159e12 Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
     9
4878e4159e12 Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
    10
			configmanager.set("*", "testkey1", 321);
9171
29de7ad20250 spec: Correct order of arguments to asserts in configmanager tests
Kim Alvefur <zash@zash.se>
parents: 8239
diff changeset
    11
			assert.are.equal(321, configmanager.get("*", "testkey1"), "Retrieving a set global key");
10499
8ea685ec0979 configmanager tests: Split long line
Matthew Wild <mwild1@gmail.com>
parents: 9171
diff changeset
    12
			assert.are.equal(321, configmanager.get("example.com", "testkey1"),
8ea685ec0979 configmanager tests: Split long line
Matthew Wild <mwild1@gmail.com>
parents: 9171
diff changeset
    13
				"Retrieving a set key of undefined host, of which only a globally set one exists"
8ea685ec0979 configmanager tests: Split long line
Matthew Wild <mwild1@gmail.com>
parents: 9171
diff changeset
    14
			);
8239
4878e4159e12 Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
    15
4878e4159e12 Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
    16
			configmanager.set("example.com", ""); -- Creates example.com host in config
9171
29de7ad20250 spec: Correct order of arguments to asserts in configmanager tests
Kim Alvefur <zash@zash.se>
parents: 8239
diff changeset
    17
			assert.are.equal(321, configmanager.get("example.com", "testkey1"), "Retrieving a set key, of which only a globally set one exists");
8239
4878e4159e12 Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
    18
9171
29de7ad20250 spec: Correct order of arguments to asserts in configmanager tests
Kim Alvefur <zash@zash.se>
parents: 8239
diff changeset
    19
			assert.are.equal(nil, configmanager.get(), "No parameters to get()");
29de7ad20250 spec: Correct order of arguments to asserts in configmanager tests
Kim Alvefur <zash@zash.se>
parents: 8239
diff changeset
    20
			assert.are.equal(nil, configmanager.get("undefined host"), "Getting for undefined host");
29de7ad20250 spec: Correct order of arguments to asserts in configmanager tests
Kim Alvefur <zash@zash.se>
parents: 8239
diff changeset
    21
			assert.are.equal(nil, configmanager.get("undefined host", "undefined key"), "Getting for undefined host & key");
8239
4878e4159e12 Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
    22
		end);
4878e4159e12 Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
    23
	end);
4878e4159e12 Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
    24
4878e4159e12 Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
    25
	describe("#set()", function()
4878e4159e12 Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
    26
		it("should work", function()
9171
29de7ad20250 spec: Correct order of arguments to asserts in configmanager tests
Kim Alvefur <zash@zash.se>
parents: 8239
diff changeset
    27
			assert.are.equal(false, configmanager.set("*"), "Set with no key");
8239
4878e4159e12 Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
    28
9171
29de7ad20250 spec: Correct order of arguments to asserts in configmanager tests
Kim Alvefur <zash@zash.se>
parents: 8239
diff changeset
    29
			assert.are.equal(true, configmanager.set("*", "set_test", "testkey"), "Setting a nil global value");
29de7ad20250 spec: Correct order of arguments to asserts in configmanager tests
Kim Alvefur <zash@zash.se>
parents: 8239
diff changeset
    30
			assert.are.equal(true, configmanager.set("*", "set_test", "testkey", 123), "Setting a global value");
8239
4878e4159e12 Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
    31
		end);
4878e4159e12 Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
    32
	end);
4878e4159e12 Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
    33
end);