123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179 |
- Feature: DDNS System
- A number of BIND10-specific DDNS tests, that do not fall under the
- 'compliance' category; specific ACL checks, module checks, etc.
- Scenario: Module tests
- # The given config has b10-ddns disabled
- Given I have bind10 running with configuration ddns/noddns.config
- And wait for bind10 stderr message BIND10_STARTED_CC
- And wait for bind10 stderr message AUTH_SERVER_STARTED
- # Sanity check
- bind10 module DDNS should not be running
- # Test 1
- When I use DDNS to set the SOA serial to 1235
- # Note: test spec says refused here, system returns NOTIMP
- The DDNS response should be NOTIMP
- And the SOA serial for example.org should be 1234
- # Test 2
- When I configure bind10 to run DDNS
- And wait for new bind10 stderr message DDNS_STARTED
- bind10 module DDNS should be running
- # Test 3
- When I use DDNS to set the SOA serial to 1236
- The DDNS response should be REFUSED
- And the SOA serial for example.org should be 1234
- # Test 4
- When I send bind10 the following commands
- """
- config add DDNS/zones
- config set DDNS/zones[0]/origin example.org
- config add DDNS/zones[0]/update_acl {"action": "ACCEPT", "from": "127.0.0.1"}
- config commit
- """
- # Test 5
- When I use DDNS to set the SOA serial to 1237
- # also check if Auth server reloaded
- And wait for new bind10 stderr message AUTH_DATASRC_CLIENTS_BUILDER_LOAD_ZONE
- The DDNS response should be SUCCESS
- And the SOA serial for example.org should be 1237
- # Test 6
- When I send bind10 the command DDNS shutdown
- And wait for new bind10 stderr message DDNS_STOPPED
- # Test 7
- # Init should restart it
- And wait for new bind10 stderr message DDNS_STARTED
- # Test 8
- When I use DDNS to set the SOA serial to 1238
- And wait for new bind10 stderr message AUTH_DATASRC_CLIENTS_BUILDER_LOAD_ZONE
- The DDNS response should be SUCCESS
- And the SOA serial for example.org should be 1238
- When I use DDNS to set the SOA serial to 1239
- And wait for new bind10 stderr message AUTH_DATASRC_CLIENTS_BUILDER_LOAD_ZONE
- The DDNS response should be SUCCESS
- And the SOA serial for example.org should be 1239
- # Test 9
- When I send bind10 the command Auth shutdown
- And wait for new bind10 stderr message AUTH_SHUTDOWN
- # Init should restart it automatically
- And wait for new bind10 stderr message AUTH_SERVER_STARTED
- # Test 10
- When I use DDNS to set the SOA serial to 1240
- And wait for new bind10 stderr message AUTH_DATASRC_CLIENTS_BUILDER_LOAD_ZONE
- The DDNS response should be SUCCESS
- And the SOA serial for example.org should be 1240
- # Test 11
- When I configure BIND10 to stop running DDNS
- And wait for new bind10 stderr message DDNS_STOPPED
- bind10 module DDNS should not be running
- # Test 12
- When I use DDNS to set the SOA serial to 1241
- # should this be REFUSED again?
- The DDNS response should be NOTIMP
- And the SOA serial for example.org should be 1240
- Scenario: ACL
- Given I have bind10 running with configuration ddns/ddns.config
- And wait for bind10 stderr message BIND10_STARTED_CC
- And wait for bind10 stderr message AUTH_SERVER_STARTED
- And wait for bind10 stderr message DDNS_STARTED
- # Sanity check
- A query for new1.example.org should have rcode NXDOMAIN
- A query for new2.example.org should have rcode NXDOMAIN
- A query for new3.example.org should have rcode NXDOMAIN
- The SOA serial for example.org should be 1234
- # Test 1
- When I use DDNS to add a record new1.example.org. 3600 IN A 192.0.2.1
- The DDNS response should be SUCCESS
- A query for new1.example.org should have rcode NOERROR
- The SOA serial for example.org should be 1235
- # Test 2
- When I set DDNS ACL 0 for 127.0.0.1 to REJECT
- Then use DDNS to add a record new2.example.org. 3600 IN A 192.0.2.2
- The DDNS response should be REFUSED
- A query for new2.example.org should have rcode NXDOMAIN
- The SOA serial for example.org should be 1235
- # Test 3
- When I set DDNS ACL 0 for 127.0.0.1 to ACCEPT
- Then use DDNS to add a record new3.example.org. 3600 IN A 192.0.2.3
- The DDNS response should be SUCCESS
- A query for new3.example.org should have rcode NOERROR
- The SOA serial for example.org should be 1236
- Scenario: Zone validation check
- Given I have bind10 running with configuration ddns/ddns.config
- And wait for bind10 stderr message BIND10_STARTED_CC
- And wait for bind10 stderr message AUTH_SERVER_STARTED
- And wait for bind10 stderr message DDNS_STARTED
- # Sanity check
- A query for example.org type NS should have rcode NOERROR
- The answer section of the last query response should be
- """
- example.org. 3600 IN NS ns1.example.org.
- example.org. 3600 IN NS ns2.example.org.
- example.org. 3600 IN NS ns3.example.org.
- """
- The SOA serial for example.org should be 1234
- # Test failed validation. Here, example.org has ns1.example.org
- # configured as a name server. CNAME records cannot be added for
- # ns1.example.org.
- When I use DDNS to add a record ns1.example.org. 3600 IN CNAME ns3.example.org.
- The DDNS response should be REFUSED
- A query for ns1.example.org type CNAME should have rcode NXDOMAIN
- The SOA serial for example.org should be 1234
- # Test passed validation. Here, example.org does not have
- # ns4.example.org configured as a name server. CNAME records can
- # be added for ns4.example.org.
- When I use DDNS to add a record ns4.example.org. 3600 IN CNAME ns3.example.org.
- The DDNS response should be SUCCESS
- A query for ns4.example.org type CNAME should have rcode NOERROR
- The answer section of the last query response should be
- """
- ns4.example.org. 3600 IN CNAME ns3.example.org.
- """
- The SOA serial for example.org should be 1235
- #Scenario: DDNS and Xfrout
- ## Unfortunately, Xfrout can only notify to inzone slaves, and hence only
- ## to port 53, which we do not want to use for Lettuce tests (for various
- ## reasons). So for now this test is only an outline, the configs
- ## themselves have not been set up yet
- # When I start bind10 with configuration ddns/primary.config as primary
- # And wait for primary stderr message AUTH_SERVER_STARTED
- # And wait for primary stderr message XFROUT_STARTED
- # And wait for primary stderr message DDNS_STARTED
- # And I start bind10 with configuration example2.org.config with cmdctl port 47804 as secondary
- # And wait for secondary stderr message AUTH_SERVER_STARTED
- # And wait for secondary stderr message XFRIN_STARTED
- # # Sanity check
- # The SOA serial for example.org should be 1234
- # The SOA serial for example.org at 127.0.0.1:47807 should be 1234
- # When I use DDNS to set the SOA serial to 1235
- # The DDNS response should be SUCCESS
- # The SOA serial for example.org should be 1235
- # The SOA serial for example.org at 127.0.0.1:47807 should be 1235
|