import os import unittest import json from jc.exceptions import ParseError import jc.parsers.ping_s THIS_DIR = os.path.dirname(os.path.abspath(__file__)) # To create streaming output use: # $ cat ping.out | jc --ping-s | jello -c > ping-streaming.json class MyTests(unittest.TestCase): def setUp(self): # input # centos with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/ping-ip-O.out'), 'r', encoding='utf-8') as f: self.centos_7_7_ping_ip_O = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/ping-ip-O-D.out'), 'r', encoding='utf-8') as f: self.centos_7_7_ping_ip_O_D = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/ping-hostname-O.out'), 'r', encoding='utf-8') as f: self.centos_7_7_ping_hostname_O = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/ping-hostname-O-p.out'), 'r', encoding='utf-8') as f: self.centos_7_7_ping_hostname_O_p = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/ping-hostname-O-D-p-s.out'), 'r', encoding='utf-8') as f: self.centos_7_7_ping_hostname_O_D_p_s = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/ping6-ip-O-p.out'), 'r', encoding='utf-8') as f: self.centos_7_7_ping6_ip_O_p = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/ping6-ip-O-p-unparsable.out'), 'r', encoding='utf-8') as f: self.centos_7_7_ping6_ip_O_p_unparsable = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/ping6-ip-O-D-p.out'), 'r', encoding='utf-8') as f: self.centos_7_7_ping6_ip_O_D_p = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/ping6-hostname-O-p.out'), 'r', encoding='utf-8') as f: self.centos_7_7_ping6_hostname_O_p = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/ping6-hostname-O-D-p-s.out'), 'r', encoding='utf-8') as f: self.centos_7_7_ping6_hostname_O_D_p_s = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/ping-ip-dup.out'), 'r', encoding='utf-8') as f: self.centos_7_7_ping_ip_dup = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/ping6-ip-dup.out'), 'r', encoding='utf-8') as f: self.centos_7_7_ping6_ip_dup = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/ping-ip-O-unparsedlines.out'), 'r', encoding='utf-8') as f: self.centos_7_7_ping_ip_O_unparsedlines = f.read() # ubuntu with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/ubuntu-18.04/ping-ip-O.out'), 'r', encoding='utf-8') as f: self.ubuntu_18_4_ping_ip_O = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/ubuntu-18.04/ping-ip-O-D.out'), 'r', encoding='utf-8') as f: self.ubuntu_18_4_ping_ip_O_D = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/ubuntu-18.04/ping-hostname-O.out'), 'r', encoding='utf-8') as f: self.ubuntu_18_4_ping_hostname_O = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/ubuntu-18.04/ping-hostname-O-p.out'), 'r', encoding='utf-8') as f: self.ubuntu_18_4_ping_hostname_O_p = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/ubuntu-18.04/ping-hostname-O-D-p-s.out'), 'r', encoding='utf-8') as f: self.ubuntu_18_4_ping_hostname_O_D_p_s = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/ubuntu-18.04/ping6-ip-O-p.out'), 'r', encoding='utf-8') as f: self.ubuntu_18_4_ping6_ip_O_p = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/ubuntu-18.04/ping6-ip-O-D-p.out'), 'r', encoding='utf-8') as f: self.ubuntu_18_4_ping6_ip_O_D_p = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/ubuntu-18.04/ping6-hostname-O-p.out'), 'r', encoding='utf-8') as f: self.ubuntu_18_4_ping6_hostname_O_p = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/ubuntu-18.04/ping6-hostname-O-D-p-s.out'), 'r', encoding='utf-8') as f: self.ubuntu_18_4_ping6_hostname_O_D_p_s = f.read() # fedora with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/fedora32/ping-ip-O.out'), 'r', encoding='utf-8') as f: self.fedora32_ping_ip_O = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/fedora32/ping-ip-O-D.out'), 'r', encoding='utf-8') as f: self.fedora32_ping_ip_O_D = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/fedora32/ping-hostname-O.out'), 'r', encoding='utf-8') as f: self.fedora32_ping_hostname_O = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/fedora32/ping-hostname-O-p.out'), 'r', encoding='utf-8') as f: self.fedora32_ping_hostname_O_p = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/fedora32/ping-hostname-O-D-p-s.out'), 'r', encoding='utf-8') as f: self.fedora32_ping_hostname_O_D_p_s = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/fedora32/ping6-ip-O-p.out'), 'r', encoding='utf-8') as f: self.fedora32_ping6_ip_O_p = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/fedora32/ping6-ip-O-D-p.out'), 'r', encoding='utf-8') as f: self.fedora32_ping6_ip_O_D_p = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/fedora32/ping6-hostname-O-p.out'), 'r', encoding='utf-8') as f: self.fedora32_ping6_hostname_O_p = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/fedora32/ping6-hostname-O-D-p-s.out'), 'r', encoding='utf-8') as f: self.fedora32_ping6_hostname_O_D_p_s = f.read() # freebsd with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/freebsd12/ping-hostname-p.out'), 'r', encoding='utf-8') as f: self.freebsd12_ping_hostname_p = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/freebsd12/ping-hostname-s.out'), 'r', encoding='utf-8') as f: self.freebsd12_ping_hostname_s = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/freebsd12/ping-hostname.out'), 'r', encoding='utf-8') as f: self.freebsd12_ping_hostname = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/freebsd12/ping-ip-p.out'), 'r', encoding='utf-8') as f: self.freebsd12_ping_ip_p = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/freebsd12/ping-ip-s.out'), 'r', encoding='utf-8') as f: self.freebsd12_ping_ip_s = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/freebsd12/ping-ip.out'), 'r', encoding='utf-8') as f: self.freebsd12_ping_ip = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/freebsd12/ping6-hostname-p.out'), 'r', encoding='utf-8') as f: self.freebsd12_ping6_hostname_p = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/freebsd12/ping6-hostname-s.out'), 'r', encoding='utf-8') as f: self.freebsd12_ping6_hostname_s = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/freebsd12/ping6-hostname.out'), 'r', encoding='utf-8') as f: self.freebsd12_ping6_hostname = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/freebsd12/ping6-ip-p.out'), 'r', encoding='utf-8') as f: self.freebsd12_ping6_ip_p = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/freebsd12/ping6-ip-s.out'), 'r', encoding='utf-8') as f: self.freebsd12_ping6_ip_s = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/freebsd12/ping6-ip.out'), 'r', encoding='utf-8') as f: self.freebsd12_ping6_ip = f.read() # osx with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/osx-10.14.6/ping-hostname-p.out'), 'r', encoding='utf-8') as f: self.osx_10_14_6_ping_hostname_p = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/osx-10.14.6/ping-hostname-s.out'), 'r', encoding='utf-8') as f: self.osx_10_14_6_ping_hostname_s = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/osx-10.14.6/ping-hostname.out'), 'r', encoding='utf-8') as f: self.osx_10_14_6_ping_hostname = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/osx-10.14.6/ping-ip-p.out'), 'r', encoding='utf-8') as f: self.osx_10_14_6_ping_ip_p = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/osx-10.14.6/ping-ip-s.out'), 'r', encoding='utf-8') as f: self.osx_10_14_6_ping_ip_s = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/osx-10.14.6/ping-ip.out'), 'r', encoding='utf-8') as f: self.osx_10_14_6_ping_ip = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/osx-10.14.6/ping-ip-unreachable.out'), 'r', encoding='utf-8') as f: self.osx_10_14_6_ping_ip_unreachable = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/osx-10.14.6/ping-ip-unknown-errors.out'), 'r', encoding='utf-8') as f: self.osx_10_14_6_ping_ip_unknown_errors = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/osx-10.14.6/ping6-hostname-p.out'), 'r', encoding='utf-8') as f: self.osx_10_14_6_ping6_hostname_p = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/osx-10.14.6/ping6-hostname-s.out'), 'r', encoding='utf-8') as f: self.osx_10_14_6_ping6_hostname_s = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/osx-10.14.6/ping6-hostname.out'), 'r', encoding='utf-8') as f: self.osx_10_14_6_ping6_hostname = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/osx-10.14.6/ping6-ip-p.out'), 'r', encoding='utf-8') as f: self.osx_10_14_6_ping6_ip_p = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/osx-10.14.6/ping6-ip-s.out'), 'r', encoding='utf-8') as f: self.osx_10_14_6_ping6_ip_s = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/osx-10.14.6/ping6-ip.out'), 'r', encoding='utf-8') as f: self.osx_10_14_6_ping6_ip = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/osx-10.14.6/ping6-ip-unparsable.out'), 'r', encoding='utf-8') as f: self.osx_10_14_6_ping6_ip_unparsable = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/osx-10.14.6/ping-ip-dup.out'), 'r', encoding='utf-8') as f: self.osx_10_14_6_ping_ip_dup = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/osx-10.14.6/ping6-ip-dup.out'), 'r', encoding='utf-8') as f: self.osx_10_14_6_ping6_ip_dup = f.read() # raspberry pi with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/pi/ping-ip-O.out'), 'r', encoding='utf-8') as f: self.pi_ping_ip_O = f.read() with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/pi/ping-ip-O-D.out'), 'r', encoding='utf-8') as f: self.pi_ping_ip_O_D = f.read() # output # centos with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/ping-ip-O-streaming.json'), 'r', encoding='utf-8') as f: self.centos_7_7_ping_ip_O_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/ping-ip-O-streaming-ignore-exceptions.json'), 'r', encoding='utf-8') as f: self.centos_7_7_ping_ip_O_streaming_ignore_exceptions_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/ping-ip-O-D-streaming.json'), 'r', encoding='utf-8') as f: self.centos_7_7_ping_ip_O_D_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/ping-hostname-O-streaming.json'), 'r', encoding='utf-8') as f: self.centos_7_7_ping_hostname_O_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/ping-hostname-O-p-streaming.json'), 'r', encoding='utf-8') as f: self.centos_7_7_ping_hostname_O_p_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/ping-hostname-O-D-p-s-streaming.json'), 'r', encoding='utf-8') as f: self.centos_7_7_ping_hostname_O_D_p_s_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/ping6-ip-O-p-streaming.json'), 'r', encoding='utf-8') as f: self.centos_7_7_ping6_ip_O_p_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/ping6-ip-O-D-p-streaming.json'), 'r', encoding='utf-8') as f: self.centos_7_7_ping6_ip_O_D_p_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/ping6-hostname-O-p-streaming.json'), 'r', encoding='utf-8') as f: self.centos_7_7_ping6_hostname_O_p_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/ping6-hostname-O-D-p-s-streaming.json'), 'r', encoding='utf-8') as f: self.centos_7_7_ping6_hostname_O_D_p_s_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/ping-ip-dup-streaming.json'), 'r', encoding='utf-8') as f: self.centos_7_7_ping_ip_dup_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/ping6-ip-dup-streaming.json'), 'r', encoding='utf-8') as f: self.centos_7_7_ping6_ip_dup_streaming_json = json.loads(f.read()) # ubunutu with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/ubuntu-18.04/ping-ip-O-streaming.json'), 'r', encoding='utf-8') as f: self.ubuntu_18_4_ping_ip_O_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/ubuntu-18.04/ping-ip-O-D-streaming.json'), 'r', encoding='utf-8') as f: self.ubuntu_18_4_ping_ip_O_D_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/ubuntu-18.04/ping-hostname-O-streaming.json'), 'r', encoding='utf-8') as f: self.ubuntu_18_4_ping_hostname_O_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/ubuntu-18.04/ping-hostname-O-p-streaming.json'), 'r', encoding='utf-8') as f: self.ubuntu_18_4_ping_hostname_O_p_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/ubuntu-18.04/ping-hostname-O-D-p-s-streaming.json'), 'r', encoding='utf-8') as f: self.ubuntu_18_4_ping_hostname_O_D_p_s_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/ubuntu-18.04/ping6-ip-O-p-streaming.json'), 'r', encoding='utf-8') as f: self.ubuntu_18_4_ping6_ip_O_p_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/ubuntu-18.04/ping6-ip-O-D-p-streaming.json'), 'r', encoding='utf-8') as f: self.ubuntu_18_4_ping6_ip_O_D_p_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/ubuntu-18.04/ping6-hostname-O-p-streaming.json'), 'r', encoding='utf-8') as f: self.ubuntu_18_4_ping6_hostname_O_p_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/ubuntu-18.04/ping6-hostname-O-D-p-s-streaming.json'), 'r', encoding='utf-8') as f: self.ubuntu_18_4_ping6_hostname_O_D_p_s_streaming_json = json.loads(f.read()) # fedora with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/fedora32/ping-ip-O-streaming.json'), 'r', encoding='utf-8') as f: self.fedora32_ping_ip_O_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/fedora32/ping-ip-O-D-streaming.json'), 'r', encoding='utf-8') as f: self.fedora32_ping_ip_O_D_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/fedora32/ping-hostname-O-streaming.json'), 'r', encoding='utf-8') as f: self.fedora32_ping_hostname_O_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/fedora32/ping-hostname-O-p-streaming.json'), 'r', encoding='utf-8') as f: self.fedora32_ping_hostname_O_p_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/fedora32/ping-hostname-O-D-p-s-streaming.json'), 'r', encoding='utf-8') as f: self.fedora32_ping_hostname_O_D_p_s_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/fedora32/ping6-ip-O-p-streaming.json'), 'r', encoding='utf-8') as f: self.fedora32_ping6_ip_O_p_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/fedora32/ping6-ip-O-D-p-streaming.json'), 'r', encoding='utf-8') as f: self.fedora32_ping6_ip_O_D_p_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/fedora32/ping6-hostname-O-p-streaming.json'), 'r', encoding='utf-8') as f: self.fedora32_ping6_hostname_O_p_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/fedora32/ping6-hostname-O-D-p-s-streaming.json'), 'r', encoding='utf-8') as f: self.fedora32_ping6_hostname_O_D_p_s_streaming_json = json.loads(f.read()) # freebsd with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/freebsd12/ping-hostname-p-streaming.json'), 'r', encoding='utf-8') as f: self.freebsd12_ping_hostname_p_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/freebsd12/ping-hostname-s-streaming.json'), 'r', encoding='utf-8') as f: self.freebsd12_ping_hostname_s_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/freebsd12/ping-hostname-streaming.json'), 'r', encoding='utf-8') as f: self.freebsd12_ping_hostname_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/freebsd12/ping-ip-p-streaming.json'), 'r', encoding='utf-8') as f: self.freebsd12_ping_ip_p_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/freebsd12/ping-ip-s-streaming.json'), 'r', encoding='utf-8') as f: self.freebsd12_ping_ip_s_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/freebsd12/ping-ip-streaming.json'), 'r', encoding='utf-8') as f: self.freebsd12_ping_ip_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/freebsd12/ping6-hostname-p-streaming.json'), 'r', encoding='utf-8') as f: self.freebsd12_ping6_hostname_p_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/freebsd12/ping6-hostname-s-streaming.json'), 'r', encoding='utf-8') as f: self.freebsd12_ping6_hostname_s_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/freebsd12/ping6-hostname-streaming.json'), 'r', encoding='utf-8') as f: self.freebsd12_ping6_hostname_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/freebsd12/ping6-ip-p-streaming.json'), 'r', encoding='utf-8') as f: self.freebsd12_ping6_ip_p_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/freebsd12/ping6-ip-s-streaming.json'), 'r', encoding='utf-8') as f: self.freebsd12_ping6_ip_s_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/freebsd12/ping6-ip-streaming.json'), 'r', encoding='utf-8') as f: self.freebsd12_ping6_ip_streaming_json = json.loads(f.read()) # osx: with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/osx-10.14.6/ping-hostname-p-streaming.json'), 'r', encoding='utf-8') as f: self.osx_10_14_6_ping_hostname_p_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/osx-10.14.6/ping-hostname-s-streaming.json'), 'r', encoding='utf-8') as f: self.osx_10_14_6_ping_hostname_s_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/osx-10.14.6/ping-hostname-streaming.json'), 'r', encoding='utf-8') as f: self.osx_10_14_6_ping_hostname_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/osx-10.14.6/ping-ip-p-streaming.json'), 'r', encoding='utf-8') as f: self.osx_10_14_6_ping_ip_p_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/osx-10.14.6/ping-ip-s-streaming.json'), 'r', encoding='utf-8') as f: self.osx_10_14_6_ping_ip_s_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/osx-10.14.6/ping-ip-streaming.json'), 'r', encoding='utf-8') as f: self.osx_10_14_6_ping_ip_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/osx-10.14.6/ping-ip-unreachable-streaming.json'), 'r', encoding='utf-8') as f: self.osx_10_14_6_ping_ip_unreachable_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/osx-10.14.6/ping6-hostname-p-streaming.json'), 'r', encoding='utf-8') as f: self.osx_10_14_6_ping6_hostname_p_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/osx-10.14.6/ping6-hostname-s-streaming.json'), 'r', encoding='utf-8') as f: self.osx_10_14_6_ping6_hostname_s_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/osx-10.14.6/ping6-hostname-streaming.json'), 'r', encoding='utf-8') as f: self.osx_10_14_6_ping6_hostname_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/osx-10.14.6/ping6-ip-p-streaming.json'), 'r', encoding='utf-8') as f: self.osx_10_14_6_ping6_ip_p_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/osx-10.14.6/ping6-ip-s-streaming.json'), 'r', encoding='utf-8') as f: self.osx_10_14_6_ping6_ip_s_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/osx-10.14.6/ping6-ip-streaming.json'), 'r', encoding='utf-8') as f: self.osx_10_14_6_ping6_ip_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/osx-10.14.6/ping-ip-dup-streaming.json'), 'r', encoding='utf-8') as f: self.osx_10_14_6_ping_ip_dup_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/osx-10.14.6/ping6-ip-dup-streaming.json'), 'r', encoding='utf-8') as f: self.osx_10_14_6_ping6_ip_dup_streaming_json = json.loads(f.read()) # raspberry pi with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/pi/ping-ip-O-streaming.json'), 'r', encoding='utf-8') as f: self.pi_ping_ip_O_streaming_json = json.loads(f.read()) with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/pi/ping-ip-O-D-streaming.json'), 'r', encoding='utf-8') as f: self.pi_ping_ip_O_D_streaming_json = json.loads(f.read()) def test_ping_nodata(self): """ Test 'ping' with no data """ self.assertEqual(list(jc.parsers.ping_s.parse('')), []) def test_ping_ignore_exceptions_success(self): """ Test 'ping' with -qq (ignore_exceptions) option """ self.assertEqual(list(jc.parsers.ping_s.parse(self.centos_7_7_ping_ip_O.splitlines(), quiet=True, ignore_exceptions=True)), self.centos_7_7_ping_ip_O_streaming_ignore_exceptions_json) def test_ping_ignore_exceptions_error(self): """ Test 'ping' with -qq (ignore_exceptions) option option and error """ data_in = 'not ping' expected = json.loads('[{"_jc_meta":{"success":false,"error":"ParseError: Could not detect ping OS","line":"not ping"}}]') self.assertEqual(list(jc.parsers.ping_s.parse(data_in.splitlines(), quiet=True, ignore_exceptions=True)), expected) def test_ping_ip_O_centos_7_7(self): """ Test 'ping -O' on Centos 7.7 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.centos_7_7_ping_ip_O.splitlines(), quiet=True)), self.centos_7_7_ping_ip_O_streaming_json) def test_ping_ip_O_D_centos_7_7(self): """ Test 'ping -O -D' on Centos 7.7 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.centos_7_7_ping_ip_O_D.splitlines(), quiet=True)), self.centos_7_7_ping_ip_O_D_streaming_json) def test_ping_hostname_O_centos_7_7(self): """ Test 'ping -O' on Centos 7.7 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.centos_7_7_ping_hostname_O.splitlines(), quiet=True)), self.centos_7_7_ping_hostname_O_streaming_json) def test_ping_hostname_O_p_centos_7_7(self): """ Test 'ping -O -p' on Centos 7.7 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.centos_7_7_ping_hostname_O_p.splitlines(), quiet=True)), self.centos_7_7_ping_hostname_O_p_streaming_json) def test_ping_hostname_O_D_p_s_centos_7_7(self): """ Test 'ping -O -D -p -s' on Centos 7.7 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.centos_7_7_ping_hostname_O_D_p_s.splitlines(), quiet=True)), self.centos_7_7_ping_hostname_O_D_p_s_streaming_json) def test_ping6_ip_O_p_centos_7_7(self): """ Test 'ping6 -O -p' on Centos 7.7 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.centos_7_7_ping6_ip_O_p.splitlines(), quiet=True)), self.centos_7_7_ping6_ip_O_p_streaming_json) def test_ping6_ip_O_p_unparsable_centos_7_7(self): """ Test 'ping6 -O -p' with unparsable lines on Centos 7.7 (raises IndexError) """ g = jc.parsers.ping_s.parse(self.centos_7_7_ping6_ip_O_p_unparsable.splitlines(), quiet=True) with self.assertRaises(IndexError): list(g) def test_ping6_ip_O_D_p_centos_7_7(self): """ Test 'ping6 -O -D -p' on Centos 7.7 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.centos_7_7_ping6_ip_O_D_p.splitlines(), quiet=True)), self.centos_7_7_ping6_ip_O_D_p_streaming_json) def test_ping6_hostname_O_p_centos_7_7(self): """ Test 'ping6 -O -p' on Centos 7.7 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.centos_7_7_ping6_hostname_O_p.splitlines(), quiet=True)), self.centos_7_7_ping6_hostname_O_p_streaming_json) def test_ping6_hostname_O_D_p_s_centos_7_7(self): """ Test 'ping6 -O -D -p -s' on Centos 7.7 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.centos_7_7_ping6_hostname_O_D_p_s.splitlines(), quiet=True)), self.centos_7_7_ping6_hostname_O_D_p_s_streaming_json) def test_ping_ip_dup_centos_7_7(self): """ Test 'ping ' to broadcast IP to get duplicate replies on Centos 7.7 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.centos_7_7_ping_ip_dup.splitlines(), quiet=True)), self.centos_7_7_ping_ip_dup_streaming_json) def test_ping6_ip_dup_centos_7_7(self): """ Test 'ping6 ' to broadcast IP to get duplicate replies on Centos 7.7 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.centos_7_7_ping6_ip_dup.splitlines(), quiet=True)), self.centos_7_7_ping6_ip_dup_streaming_json) def test_ping_ip_O_unparsedlines_centos_7_7(self): """ Test 'ping -O' on Centos 7.7 with unparsable lines and error messages """ g = jc.parsers.ping_s.parse(self.centos_7_7_ping_ip_O_unparsedlines.splitlines(), quiet=True) with self.assertRaises(IndexError): list(g) def test_ping_ip_O_ubuntu_18_4(self): """ Test 'ping -O' on Ubuntu 18.4 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.ubuntu_18_4_ping_ip_O.splitlines(), quiet=True)), self.ubuntu_18_4_ping_ip_O_streaming_json) def test_ping_ip_O_D_ubuntu_18_4(self): """ Test 'ping -O -D' on Ubuntu 18.4 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.ubuntu_18_4_ping_ip_O_D.splitlines(), quiet=True)), self.ubuntu_18_4_ping_ip_O_D_streaming_json) def test_ping_hostname_O_ubuntu_18_4(self): """ Test 'ping -O' on Ubuntu 18.4 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.ubuntu_18_4_ping_hostname_O.splitlines(), quiet=True)), self.ubuntu_18_4_ping_hostname_O_streaming_json) def test_ping_hostname_O_p_ubuntu_18_4(self): """ Test 'ping -O -p' on Ubuntu 18.4 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.ubuntu_18_4_ping_hostname_O_p.splitlines(), quiet=True)), self.ubuntu_18_4_ping_hostname_O_p_streaming_json) def test_ping_hostname_O_D_p_s_ubuntu_18_4(self): """ Test 'ping -O -D -p -s' on Ubuntu 18.4 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.ubuntu_18_4_ping_hostname_O_D_p_s.splitlines(), quiet=True)), self.ubuntu_18_4_ping_hostname_O_D_p_s_streaming_json) def test_ping6_ip_O_p_ubuntu_18_4(self): """ Test 'ping6 -O -p' on Ubuntu 18.4 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.ubuntu_18_4_ping6_ip_O_p.splitlines(), quiet=True)), self.ubuntu_18_4_ping6_ip_O_p_streaming_json) def test_ping6_ip_O_D_p_ubuntu_18_4(self): """ Test 'ping6 -O -D -p' on Ubuntu 18.4 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.ubuntu_18_4_ping6_ip_O_D_p.splitlines(), quiet=True)), self.ubuntu_18_4_ping6_ip_O_D_p_streaming_json) def test_ping6_hostname_O_p_ubuntu_18_4(self): """ Test 'ping6 -O -p' on Ubuntu 18.4 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.ubuntu_18_4_ping6_hostname_O_p.splitlines(), quiet=True)), self.ubuntu_18_4_ping6_hostname_O_p_streaming_json) def test_ping6_hostname_O_D_p_s_ubuntu_18_4(self): """ Test 'ping6 -O -D -p -s' on Ubuntu 18.4 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.ubuntu_18_4_ping6_hostname_O_D_p_s.splitlines(), quiet=True)), self.ubuntu_18_4_ping6_hostname_O_D_p_s_streaming_json) def test_ping_ip_O_fedora32(self): """ Test 'ping -O' on fedora32 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.fedora32_ping_ip_O.splitlines(), quiet=True)), self.fedora32_ping_ip_O_streaming_json) def test_ping_ip_O_D_fedora32(self): """ Test 'ping -O -D' on fedora32 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.fedora32_ping_ip_O_D.splitlines(), quiet=True)), self.fedora32_ping_ip_O_D_streaming_json) def test_ping_hostname_O_fedora32(self): """ Test 'ping -O' on fedora32 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.fedora32_ping_hostname_O.splitlines(), quiet=True)), self.fedora32_ping_hostname_O_streaming_json) def test_ping_hostname_O_p_fedora32(self): """ Test 'ping -O -p' on fedora32 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.fedora32_ping_hostname_O_p.splitlines(), quiet=True)), self.fedora32_ping_hostname_O_p_streaming_json) def test_ping_hostname_O_D_p_s_fedora32(self): """ Test 'ping -O -D -p -s' on fedora32 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.fedora32_ping_hostname_O_D_p_s.splitlines(), quiet=True)), self.fedora32_ping_hostname_O_D_p_s_streaming_json) def test_ping6_ip_O_p_fedora32(self): """ Test 'ping6 -O -p' on fedora32 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.fedora32_ping6_ip_O_p.splitlines(), quiet=True)), self.fedora32_ping6_ip_O_p_streaming_json) def test_ping6_ip_O_D_p_fedora32(self): """ Test 'ping6 -O -D -p' on fedora32 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.fedora32_ping6_ip_O_D_p.splitlines(), quiet=True)), self.fedora32_ping6_ip_O_D_p_streaming_json) def test_ping6_hostname_O_p_fedora32(self): """ Test 'ping6 -O -p' on fedora32 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.fedora32_ping6_hostname_O_p.splitlines(), quiet=True)), self.fedora32_ping6_hostname_O_p_streaming_json) def test_ping6_hostname_O_D_p_s_fedora32(self): """ Test 'ping6 -O -D -p -s' on fedora32 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.fedora32_ping6_hostname_O_D_p_s.splitlines(), quiet=True)), self.fedora32_ping6_hostname_O_D_p_s_streaming_json) def test_ping_hostname_p_freebsd12(self): """ Test 'ping -p' on freebsd12 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.freebsd12_ping_hostname_p.splitlines(), quiet=True)), self.freebsd12_ping_hostname_p_streaming_json) def test_ping_hostname_s_freebsd12(self): """ Test 'ping -s' on freebsd12 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.freebsd12_ping_hostname_s.splitlines(), quiet=True)), self.freebsd12_ping_hostname_s_streaming_json) def test_ping_ping_hostname_freebsd12(self): """ Test 'ping ' on freebsd12 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.freebsd12_ping_hostname.splitlines(), quiet=True)), self.freebsd12_ping_hostname_streaming_json) def test_ping_ip_p_freebsd12(self): """ Test 'ping -p' on freebsd12 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.freebsd12_ping_ip_p.splitlines(), quiet=True)), self.freebsd12_ping_ip_p_streaming_json) def test_ping_ip_s_freebsd12(self): """ Test 'ping -s' on freebsd12 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.freebsd12_ping_ip_s.splitlines(), quiet=True)), self.freebsd12_ping_ip_s_streaming_json) def test_ping_ip_freebsd12(self): """ Test 'ping6 ' on freebsd127 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.freebsd12_ping_ip.splitlines(), quiet=True)), self.freebsd12_ping_ip_streaming_json) def test_ping6_hostname_p_freebsd12(self): """ Test 'ping6 -p' on freebsd12 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.freebsd12_ping6_hostname_p.splitlines(), quiet=True)), self.freebsd12_ping6_hostname_p_streaming_json) def test_ping6_hostname_s_freebsd12(self): """ Test 'ping6 -s' on freebsd12 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.freebsd12_ping6_hostname_s.splitlines(), quiet=True)), self.freebsd12_ping6_hostname_s_streaming_json) def test_ping6_hostname_freebsd12(self): """ Test 'ping6 ' on freebsd12 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.freebsd12_ping6_hostname.splitlines(), quiet=True)), self.freebsd12_ping6_hostname_streaming_json) def test_ping6_ip_p_freebsd12(self): """ Test 'ping6 -p' on freebsd12 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.freebsd12_ping6_ip_p.splitlines(), quiet=True)), self.freebsd12_ping6_ip_p_streaming_json) def test_ping6_ip_s_freebsd12(self): """ Test 'ping6 -s' on freebsd12 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.freebsd12_ping6_ip_s.splitlines(), quiet=True)), self.freebsd12_ping6_ip_s_streaming_json) def test_ping6_ip_freebsd12(self): """ Test 'ping6 ' on freebsd12 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.freebsd12_ping6_ip.splitlines(), quiet=True)), self.freebsd12_ping6_ip_streaming_json) def test_ping_hostname_p_osx_10_14_6(self): """ Test 'ping -p' on osx 10.14.6 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.osx_10_14_6_ping_hostname_p.splitlines(), quiet=True)), self.osx_10_14_6_ping_hostname_p_streaming_json) def test_ping_hostname_s_osx_10_14_6(self): """ Test 'ping -s' on osx 10.14.6 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.osx_10_14_6_ping_hostname_s.splitlines(), quiet=True)), self.osx_10_14_6_ping_hostname_s_streaming_json) def test_ping_hostname_osx_10_14_6(self): """ Test 'ping ' on osx 10.14.6 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.osx_10_14_6_ping_hostname.splitlines(), quiet=True)), self.osx_10_14_6_ping_hostname_streaming_json) def test_ping_ip_p_osx_10_14_6(self): """ Test 'ping -p' on osx 10.14.6 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.osx_10_14_6_ping_ip_p.splitlines(), quiet=True)), self.osx_10_14_6_ping_ip_p_streaming_json) def test_ping_ip_s_osx_10_14_6(self): """ Test 'ping -s' on osx 10.14.6 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.osx_10_14_6_ping_ip_s.splitlines(), quiet=True)), self.osx_10_14_6_ping_ip_s_streaming_json) def test_ping_ip_osx_10_14_6(self): """ Test 'ping ' on osx 10.14.6 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.osx_10_14_6_ping_ip.splitlines(), quiet=True)), self.osx_10_14_6_ping_ip_streaming_json) def test_ping_ip_unreachable_osx_10_14_6(self): """ Test 'ping ' with host unreachable error on osx 10.14.6 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.osx_10_14_6_ping_ip_unreachable.splitlines(), quiet=True)), self.osx_10_14_6_ping_ip_unreachable_streaming_json) def test_ping_ip_unknown_errors_osx_10_14_6(self): """ Test 'ping ' with unknown/unparsable errors on osx 10.14.6 """ g = jc.parsers.ping_s.parse(self.osx_10_14_6_ping_ip_unknown_errors.splitlines(), quiet=True) with self.assertRaises(IndexError): list(g) def test_ping6_hostname_p_osx_10_14_6(self): """ Test 'ping6 -p' on osx 10.14.6 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.osx_10_14_6_ping6_hostname_p.splitlines(), quiet=True)), self.osx_10_14_6_ping6_hostname_p_streaming_json) def test_ping6_hostname_s_osx_10_14_6(self): """ Test 'ping6 -s' on osx 10.14.6 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.osx_10_14_6_ping6_hostname_s.splitlines(), quiet=True)), self.osx_10_14_6_ping6_hostname_s_streaming_json) def test_ping6_hostname_osx_10_14_6(self): """ Test 'ping6 ' on osx 10.14.6 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.osx_10_14_6_ping6_hostname.splitlines(), quiet=True)), self.osx_10_14_6_ping6_hostname_streaming_json) def test_ping6_ip_p_osx_10_14_6(self): """ Test 'ping6 -p' on osx 10.14.6 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.osx_10_14_6_ping6_ip_p.splitlines(), quiet=True)), self.osx_10_14_6_ping6_ip_p_streaming_json) def test_ping6_ip_s_osx_10_14_6(self): """ Test 'ping6 -s' on osx 10.14.6 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.osx_10_14_6_ping6_ip_s.splitlines(), quiet=True)), self.osx_10_14_6_ping6_ip_s_streaming_json) def test_ping6_ip_osx_10_14_6(self): """ Test 'ping6 ' on osx 10.14.6 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.osx_10_14_6_ping6_ip.splitlines(), quiet=True)), self.osx_10_14_6_ping6_ip_streaming_json) def test_ping6_ip_unparsable_osx_10_14_6(self): """ Test 'ping6 ' with unparsable lines on osx 10.14.6 """ g = jc.parsers.ping_s.parse(self.osx_10_14_6_ping6_ip_unparsable.splitlines(), quiet=True) with self.assertRaises(IndexError): list(g) def test_ping_ip_dup_osx_10_14_6(self): """ Test 'ping ' to broadcast IP to get duplicate replies on osx 10.14.6 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.osx_10_14_6_ping_ip_dup.splitlines(), quiet=True)), self.osx_10_14_6_ping_ip_dup_streaming_json) def test_ping6_ip_dup_osx_10_14_6(self): """ Test 'ping6 ' to broadcast IP to get duplicate replies on osx 10.14.6 """ self.assertEqual(list(jc.parsers.ping_s.parse(self.osx_10_14_6_ping6_ip_dup.splitlines(), quiet=True)), self.osx_10_14_6_ping6_ip_dup_streaming_json) def test_ping_ip_O_pi(self): """ Test 'ping6 -O' on raspberry pi """ self.assertEqual(list(jc.parsers.ping_s.parse(self.pi_ping_ip_O.splitlines(), quiet=True)), self.pi_ping_ip_O_streaming_json) def test_ping_ip_O_D_pi(self): """ Test 'ping6 -O -D' on raspberry pi """ self.assertEqual(list(jc.parsers.ping_s.parse(self.pi_ping_ip_O_D.splitlines(), quiet=True)), self.pi_ping_ip_O_D_streaming_json) if __name__ == '__main__': unittest.main()