Merge "Clean up 'no_proxy' unit tests"

This commit is contained in:
Jenkins
2016-01-22 00:09:07 +00:00
committed by Gerrit Code Review

View File

@@ -432,37 +432,47 @@ class GenericUtilsTestCase(base.TestCase):
mtime_mock.assert_called_once_with('foo') mtime_mock.assert_called_once_with('foo')
def test_is_valid_no_proxy(self): def test_is_valid_no_proxy(self):
proxy0 = 'a' * 63 + '.' + '0' * 63 + '.c.' + 'd' * 61 + '.' + 'e' * 61
proxy1 = 'A' * 63 + '.' + '0' * 63 + '.C.' + 'D' * 61 + '.' + 'E' * 61 # Valid values for 'no_proxy'
proxy2 = ('A' * 64 + '.' + '0' * 63 + '.C.' + 'D' * 61 + '.' + valid_no_proxy = [
'E' * 61) # too long (> 253) ('a' * 63 + '.' + '0' * 63 + '.c.' + 'd' * 61 + '.' + 'e' * 61),
proxy3 = 'a' * 100 ('A' * 63 + '.' + '0' * 63 + '.C.' + 'D' * 61 + '.' + 'E' * 61),
proxy4 = 'a..com' ('.' + 'a' * 62 + '.' + '0' * 62 + '.c.' + 'd' * 61 + '.' +
proxy5 = ('.' + 'a' * 62 + '.' + '0' * 62 + '.c.' + 'd' * 61 + '.' + 'e' * 61),
'e' * 61) ',,example.com:3128,',
proxy6 = ('.' + 'a' * 63 + '.' + '0' * 62 + '.c.' + 'd' * 61 + '.' + '192.168.1.1', # IP should be valid
'e' * 61) # too long (> 251 after deleting .) ]
proxy7 = ('*.' + 'a' * 60 + '.' + '0' * 60 + '.c.' + 'd' * 61 + '.' + # Test each one individually, so if failure easier to determine which
'e' * 61) # starts with *. # one failed.
proxy8 = 'c.-a.com' for no_proxy in valid_no_proxy:
proxy9 = 'c.a-.com' self.assertTrue(
proxy10 = ',,example.com:3128,' utils.is_valid_no_proxy(no_proxy),
proxy11 = '192.168.1.1' # IP should be valid msg="'no_proxy' value should be valid: {}".format(no_proxy))
proxy12 = '' # empty string should also be valid # Test valid when joined together
valid_with_whitespaces = ' , '.join( self.assertTrue(utils.is_valid_no_proxy(','.join(valid_no_proxy)))
[proxy0, proxy1, proxy5, proxy10, proxy11] # Test valid when joined together with whitespace
) self.assertTrue(utils.is_valid_no_proxy(' , '.join(valid_no_proxy)))
all_valid = ','.join([proxy0, proxy1, proxy5, proxy10, proxy11]) # empty string should also be valid
self.assertTrue(utils.is_valid_no_proxy(all_valid)) self.assertTrue(utils.is_valid_no_proxy(''))
self.assertTrue(utils.is_valid_no_proxy(valid_with_whitespaces))
self.assertTrue(utils.is_valid_no_proxy(proxy12)) # Invalid values for 'no_proxy'
self.assertFalse(utils.is_valid_no_proxy(proxy2)) invalid_no_proxy = [
self.assertFalse(utils.is_valid_no_proxy(proxy3)) ('A' * 64 + '.' + '0' * 63 + '.C.' + 'D' * 61 + '.' +
self.assertFalse(utils.is_valid_no_proxy(proxy4)) 'E' * 61), # too long (> 253)
self.assertFalse(utils.is_valid_no_proxy(proxy6)) ('a' * 100),
self.assertFalse(utils.is_valid_no_proxy(proxy7)) 'a..com',
self.assertFalse(utils.is_valid_no_proxy(proxy8)) ('.' + 'a' * 63 + '.' + '0' * 62 + '.c.' + 'd' * 61 + '.' +
self.assertFalse(utils.is_valid_no_proxy(proxy9)) 'e' * 61), # too long (> 251 after deleting .)
('*.' + 'a' * 60 + '.' + '0' * 60 + '.c.' + 'd' * 61 + '.' +
'e' * 61), # starts with *.
'c.-a.com',
'c.a-.com',
]
for no_proxy in invalid_no_proxy:
self.assertFalse(
utils.is_valid_no_proxy(no_proxy),
msg="'no_proxy' value should be invalid: {}".format(no_proxy))
class TempFilesTestCase(base.TestCase): class TempFilesTestCase(base.TestCase):