provision: add get_dns_{forest,domain}_microsoft_dns_descriptor()
[Samba/gebeck_regimport.git] / lib / subunit / python / iso8601 / test_iso8601.py
blobff9e2731cfa1c15317f25f1847d74f82f34069f3
1 import iso8601
3 def test_iso8601_regex():
4 assert iso8601.ISO8601_REGEX.match("2006-10-11T00:14:33Z")
6 def test_timezone_regex():
7 assert iso8601.TIMEZONE_REGEX.match("+01:00")
8 assert iso8601.TIMEZONE_REGEX.match("+00:00")
9 assert iso8601.TIMEZONE_REGEX.match("+01:20")
10 assert iso8601.TIMEZONE_REGEX.match("-01:00")
12 def test_parse_date():
13 d = iso8601.parse_date("2006-10-20T15:34:56Z")
14 assert d.year == 2006
15 assert d.month == 10
16 assert d.day == 20
17 assert d.hour == 15
18 assert d.minute == 34
19 assert d.second == 56
20 assert d.tzinfo == iso8601.UTC
22 def test_parse_date_fraction():
23 d = iso8601.parse_date("2006-10-20T15:34:56.123Z")
24 assert d.year == 2006
25 assert d.month == 10
26 assert d.day == 20
27 assert d.hour == 15
28 assert d.minute == 34
29 assert d.second == 56
30 assert d.microsecond == 123000
31 assert d.tzinfo == iso8601.UTC
33 def test_parse_date_fraction_2():
34 """From bug 6
36 """
37 d = iso8601.parse_date("2007-5-7T11:43:55.328Z'")
38 assert d.year == 2007
39 assert d.month == 5
40 assert d.day == 7
41 assert d.hour == 11
42 assert d.minute == 43
43 assert d.second == 55
44 assert d.microsecond == 328000
45 assert d.tzinfo == iso8601.UTC
47 def test_parse_date_tz():
48 d = iso8601.parse_date("2006-10-20T15:34:56.123+02:30")
49 assert d.year == 2006
50 assert d.month == 10
51 assert d.day == 20
52 assert d.hour == 15
53 assert d.minute == 34
54 assert d.second == 56
55 assert d.microsecond == 123000
56 assert d.tzinfo.tzname(None) == "+02:30"
57 offset = d.tzinfo.utcoffset(None)
58 assert offset.days == 0
59 assert offset.seconds == 60 * 60 * 2.5
61 def test_parse_invalid_date():
62 try:
63 iso8601.parse_date(None)
64 except iso8601.ParseError:
65 pass
66 else:
67 assert 1 == 2
69 def test_parse_invalid_date2():
70 try:
71 iso8601.parse_date("23")
72 except iso8601.ParseError:
73 pass
74 else:
75 assert 1 == 2
77 def test_parse_no_timezone():
78 """issue 4 - Handle datetime string without timezone
80 This tests what happens when you parse a date with no timezone. While not
81 strictly correct this is quite common. I'll assume UTC for the time zone
82 in this case.
83 """
84 d = iso8601.parse_date("2007-01-01T08:00:00")
85 assert d.year == 2007
86 assert d.month == 1
87 assert d.day == 1
88 assert d.hour == 8
89 assert d.minute == 0
90 assert d.second == 0
91 assert d.microsecond == 0
92 assert d.tzinfo == iso8601.UTC
94 def test_parse_no_timezone_different_default():
95 tz = iso8601.FixedOffset(2, 0, "test offset")
96 d = iso8601.parse_date("2007-01-01T08:00:00", default_timezone=tz)
97 assert d.tzinfo == tz
99 def test_space_separator():
100 """Handle a separator other than T
103 d = iso8601.parse_date("2007-06-23 06:40:34.00Z")
104 assert d.year == 2007
105 assert d.month == 6
106 assert d.day == 23
107 assert d.hour == 6
108 assert d.minute == 40
109 assert d.second == 34
110 assert d.microsecond == 0
111 assert d.tzinfo == iso8601.UTC