ixfr_out_bind10.feature 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. Feature: IXFR out
  2. Tests for IXFR-out, specific for BIND 10 behaviour.
  3. These are (part of) the tests as described on
  4. http://bind10.isc.org/wiki/IxfrSystemTests
  5. # A lot of these tests test specific UDP behaviour.
  6. #
  7. # Where possible, we use the TCP equivalent. Some of the behaviour
  8. # tested is UDP-specific though. In either case, a comment above
  9. # the test shows how and why it differs from the test specification,
  10. # or why it is commented out for now.
  11. # When we do implement UDP IXFR, we should probably keep the TCP
  12. # tests, and add them to the test specification, so we still have a
  13. # 1-to-1 mapping between these tests and the specification document.
  14. #
  15. # These tests use a zone with just a few records, the first serial
  16. # is 2, and it is incremented in steps of 2, up to serial 22.
  17. # Each updates either deletes or adds the www.example.com A record.
  18. # Version 2 has the record, then the update to version 4 deletes it,
  19. # the update to 6 adds it again, and so on, until version 22 (where
  20. # the last update has added it again)
  21. #
  22. # Some of the tests (scenario 1 tests 3 and 4, and scenario 2 tests 1 and
  23. # 2 may still not work if we replicate BIND 9's behaviour; it always
  24. # responds to UDP IXFR requests with just the SOA, and it does not do
  25. # AXFR-style IXFR if the number of changes exceeds the size of the zone)
  26. #
  27. # So in effect, there is only one test that is currently active (scenario
  28. # 1 test 7)
  29. Scenario: Test Set 1
  30. Given I have bind10 running with configuration ixfr-out/testset1-config.db
  31. And wait for bind10 stderr message BIND10_STARTED_CC
  32. And wait for bind10 stderr message CMDCTL_STARTED
  33. And wait for bind10 stderr message AUTH_SERVER_STARTED
  34. And wait for bind10 stderr message XFROUT_STARTED
  35. And wait for bind10 stderr message XFRIN_STARTED
  36. And wait for bind10 stderr message ZONEMGR_STARTED
  37. The SOA serial for example.com should be 22
  38. #
  39. # Test 1
  40. #
  41. # We don't support UDP yet, and for TCP we currently return full zone,
  42. # so this test is currently skipped
  43. #
  44. #When I do an IXFR transfer of example.com 123 over udp
  45. #The transfer result should have 1 RRs
  46. #The full result of the last transfer should be
  47. #"""
  48. #example.com. 3600 IN SOA ns.example.com. admin.example.com. 22 28800 7200 604800 18000
  49. #"""
  50. #
  51. # Test 2
  52. #
  53. # Original test specification was for UDP, using TCP for now
  54. #
  55. #When I do an IXFR transfer of example.com 22 over udp
  56. When I do an IXFR transfer of example.com 22 over tcp
  57. The transfer result should have 1 RRs
  58. The full result of the last transfer should be
  59. """
  60. example.com. 3600 IN SOA ns.example.com. admin.example.com. 22 28800 7200 604800 18000
  61. """
  62. #
  63. # Test 3
  64. #
  65. # Original test specification was for UDP, using TCP for now
  66. #
  67. #When I do an IXFR transfer of example.com 20 over udp
  68. When I do an IXFR transfer of example.com 20 over tcp
  69. The transfer result should have 5 RRs
  70. The full result of the last transfer should be
  71. """
  72. example.com. 3600 IN SOA ns.example.com. admin.example.com. 22 28800 7200 604800 18000
  73. example.com. 3600 IN SOA ns.example.com. admin.example.com. 20 28800 7200 604800 18000
  74. example.com. 3600 IN SOA ns.example.com. admin.example.com. 22 28800 7200 604800 18000
  75. www.example.com. 3600 IN A 192.0.2.1
  76. example.com. 3600 IN SOA ns.example.com. admin.example.com. 22 28800 7200 604800 18000
  77. """
  78. #
  79. # Test 4
  80. #
  81. # Original test specification was for UDP, using TCP for now
  82. #
  83. #When I do an IXFR transfer of example.com 18 over udp
  84. When I do an IXFR transfer of example.com 18 over tcp
  85. The transfer result should have 8 RRs
  86. The full result of the last transfer should be
  87. """
  88. example.com. 3600 IN SOA ns.example.com. admin.example.com. 22 28800 7200 604800 18000
  89. example.com. 3600 IN SOA ns.example.com. admin.example.com. 18 28800 7200 604800 18000
  90. www.example.com. 3600 IN A 192.0.2.1
  91. example.com. 3600 IN SOA ns.example.com. admin.example.com. 20 28800 7200 604800 18000
  92. example.com. 3600 IN SOA ns.example.com. admin.example.com. 20 28800 7200 604800 18000
  93. example.com. 3600 IN SOA ns.example.com. admin.example.com. 22 28800 7200 604800 18000
  94. www.example.com. 3600 IN A 192.0.2.1
  95. example.com. 3600 IN SOA ns.example.com. admin.example.com. 22 28800 7200 604800 18000
  96. """
  97. #
  98. # Test 5
  99. #
  100. # This test does not have a TCP equivalent, so it is skipped.
  101. #
  102. #When I do an IXFR transfer of example.com 2 over udp
  103. #The transfer result should have 1 RRs
  104. #The full result of the last transfer should be
  105. #"""
  106. #example.com. 3600 IN SOA ns.example.com. admin.example.com. 22 28800 7200 604800 18000
  107. #"""
  108. #
  109. # Test 6
  110. #
  111. # This test does not have a TCP equivalent, so it is skipped.
  112. #
  113. #When I do an IXFR transfer of example.com 5 over udp
  114. #The transfer result should have 1 RRs
  115. #The full result of the last transfer should be
  116. #"""
  117. #example.com. 3600 IN SOA ns.example.com. admin.example.com. 22 28800 7200 604800 18000
  118. #"""
  119. #
  120. # Test 7
  121. #
  122. When I do an IXFR transfer of example.com 14 over tcp
  123. The transfer result should have 14 RRs
  124. The full result of the last transfer should be
  125. """
  126. example.com. 3600 IN SOA ns.example.com. admin.example.com. 22 28800 7200 604800 18000
  127. example.com. 3600 IN SOA ns.example.com. admin.example.com. 14 28800 7200 604800 18000
  128. www.example.com. 3600 IN A 192.0.2.1
  129. example.com. 3600 IN SOA ns.example.com. admin.example.com. 16 28800 7200 604800 18000
  130. example.com. 3600 IN SOA ns.example.com. admin.example.com. 16 28800 7200 604800 18000
  131. example.com. 3600 IN SOA ns.example.com. admin.example.com. 18 28800 7200 604800 18000
  132. www.example.com. 3600 IN A 192.0.2.1
  133. example.com. 3600 IN SOA ns.example.com. admin.example.com. 18 28800 7200 604800 18000
  134. www.example.com. 3600 IN A 192.0.2.1
  135. example.com. 3600 IN SOA ns.example.com. admin.example.com. 20 28800 7200 604800 18000
  136. example.com. 3600 IN SOA ns.example.com. admin.example.com. 20 28800 7200 604800 18000
  137. example.com. 3600 IN SOA ns.example.com. admin.example.com. 22 28800 7200 604800 18000
  138. www.example.com. 3600 IN A 192.0.2.1
  139. example.com. 3600 IN SOA ns.example.com. admin.example.com. 22 28800 7200 604800 18000
  140. """
  141. Scenario: Test Set 2
  142. Given I have bind10 running with configuration ixfr-out/testset1-config.db
  143. And wait for bind10 stderr message BIND10_STARTED_CC
  144. And wait for bind10 stderr message CMDCTL_STARTED
  145. And wait for bind10 stderr message AUTH_SERVER_STARTED
  146. And wait for bind10 stderr message XFROUT_STARTED
  147. And wait for bind10 stderr message XFRIN_STARTED
  148. And wait for bind10 stderr message ZONEMGR_STARTED
  149. The SOA serial for example.com should be 22
  150. #
  151. # Test 1
  152. #
  153. # Original test specification was for UDP, using TCP for now
  154. #
  155. #When I do an IXFR transfer of example.com 19 over udp
  156. When I do an IXFR transfer of example.com 19 over tcp
  157. The transfer result should have 5 RRs
  158. The full result of the last transfer should be
  159. """
  160. example.com. 3600 IN SOA ns.example.com. admin.example.com. 22 28800 7200 604800 18000
  161. example.com. 3600 IN NS ns.example.com.
  162. ns.example.com. 3600 IN A 192.0.2.1
  163. www.example.com. 3600 IN A 192.0.2.1
  164. example.com. 3600 IN SOA ns.example.com. admin.example.com. 22 28800 7200 604800 18000
  165. """
  166. #
  167. # Test 2
  168. #
  169. # This test has no TCP equivalent
  170. #
  171. #When I do an IXFR transfer of example.com 6 over udp
  172. #The transfer result should have 5 RRs
  173. #The full result of the last transfer should be
  174. #"""
  175. #example.com. 3600 IN SOA ns.example.com. admin.example.com. 22 28800 7200 604800 18000
  176. #example.com. 3600 IN NS ns.example.com.
  177. #ns.example.com. 3600 IN A 192.0.2.1
  178. #www.example.com. 3600 IN A 192.0.2.1
  179. #example.com. 3600 IN SOA ns.example.com. admin.example.com. 22 28800 7200 604800 18000
  180. #"""
  181. #
  182. # Test 3
  183. #
  184. # This test has no TCP equivalent
  185. #
  186. #When I do an IXFR transfer of example.com 2 over udp
  187. #The transfer result should have 1 RRs
  188. #The full result of the last transfer should be
  189. #"""
  190. #example.com. 3600 IN SOA ns.example.com. admin.example.com. 22 28800 7200 604800 18000
  191. #"""