mirror of
https://github.com/kellyjonbrazil/jc.git
synced 2025-06-17 00:07:37 +02:00
231 lines
18 KiB
Python
231 lines
18 KiB
Python
![]() |
import os
|
||
|
import unittest
|
||
|
import jc.parsers.dig
|
||
|
|
||
|
THIS_DIR = os.path.dirname(os.path.abspath(__file__))
|
||
|
|
||
|
|
||
|
class MyTests(unittest.TestCase):
|
||
|
|
||
|
def setUp(self):
|
||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/dig.out'), 'r') as f:
|
||
|
self.centos_7_7_dig = f.read()
|
||
|
|
||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/ubuntu-18.04/dig.out'), 'r') as f:
|
||
|
self.ubuntu_18_4_dig = f.read()
|
||
|
|
||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/dig-x.out'), 'r') as f:
|
||
|
self.centos_7_7_dig_x = f.read()
|
||
|
|
||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/ubuntu-18.04/dig-x.out'), 'r') as f:
|
||
|
self.ubuntu_18_4_dig_x = f.read()
|
||
|
|
||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/dig-aaaa.out'), 'r') as f:
|
||
|
self.centos_7_7_dig_aaaa = f.read()
|
||
|
|
||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/ubuntu-18.04/dig-aaaa.out'), 'r') as f:
|
||
|
self.ubuntu_18_4_dig_aaaa = f.read()
|
||
|
|
||
|
def test_dig_centos_7_7(self):
|
||
|
"""
|
||
|
Test 'dig' on Centos 7.7
|
||
|
"""
|
||
|
self.assertEqual(jc.parsers.dig.parse(self.centos_7_7_dig), [{'additional_num': '1',
|
||
|
'answer': [{'class': 'IN',
|
||
|
'data': 'turner-tls.map.fastly.net.',
|
||
|
'name': 'www.cnn.com.',
|
||
|
'ttl': '5',
|
||
|
'type': 'CNAME'},
|
||
|
{'class': 'IN',
|
||
|
'data': '151.101.189.67',
|
||
|
'name': 'turner-tls.map.fastly.net.',
|
||
|
'ttl': '5',
|
||
|
'type': 'A'}],
|
||
|
'answer_num': '2',
|
||
|
'authority_num': '0',
|
||
|
'flags': 'qr rd ra',
|
||
|
'id': '44295',
|
||
|
'opcode': 'QUERY',
|
||
|
'query_num': '1',
|
||
|
'query_time': '25 msec',
|
||
|
'question': {'class': 'IN', 'name': 'www.cnn.com.', 'type': 'A'},
|
||
|
'rcvd': '95',
|
||
|
'server': '192.168.71.2#53(192.168.71.2)',
|
||
|
'status': 'NOERROR',
|
||
|
'when': 'Wed Oct 30 05:13:22 PDT 2019'},
|
||
|
{'additional_num': '1',
|
||
|
'answer': [{'class': 'IN',
|
||
|
'data': '216.58.194.100',
|
||
|
'name': 'www.google.com.',
|
||
|
'ttl': '5',
|
||
|
'type': 'A'}],
|
||
|
'answer_num': '1',
|
||
|
'authority_num': '0',
|
||
|
'flags': 'qr rd ra',
|
||
|
'id': '34074',
|
||
|
'opcode': 'QUERY',
|
||
|
'query_num': '1',
|
||
|
'query_time': '25 msec',
|
||
|
'question': {'class': 'IN', 'name': 'www.google.com.', 'type': 'A'},
|
||
|
'rcvd': '59',
|
||
|
'server': '192.168.71.2#53(192.168.71.2)',
|
||
|
'status': 'NOERROR',
|
||
|
'when': 'Wed Oct 30 05:13:22 PDT 2019'}])
|
||
|
|
||
|
def test_dig_ubuntu_18_4(self):
|
||
|
"""
|
||
|
Test 'dig' on Ubuntu 18.4
|
||
|
"""
|
||
|
self.assertEqual(jc.parsers.dig.parse(self.ubuntu_18_4_dig), [{'additional_num': '1',
|
||
|
'answer': [{'class': 'IN',
|
||
|
'data': 'turner-tls.map.fastly.net.',
|
||
|
'name': 'www.cnn.com.',
|
||
|
'ttl': '5',
|
||
|
'type': 'CNAME'},
|
||
|
{'class': 'IN',
|
||
|
'data': '151.101.65.67',
|
||
|
'name': 'turner-tls.map.fastly.net.',
|
||
|
'ttl': '4',
|
||
|
'type': 'A'},
|
||
|
{'class': 'IN',
|
||
|
'data': '151.101.1.67',
|
||
|
'name': 'turner-tls.map.fastly.net.',
|
||
|
'ttl': '4',
|
||
|
'type': 'A'},
|
||
|
{'class': 'IN',
|
||
|
'data': '151.101.193.67',
|
||
|
'name': 'turner-tls.map.fastly.net.',
|
||
|
'ttl': '4',
|
||
|
'type': 'A'},
|
||
|
{'class': 'IN',
|
||
|
'data': '151.101.129.67',
|
||
|
'name': 'turner-tls.map.fastly.net.',
|
||
|
'ttl': '4',
|
||
|
'type': 'A'}],
|
||
|
'answer_num': '5',
|
||
|
'authority_num': '0',
|
||
|
'flags': 'qr rd ra',
|
||
|
'id': '52284',
|
||
|
'opcode': 'QUERY',
|
||
|
'query_num': '1',
|
||
|
'query_time': '31 msec',
|
||
|
'question': {'class': 'IN', 'name': 'www.cnn.com.', 'type': 'A'},
|
||
|
'rcvd': '143',
|
||
|
'server': '127.0.0.53#53(127.0.0.53)',
|
||
|
'status': 'NOERROR',
|
||
|
'when': 'Thu Oct 31 14:21:04 UTC 2019'},
|
||
|
{'additional_num': '1',
|
||
|
'answer': [{'class': 'IN',
|
||
|
'data': '172.217.1.228',
|
||
|
'name': 'www.google.com.',
|
||
|
'ttl': '5',
|
||
|
'type': 'A'}],
|
||
|
'answer_num': '1',
|
||
|
'authority_num': '0',
|
||
|
'flags': 'qr rd ra',
|
||
|
'id': '47686',
|
||
|
'opcode': 'QUERY',
|
||
|
'query_num': '1',
|
||
|
'query_time': '32 msec',
|
||
|
'question': {'class': 'IN', 'name': 'www.google.com.', 'type': 'A'},
|
||
|
'rcvd': '59',
|
||
|
'server': '127.0.0.53#53(127.0.0.53)',
|
||
|
'status': 'NOERROR',
|
||
|
'when': 'Thu Oct 31 14:21:04 UTC 2019'}])
|
||
|
|
||
|
def test_dig_x_centos_7_7(self):
|
||
|
"""
|
||
|
Test 'dig -x' on Centos 7.7
|
||
|
"""
|
||
|
self.assertEqual(jc.parsers.dig.parse(self.centos_7_7_dig_x), [{'additional_num': '1',
|
||
|
'answer': [{'class': 'IN',
|
||
|
'data': 'one.one.one.one.',
|
||
|
'name': '1.1.1.1.in-addr.arpa.',
|
||
|
'ttl': '5',
|
||
|
'type': 'PTR'}],
|
||
|
'answer_num': '1',
|
||
|
'authority_num': '0',
|
||
|
'flags': 'qr rd ra',
|
||
|
'id': '36298',
|
||
|
'opcode': 'QUERY',
|
||
|
'query_num': '1',
|
||
|
'query_time': '32 msec',
|
||
|
'question': {'class': 'IN', 'name': '1.1.1.1.in-addr.arpa.', 'type': 'PTR'},
|
||
|
'rcvd': '78',
|
||
|
'server': '192.168.71.2#53(192.168.71.2)',
|
||
|
'status': 'NOERROR',
|
||
|
'when': 'Wed Oct 30 05:13:36 PDT 2019'}])
|
||
|
|
||
|
def test_dig_x_ubuntu_18_4(self):
|
||
|
"""
|
||
|
Test 'dig -x' on Ubuntu 18.4
|
||
|
"""
|
||
|
self.assertEqual(jc.parsers.dig.parse(self.ubuntu_18_4_dig_x), [{'additional_num': '1',
|
||
|
'answer': [{'class': 'IN',
|
||
|
'data': 'one.one.one.one.',
|
||
|
'name': '1.1.1.1.in-addr.arpa.',
|
||
|
'ttl': '5',
|
||
|
'type': 'PTR'}],
|
||
|
'answer_num': '1',
|
||
|
'authority_num': '0',
|
||
|
'flags': 'qr rd ra',
|
||
|
'id': '28514',
|
||
|
'opcode': 'QUERY',
|
||
|
'query_num': '1',
|
||
|
'query_time': '37 msec',
|
||
|
'question': {'class': 'IN', 'name': '1.1.1.1.in-addr.arpa.', 'type': 'PTR'},
|
||
|
'rcvd': '78',
|
||
|
'server': '127.0.0.53#53(127.0.0.53)',
|
||
|
'status': 'NOERROR',
|
||
|
'when': 'Thu Oct 31 14:21:05 UTC 2019'}])
|
||
|
|
||
|
def test_dig_aaaa_centos_7_7(self):
|
||
|
"""
|
||
|
Test 'dig AAAA' on Centos 7.7
|
||
|
"""
|
||
|
self.assertEqual(jc.parsers.dig.parse(self.centos_7_7_dig_aaaa), [{'additional_num': '1',
|
||
|
'answer': [{'class': 'IN',
|
||
|
'data': '2607:f8b0:4000:808::2004',
|
||
|
'name': 'www.google.com.',
|
||
|
'ttl': '5',
|
||
|
'type': 'AAAA'}],
|
||
|
'answer_num': '1',
|
||
|
'authority_num': '0',
|
||
|
'flags': 'qr rd ra',
|
||
|
'id': '25779',
|
||
|
'opcode': 'QUERY',
|
||
|
'query_num': '1',
|
||
|
'query_time': '28 msec',
|
||
|
'question': {'class': 'IN', 'name': 'www.google.com.', 'type': 'AAAA'},
|
||
|
'rcvd': '71',
|
||
|
'server': '192.168.71.2#53(192.168.71.2)',
|
||
|
'status': 'NOERROR',
|
||
|
'when': 'Wed Oct 30 05:12:53 PDT 2019'}])
|
||
|
|
||
|
def test_dig_aaaa_ubuntu_18_4(self):
|
||
|
"""
|
||
|
Test 'dig AAAA' on Ubuntu 18.4
|
||
|
"""
|
||
|
self.assertEqual(jc.parsers.dig.parse(self.ubuntu_18_4_dig_aaaa), [{'additional_num': '1',
|
||
|
'answer': [{'class': 'IN',
|
||
|
'data': '2607:f8b0:4000:812::2004',
|
||
|
'name': 'www.google.com.',
|
||
|
'ttl': '5',
|
||
|
'type': 'AAAA'}],
|
||
|
'answer_num': '1',
|
||
|
'authority_num': '0',
|
||
|
'flags': 'qr rd ra',
|
||
|
'id': '45806',
|
||
|
'opcode': 'QUERY',
|
||
|
'query_num': '1',
|
||
|
'query_time': '39 msec',
|
||
|
'question': {'class': 'IN', 'name': 'www.google.com.', 'type': 'AAAA'},
|
||
|
'rcvd': '71',
|
||
|
'server': '127.0.0.53#53(127.0.0.53)',
|
||
|
'status': 'NOERROR',
|
||
|
'when': 'Thu Oct 31 14:21:04 UTC 2019'}])
|
||
|
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
unittest.main()
|