]> gitweb @ CieloNegro.org - haskell-dns.git/blob - DNSUnitTest.hs
Add DNSUnitTest.hs
[haskell-dns.git] / DNSUnitTest.hs
1 import           Data.Binary
2 import qualified Data.ByteString.Lazy as LBS
3 import           Data.Word
4 import           Network.DNS.Message
5 import           Test.HUnit
6
7
8 parseMsg :: [Word8] -> Message
9 parseMsg = decode . LBS.pack
10
11
12 testData :: [Test]
13 testData = [ (parseMsg [ 0x22, 0x79, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00
14                        , 0x00, 0x00, 0x00, 0x00, 0x04, 0x6D, 0x61, 0x69
15                        , 0x6C, 0x0A, 0x63, 0x69, 0x65, 0x6C, 0x6F, 0x6E
16                        , 0x65, 0x67, 0x72, 0x6F, 0x03, 0x6F, 0x72, 0x67
17                        , 0x00, 0x00, 0x05, 0x00, 0x01
18                        ]
19               ~?=
20               Message {
21                 msgHeader = Header {
22                               hdMessageID             = 8825
23                             , hdMessageType           = Query
24                             , hdOpcode                = StandardQuery
25                             , hdIsAuthoritativeAnswer = False
26                             , hdIsTruncated           = False
27                             , hdIsRecursionDesired    = True
28                             , hdIsRecursionAvailable  = False
29                             , hdResponseCode          = NoError
30                             }
31               , msgQuestions   = [ Question {
32                                      qName  = mkDomainName "mail.cielonegro.org."
33                                    , qType  = mkQueryType CNAME
34                                    , qClass = IN
35                                    }
36                                  ]
37               , msgAnswers     = []
38               , msgAuthorities = []
39               , msgAdditionals = []
40               }
41              )
42            ]
43
44
45 main :: IO ()
46 main = runTestTT (test testData) >> return ()