1
1
from __future__ import absolute_import
2
2
3
3
import datetime
4
+ import ipaddress
4
5
5
6
from pytest import fixture , raises
6
7
from six import text_type
8
+ from netaddr import EUI
7
9
8
10
from openvpn_status .parser import LogParser , ParsingError
9
11
@@ -22,8 +24,9 @@ def test_parser(openvpn_status):
22
24
parser = LogParser .fromstring (openvpn_status .read ())
23
25
status = parser .parse ()
24
26
25
- assert len (status .client_list ) == 4
26
- assert len (status .routing_table ) == 4
27
+ assert len (status .client_list ) == 5
28
+ assert len (status .routing_table ) == 5
29
+
27
30
assert status .global_stats .max_bcast_mcast_queue_len == 0
28
31
assert status .updated_at == datetime .datetime (2015 , 6 , 18 , 8 , 12 , 15 )
29
32
@@ -36,11 +39,19 @@ def test_parser(openvpn_status):
36
39
assert client .bytes_received == 334948
37
40
assert client .bytes_sent == 1973012
38
41
39
- routing = status .routing_table [u'192.168.255.134' ]
40
- assert text_type (routing .virtual_address ) == u'192.168.255.134'
41
- assert routing .
common_name == u'[email protected] '
42
- assert text_type (routing .real_address ) == u'10.10.10.10:49502'
43
- assert routing .last_ref == datetime .datetime (2015 , 6 , 18 , 8 , 12 , 9 )
42
+ tun_routing = status .routing_table [u'192.168.255.134' ]
43
+ assert isinstance (tun_routing .virtual_address , ipaddress .IPv4Address )
44
+ assert text_type (tun_routing .virtual_address ) == u'192.168.255.134'
45
+ assert tun_routing .
common_name == u'[email protected] '
46
+ assert text_type (tun_routing .real_address ) == u'10.10.10.10:49502'
47
+ assert tun_routing .last_ref == datetime .datetime (2015 , 6 , 18 , 8 , 12 , 9 )
48
+
49
+ tap_routing = status .routing_table [u'22:1d:63:bf:62:38' ]
50
+ assert isinstance (tap_routing .virtual_address , EUI )
51
+ assert text_type (tap_routing .virtual_address ) == u'22:1d:63:bf:62:38'
52
+ assert tap_routing .
common_name == u'[email protected] '
53
+ assert text_type (tap_routing .real_address ) == u'10.0.0.100:55712'
54
+ assert tap_routing .last_ref == datetime .datetime (2017 , 10 , 19 , 20 , 14 , 19 )
44
55
45
56
46
57
def test_parser_with_syntax_errors (broken_status ):
0 commit comments