X-Git-Url: http://git.cielonegro.org/gitweb.cgi?a=blobdiff_plain;f=DNSUnitTest.hs;fp=DNSUnitTest.hs;h=07d3adff52fdbe6a28ecf3ab62482a35c495b602;hb=86893ea772a5628f813bc83ff4f36327a8d13842;hp=b388345d5f9174e441fceb08b8ddc3e9c3d99543;hpb=d4d887202f59a0bb394d04e74c2f02eb91e26f5f;p=haskell-dns.git diff --git a/DNSUnitTest.hs b/DNSUnitTest.hs index b388345..07d3adf 100644 --- a/DNSUnitTest.hs +++ b/DNSUnitTest.hs @@ -2,6 +2,8 @@ import Data.Binary import qualified Data.ByteString.Lazy as LBS import Data.Word import Network.DNS.Message +import Network.Socket +import System.IO.Unsafe import Test.HUnit @@ -30,7 +32,7 @@ testData = [ (parseMsg [ 0x22, 0x79, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00 } , msgQuestions = [ Question { qName = mkDomainName "mail.cielonegro.org." - , qType = mkQueryType CNAME + , qType = wrapQueryType CNAME , qClass = IN } ] @@ -39,6 +41,65 @@ testData = [ (parseMsg [ 0x22, 0x79, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00 , msgAdditionals = [] } ) + , (parseMsg [ 0x22, 0x79, 0x85, 0x00, 0x00, 0x01, 0x00, 0x01 + , 0x00, 0x01, 0x00, 0x01, 0x04, 0x6D, 0x61, 0x69 + , 0x6C, 0x0A, 0x63, 0x69, 0x65, 0x6C, 0x6F, 0x6E + , 0x65, 0x67, 0x72, 0x6F, 0x03, 0x6F, 0x72, 0x67 + , 0x00, 0x00, 0x05, 0x00, 0x01, 0xC0, 0x0C, 0x00 + , 0x05, 0x00, 0x01, 0x00, 0x01, 0x51, 0x80, 0x00 + , 0x06, 0x03, 0x6E, 0x65, 0x6D, 0xC0, 0x11, 0xC0 + , 0x11, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x0E + , 0x10, 0x00, 0x02, 0xC0, 0x31, 0xC0, 0x31, 0x00 + , 0x01, 0x00, 0x01, 0x00, 0x00, 0x0E, 0x10, 0x00 + , 0x04, 0xDB, 0x5E, 0x82, 0x8B + ] + ~?= + Message { + msgHeader = Header { + hdMessageID = 8825 + , hdMessageType = Response + , hdOpcode = StandardQuery + , hdIsAuthoritativeAnswer = True + , hdIsTruncated = False + , hdIsRecursionDesired = True + , hdIsRecursionAvailable = False + , hdResponseCode = NoError + } + , msgQuestions = [ Question { + qName = mkDomainName "mail.cielonegro.org." + , qType = wrapQueryType CNAME + , qClass = IN + } + ] + , msgAnswers = [ wrapRecord $ + ResourceRecord { + rrName = mkDomainName "mail.cielonegro.org." + , rrType = CNAME + , rrClass = IN + , rrTTL = 86400 + , rrData = mkDomainName "nem.cielonegro.org." + } + ] + , msgAuthorities = [ wrapRecord $ + ResourceRecord { + rrName = mkDomainName "cielonegro.org." + , rrType = NS + , rrClass = IN + , rrTTL = 3600 + , rrData = mkDomainName "nem.cielonegro.org." + } + ] + , msgAdditionals = [ wrapRecord $ + ResourceRecord { + rrName = mkDomainName "nem.cielonegro.org." + , rrType = A + , rrClass = IN + , rrTTL = 3600 + , rrData = unsafePerformIO (inet_addr "219.94.130.139") + } + ] + } + ) ]