86 lines
3.4 KiB
Python
86 lines
3.4 KiB
Python
# -*- coding: utf-8 -*-
|
|
"""
|
|
@File : domain_util_test.py
|
|
@Date : 2022-10-22
|
|
@Author : Peng Shiyu
|
|
"""
|
|
from __future__ import print_function, unicode_literals, absolute_import, division
|
|
import os
|
|
import unittest
|
|
|
|
from domain_admin.utils import domain_util
|
|
|
|
|
|
class DomainUtilTest(unittest.TestCase):
|
|
def test_parse_domain(self):
|
|
ret = domain_util.parse_domain('*.bnet.163.com')
|
|
print(ret)
|
|
|
|
def test_parse_domain_from_file(self):
|
|
filename = '../domain.txt'
|
|
|
|
if os.path.exists(filename):
|
|
lst = domain_util.parse_domain_from_file(filename)
|
|
for line in lst:
|
|
print(line)
|
|
|
|
def test_extract_domain(self):
|
|
filename = '../domain.txt'
|
|
|
|
if os.path.exists(filename):
|
|
lst = domain_util.parse_domain_from_file(filename)
|
|
for line in lst:
|
|
print(domain_util.extract_domain(line))
|
|
|
|
def test_parse_domain_from_txt_file(self):
|
|
"""
|
|
测试域名解析函数
|
|
:return:
|
|
"""
|
|
domain_filename = '../domain.txt'
|
|
domain_expect_filename = '../domain-expect.txt'
|
|
|
|
expect_domains = None
|
|
with open(domain_expect_filename, 'r') as f:
|
|
expect_domains = [row.strip() for row in f.readlines()]
|
|
|
|
if os.path.exists(domain_filename):
|
|
lst = domain_util.parse_domain_from_txt_file(domain_filename)
|
|
for index, row in enumerate(lst):
|
|
assert row['domain'] == expect_domains[index]
|
|
|
|
def test_is_ipv4(self):
|
|
assert domain_util.is_ipv4('38.60.47.102') == True
|
|
assert domain_util.is_ipv4('www.baidu.com') == False
|
|
|
|
def test_get_root_domain(self):
|
|
# print(domain_util.get_root_domain('38.60.47.102'))
|
|
# print(domain_util.get_root_domain('www.baidu.com'))
|
|
# print(domain_util.get_root_domain('www.baidu.com.cn'))
|
|
print(domain_util.get_root_domain('xxx.com.de'))
|
|
print(domain_util.get_root_domain('xxx.co.nl'))
|
|
print(domain_util.get_root_domain('xxx.com.ru'))
|
|
# assert domain_util.get_root_domain('www.baidu.com') == True
|
|
|
|
def test_encode_hostname(self):
|
|
assert domain_util.encode_hostname('www.baidu.com') == 'www.baidu.com'
|
|
|
|
assert domain_util.encode_hostname('baidu.中国') == 'baidu.xn--fiqs8s'
|
|
|
|
assert domain_util.encode_hostname('百度.中国') == 'xn--wxtr44c.xn--fiqs8s'
|
|
|
|
def test_verify_cert_common_name(self):
|
|
assert domain_util.verify_cert_common_name('chinafruitime.com', 'chinafruitime.com') is True
|
|
assert domain_util.verify_cert_common_name('*.chinafruitime.com', 'chinafruitime.com') is True
|
|
assert domain_util.verify_cert_common_name('*.chinafruitime.com', 'www.chinafruitime.com') is True
|
|
assert domain_util.verify_cert_common_name('*.chinafruitime.com', 'blog.www.chinafruitime.com') is False
|
|
assert domain_util.verify_cert_common_name('xxx.com', 'yyy.com') is False
|
|
|
|
def test_get_domain_parent(self):
|
|
assert domain_util.get_domain_parent('www.chinafruitime.com') == 'chinafruitime.com'
|
|
assert domain_util.get_domain_parent('blog.www.chinafruitime.com') == 'www.chinafruitime.com'
|
|
assert domain_util.get_domain_parent('ok.www.chinafruitime.com') == 'www.chinafruitime.com'
|
|
assert domain_util.get_domain_parent('*.www.chinafruitime.com') == 'www.chinafruitime.com'
|
|
assert domain_util.get_domain_parent('www') == ''
|
|
assert domain_util.get_domain_parent('') == ''
|