1 # Copyright (C) 2003-2007, 2009-2011 Nominum, Inc.
3 # Permission to use, copy, modify, and distribute this software and its
4 # documentation for any purpose with or without fee is hereby granted,
5 # provided that the above copyright notice and this permission notice
6 # appear in all copies.
8 # THE SOFTWARE IS PROVIDED "AS IS" AND NOMINUM DISCLAIMS ALL WARRANTIES
9 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL NOMINUM BE LIABLE FOR
11 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
14 # OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
22 class FlagsTestCase(unittest
.TestCase
):
24 def test_rcode1(self
):
25 self
.failUnless(dns
.rcode
.from_text('FORMERR') == dns
.rcode
.FORMERR
)
27 def test_rcode2(self
):
28 self
.failUnless(dns
.rcode
.to_text(dns
.rcode
.FORMERR
) == "FORMERR")
30 def test_rcode3(self
):
31 self
.failUnless(dns
.rcode
.to_flags(dns
.rcode
.FORMERR
) == (1, 0))
33 def test_rcode4(self
):
34 self
.failUnless(dns
.rcode
.to_flags(dns
.rcode
.BADVERS
) == \
37 def test_rcode6(self
):
38 self
.failUnless(dns
.rcode
.from_flags(0, 0x01000000) == \
41 def test_rcode6(self
):
42 self
.failUnless(dns
.rcode
.from_flags(5, 0) == dns
.rcode
.REFUSED
)
44 def test_rcode7(self
):
46 dns
.rcode
.to_flags(4096)
47 self
.failUnlessRaises(ValueError, bad
)
49 def test_flags1(self
):
50 self
.failUnless(dns
.flags
.from_text("RA RD AA QR") == \
51 dns
.flags
.QR|dns
.flags
.AA|dns
.flags
.RD|dns
.flags
.RA
)
53 def test_flags2(self
):
54 flags
= dns
.flags
.QR|dns
.flags
.AA|dns
.flags
.RD|dns
.flags
.RA
55 self
.failUnless(dns
.flags
.to_text(flags
) == "QR AA RD RA")
58 if __name__
== '__main__':