Browse Source

[3023] Add a lettuce test adding a CH static zone (as described in the guide)

Mukund Sivaraman 11 years ago
parent
commit
81e8d71150

+ 1 - 0
tests/lettuce/configurations/.gitignore

@@ -1,3 +1,4 @@
 /bindctl_commands.config
 /example.org.config
 /root.config
+/static.config

+ 36 - 0
tests/lettuce/configurations/static.config.orig

@@ -0,0 +1,36 @@
+{
+    "version": 3,
+    "Logging": {
+        "loggers": [{
+            "severity": "DEBUG",
+            "name": "*",
+            "debuglevel": 99
+        }]
+    },
+    "Auth": {
+        "listen_on": [{
+            "port": 56176,
+            "address": "127.0.0.1"
+        }]
+    },
+    "data_sources": {
+        "classes": {
+            "IN": [
+                {
+                    "type": "MasterFiles",
+                    "cache-enable": true,
+                    "params": {
+                        "example.org": "data/example.org"
+                    }
+                }
+            ]
+        }
+    },
+    "Init": {
+        "components": {
+            "b10-auth": { "kind": "needed", "special": "auth" },
+            "b10-stats": { "address": "Stats", "kind": "dispensable" },
+            "b10-cmdctl": { "special": "cmdctl", "kind": "needed" }
+        }
+    }
+}

+ 3 - 0
tests/lettuce/data/static.zone

@@ -0,0 +1,3 @@
+BIND.           3600    CH  SOA BIND. BIND. 3 3600 300 36000 3600
+BIND.           3600    CH  NS  BIND.
+VERSION.BIND.   3600    CH  TXT "10"

+ 40 - 0
tests/lettuce/features/queries.feature

@@ -452,3 +452,43 @@ Feature: Querying feature
         A query for . type SOA should have rcode NOERROR
         A query for nonexistent. type A should have rcode NXDOMAIN
         Then wait for bind10 stderr message AUTH_SEND_NORMAL_RESPONSE not AUTH_PROCESS_FAIL
+
+    Scenario: CH class static zone query
+        # We are testing one more RR type for a normal successful case
+        Given I have bind10 running with configuration static.config
+        And wait for bind10 stderr message BIND10_STARTED_CC
+        And wait for bind10 stderr message CMDCTL_STARTED
+        And wait for bind10 stderr message AUTH_SERVER_STARTED
+
+        bind10 module Auth should be running
+        And bind10 module Stats should be running
+        And bind10 module Resolver should not be running
+        And bind10 module Xfrout should not be running
+        And bind10 module Zonemgr should not be running
+        And bind10 module Xfrin should not be running
+        And bind10 module StatsHttpd should not be running
+
+        A query for version.bind. type TXT class CH should have rcode REFUSED
+
+        When I send bind10 the following commands
+        """
+        config add data_sources/classes/CH
+        config set data_sources/classes/CH[0]/type MasterFiles
+        config set data_sources/classes/CH[0]/cache-enable true
+        config set data_sources/classes/CH[0]/params {"BIND": "data/static.zone"}
+        config commit
+        """
+
+        And wait for new bind10 stderr message AUTH_DATASRC_CLIENTS_BUILDER_RECONFIGURE_SUCCESS
+
+        A query for version.bind. type TXT class CH should have rcode NOERROR
+        The last query response should have ancount 1
+
+        # NOTE: The double double-quote characters trailing 10 in the
+        # response below are required due to a lettuce bug in reading
+        # multi-line strings with embedded double-quotes.
+
+        The answer section of the last query response should be
+        """
+        version.bind.      3600    CH      TXT   "10""
+        """

+ 2 - 0
tests/lettuce/features/terrain/terrain.py

@@ -78,6 +78,8 @@ copylist = [
      "configurations/xfrin/retransfer_slave_notify.conf"],
     ["configurations/root.config.orig",
      "configurations/root.config"],
+    ["configurations/static.config.orig",
+     "configurations/static.config"],
     ["data/inmem-xfrin.sqlite3.orig",
      "data/inmem-xfrin.sqlite3"],
     ["data/root.sqlite3.orig",