summaryrefslogtreecommitdiffstats
path: root/daemon/zimport.test/zimport.test.lua
blob: f6abc02ed5656e9428367b5fb3f64303a5c9b0f0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
-- unload modules which are not related to this test
-- SPDX-License-Identifier: GPL-3.0-or-later

if ta_signal_query then
        modules.unload('ta_signal_query')
end
if priming then
        modules.unload('priming')
end
if detect_time_skew then
        modules.unload('detect_time_skew')
end

-- do not listen, test is driven by config code
env.KRESD_NO_LISTEN = true


cache.size = 5*MB
log_groups({'prefil'})

--[[ This test checks ZONEMD computation on some model cases. (no DNSSEC validation)
	https://www.rfc-editor.org/rfc/rfc8976.html#name-example-zones-with-digests
--]]


local function test_zone(file_name, success) return function()
	local import_res = require('ffi').C.zi_zone_import({
		zone_file = file_name,
		zonemd = true,
		downgrade = true,
	})
	if success == nil or success then
		is(import_res, 0, 'zone import should start OK for file ' .. file_name)
	else
		isnt(import_res, 0, 'zone import should fail for file ' .. file_name)
	end
	worker.sleep(0.2)  -- zimport is delayed by 100 ms from function call
end end

return {
	test_zone('tz-rfc-a1.zone'),
	test_zone('tz-rfc-a1-bad.zone', false),
	test_zone('tz-rfc-a2.zone'),
	test_zone('tz-rfc-a3.zone'),
	test_zone('tz-rfc-a4.zone'),
	test_zone('tz-rfc-a5.zone'),
}