s4-python: Move dnspython to lib/, like the other Python modules
[samba.git] / lib / dnspython / tests / bugs.py
1 # Copyright (C) 2006, 2007, 2009, 2010 Nominum, Inc.
2 #
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.
7 #
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.
15
16 import unittest
17
18 import dns.rdata
19 import dns.rdataclass
20 import dns.rdatatype
21 import dns.ttl
22
23 class BugsTestCase(unittest.TestCase):
24
25     def test_float_LOC(self):
26         rdata = dns.rdata.from_text(dns.rdataclass.IN, dns.rdatatype.LOC,
27                                     "30 30 0.000 N 100 30 0.000 W 10.00m 20m 2000m 20m")
28         self.failUnless(rdata.float_latitude == 30.5)
29         self.failUnless(rdata.float_longitude == -100.5)
30
31     def test_SOA_BIND8_TTL(self):
32         rdata1 = dns.rdata.from_text(dns.rdataclass.IN, dns.rdatatype.SOA,
33                                      "a b 100 1s 1m 1h 1d")
34         rdata2 = dns.rdata.from_text(dns.rdataclass.IN, dns.rdatatype.SOA,
35                                      "a b 100 1 60 3600 86400")
36         self.failUnless(rdata1 == rdata2)
37
38     def test_TTL_bounds_check(self):
39         def bad():
40             ttl = dns.ttl.from_text("2147483648")
41         self.failUnlessRaises(dns.ttl.BadTTL, bad)
42
43 if __name__ == '__main__':
44     unittest.main()