summaryrefslogtreecommitdiffstats
path: root/modules/hints/tests
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--modules/hints/tests/hints.test.lua36
-rw-r--r--modules/hints/tests/hints_test.zone1
2 files changed, 37 insertions, 0 deletions
diff --git a/modules/hints/tests/hints.test.lua b/modules/hints/tests/hints.test.lua
new file mode 100644
index 0000000..b60d2a3
--- /dev/null
+++ b/modules/hints/tests/hints.test.lua
@@ -0,0 +1,36 @@
+local utils = require('test_utils')
+
+-- setup resolver
+modules = { 'hints' }
+
+-- test for default configuration
+local function test_default()
+ -- get loaded root hints and change names to lowercase
+ local hints_data = utils.table_keys_to_lower(hints.root())
+
+ -- root hints loaded from default location
+ -- check correct ip address of a.root-server.net
+ utils.contains(hints_data['a.root-servers.net.'], '198.41.0.4', 'has IP address for a.root-servers.net.')
+end
+
+-- test loading from config file
+local function test_custom()
+ -- load custom root hints file with fake ip address for a.root-server.net
+ local err_msg = hints.root_file(TEST_DIR .. 'hints_test.zone')
+ same(err_msg, '', 'load root hints from file')
+
+ -- get loaded root hints and change names to lowercase
+ local hints_data = utils.table_keys_to_lower(hints.root())
+ isnt(hints_data['a.root-servers.net.'], nil, 'can retrieve root hints')
+
+ -- check loaded ip address of a.root-server.net
+ utils.not_contains(hints_data['a.root-servers.net.'], '198.41.0.4',
+ 'real IP address for a.root-servers.net. is replaced')
+ utils.contains(hints_data['a.root-servers.net.'], '10.0.0.1',
+ 'real IP address for a.root-servers.net. is correct')
+end
+
+return {
+ test_default,
+ test_custom
+}
diff --git a/modules/hints/tests/hints_test.zone b/modules/hints/tests/hints_test.zone
new file mode 100644
index 0000000..f38ee77
--- /dev/null
+++ b/modules/hints/tests/hints_test.zone
@@ -0,0 +1 @@
+A.ROOT-SERVERS.NET. 3600000 A 10.0.0.1 \ No newline at end of file