From 97b2d9a17e83d0d69eddcc80c2d141dbccba24ce Mon Sep 17 00:00:00 2001
From: Steve Kemp <steve@steve.org.uk>
Date: Mon, 10 Dec 2012 13:17:01 +0000
Subject:   Ensure we raise an exception if we're trying to resolve an unknown
 record-type.

  Added test-case too.
---
 t/test-dns-types | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 61 insertions(+)
 create mode 100755 t/test-dns-types

(limited to 't/test-dns-types')

diff --git a/t/test-dns-types b/t/test-dns-types
new file mode 100755
index 0000000..dba7a3c
--- /dev/null
+++ b/t/test-dns-types
@@ -0,0 +1,61 @@
+#!/usr/bin/ruby -Ilib/ -I../lib/
+
+
+require 'test/unit'
+
+require 'custodian/protocoltests'
+
+
+
+#
+# The DNS test is a complex one.
+#
+class TestDNSTypes < Test::Unit::TestCase
+
+  #
+  # Create the test suite environment: NOP.
+  #
+  def setup
+  end
+
+  #
+  # Destroy the test suite environment: NOP.
+  #
+  def teardown
+  end
+
+
+  #
+  # Test the known-record types: A, NS, MX, AAAA
+  #
+  def test_known_types
+
+    assert_nothing_raised do
+     test = Custodian::TestFactory.create( "a.ns.bytemark.co.uk must run dns for bytemark.co.uk resolving NS as 'foo'." )
+     test = Custodian::TestFactory.create( "a.ns.bytemark.co.uk must run dns for bytemark.co.uk resolving A as 'foo'." )
+     test = Custodian::TestFactory.create( "a.ns.bytemark.co.uk must run dns for bytemark.co.uk resolving MX as 'foo'." )
+     test = Custodian::TestFactory.create( "a.ns.bytemark.co.uk must run dns for bytemark.co.uk resolving AAAA as 'foo'." )
+    end
+
+  end
+
+
+
+  #
+  # Test that using random types fails.
+  #
+  def test_unknown_types
+
+    #
+    #  Each of these will fail
+    #
+    %w( a ns www example fdskfjdlfsj `` ).each do |res|
+      assert_raise ArgumentError do
+        Custodian::TestFactory.create( "a.ns.bytemark.co.uk must run dns for bytemark.co.uk resolving #{res} as 'foo'." )
+      end
+    end
+  end
+
+
+end
+
-- 
cgit v1.2.3