mirror of https://github.com/huashengdun/webssh
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
127 lines
4.7 KiB
127 lines
4.7 KiB
import unittest |
|
|
|
from webssh.utils import ( |
|
is_valid_ip_address, is_valid_port, is_valid_hostname, to_str, to_bytes, |
|
to_int, is_ip_hostname, is_same_primary_domain, parse_origin_from_url |
|
) |
|
|
|
|
|
class TestUitls(unittest.TestCase): |
|
|
|
def test_to_str(self): |
|
b = b'hello' |
|
u = u'hello' |
|
self.assertEqual(to_str(b), u) |
|
self.assertEqual(to_str(u), u) |
|
|
|
def test_to_bytes(self): |
|
b = b'hello' |
|
u = u'hello' |
|
self.assertEqual(to_bytes(b), b) |
|
self.assertEqual(to_bytes(u), b) |
|
|
|
def test_to_int(self): |
|
self.assertEqual(to_int(''), None) |
|
self.assertEqual(to_int(None), None) |
|
self.assertEqual(to_int('22'), 22) |
|
self.assertEqual(to_int(' 22 '), 22) |
|
|
|
def test_is_valid_ip_address(self): |
|
self.assertFalse(is_valid_ip_address('127.0.0')) |
|
self.assertFalse(is_valid_ip_address(b'127.0.0')) |
|
self.assertTrue(is_valid_ip_address('127.0.0.1')) |
|
self.assertTrue(is_valid_ip_address(b'127.0.0.1')) |
|
self.assertFalse(is_valid_ip_address('abc')) |
|
self.assertFalse(is_valid_ip_address(b'abc')) |
|
self.assertTrue(is_valid_ip_address('::1')) |
|
self.assertTrue(is_valid_ip_address(b'::1')) |
|
self.assertTrue(is_valid_ip_address('fe80::1111:2222:3333:4444')) |
|
self.assertTrue(is_valid_ip_address(b'fe80::1111:2222:3333:4444')) |
|
self.assertTrue(is_valid_ip_address('fe80::1111:2222:3333:4444%eth0')) |
|
self.assertTrue(is_valid_ip_address(b'fe80::1111:2222:3333:4444%eth0')) |
|
|
|
def test_is_valid_port(self): |
|
self.assertTrue(is_valid_port(80)) |
|
self.assertFalse(is_valid_port(0)) |
|
self.assertFalse(is_valid_port(65536)) |
|
|
|
def test_is_valid_hostname(self): |
|
self.assertTrue(is_valid_hostname('google.com')) |
|
self.assertTrue(is_valid_hostname('google.com.')) |
|
self.assertTrue(is_valid_hostname('www.google.com')) |
|
self.assertTrue(is_valid_hostname('www.google.com.')) |
|
self.assertFalse(is_valid_hostname('.www.google.com')) |
|
self.assertFalse(is_valid_hostname('http://www.google.com')) |
|
self.assertFalse(is_valid_hostname('https://www.google.com')) |
|
self.assertFalse(is_valid_hostname('127.0.0.1')) |
|
self.assertFalse(is_valid_hostname('::1')) |
|
|
|
def test_is_ip_hostname(self): |
|
self.assertTrue(is_ip_hostname('[::1]')) |
|
self.assertTrue(is_ip_hostname('127.0.0.1')) |
|
self.assertFalse(is_ip_hostname('localhost')) |
|
self.assertFalse(is_ip_hostname('www.google.com')) |
|
|
|
def test_is_same_primary_domain(self): |
|
domain1 = 'localhost' |
|
domain2 = 'localhost' |
|
self.assertTrue(is_same_primary_domain(domain1, domain2)) |
|
|
|
domain1 = 'localhost' |
|
domain2 = 'test' |
|
self.assertFalse(is_same_primary_domain(domain1, domain2)) |
|
|
|
domain1 = 'com' |
|
domain2 = 'example.com' |
|
self.assertFalse(is_same_primary_domain(domain1, domain2)) |
|
|
|
domain1 = 'example.com' |
|
domain2 = 'example.com' |
|
self.assertTrue(is_same_primary_domain(domain1, domain2)) |
|
|
|
domain1 = 'www.example.com' |
|
domain2 = 'example.com' |
|
self.assertTrue(is_same_primary_domain(domain1, domain2)) |
|
|
|
domain1 = 'wwwexample.com' |
|
domain2 = 'example.com' |
|
self.assertFalse(is_same_primary_domain(domain1, domain2)) |
|
|
|
domain1 = 'www.example.com' |
|
domain2 = 'www2.example.com' |
|
self.assertTrue(is_same_primary_domain(domain1, domain2)) |
|
|
|
domain1 = 'xxx.www.example.com' |
|
domain2 = 'xxx.www2.example.com' |
|
self.assertTrue(is_same_primary_domain(domain1, domain2)) |
|
|
|
def test_parse_origin_from_url(self): |
|
url = '' |
|
self.assertIsNone(parse_origin_from_url(url)) |
|
|
|
url = 'www.example.com' |
|
self.assertEqual(parse_origin_from_url(url), 'http://www.example.com') |
|
|
|
url = 'http://www.example.com' |
|
self.assertEqual(parse_origin_from_url(url), 'http://www.example.com') |
|
|
|
url = 'www.example.com:80' |
|
self.assertEqual(parse_origin_from_url(url), 'http://www.example.com') |
|
|
|
url = 'http://www.example.com:80' |
|
self.assertEqual(parse_origin_from_url(url), 'http://www.example.com') |
|
|
|
url = 'www.example.com:443' |
|
self.assertEqual(parse_origin_from_url(url), 'https://www.example.com') |
|
|
|
url = 'https://www.example.com' |
|
self.assertEqual(parse_origin_from_url(url), 'https://www.example.com') |
|
|
|
url = 'https://www.example.com:443' |
|
self.assertEqual(parse_origin_from_url(url), 'https://www.example.com') |
|
|
|
url = 'https://www.example.com:80' |
|
self.assertEqual(parse_origin_from_url(url), url) |
|
|
|
url = 'http://www.example.com:443' |
|
self.assertEqual(parse_origin_from_url(url), url)
|
|
|