1
0
mirror of https://github.com/kellyjonbrazil/jc.git synced 2025-06-17 00:07:37 +02:00
Files
jc/tests/test_dig.py
Kelly Brazil 3365c03a1e add tests
2019-10-31 07:58:44 -07:00

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()