Allow namespaces to be between 2 and 255 characters in length
[Delivers #137924329]
This commit is contained in:
parent
e2748fccd9
commit
7c7a07fb5a
8 changed files with 43 additions and 39 deletions
|
@ -20,6 +20,8 @@ class TestUsernameValidation(unittest.TestCase):
|
|||
self.assertFalse(result)
|
||||
|
||||
def test_valid(self):
|
||||
self.assertValid('ja')
|
||||
self.assertValid('jak')
|
||||
self.assertValid('jake')
|
||||
self.assertValid('ja_ke')
|
||||
self.assertValid('te-st')
|
||||
|
@ -27,14 +29,13 @@ class TestUsernameValidation(unittest.TestCase):
|
|||
|
||||
def test_properlength(self):
|
||||
self.assertValid('z' * 30)
|
||||
self.assertValid('z' * 255)
|
||||
|
||||
def test_tooshort(self):
|
||||
self.assertInvalid('j')
|
||||
self.assertInvalid('ja')
|
||||
self.assertInvalid('jk')
|
||||
|
||||
def test_toolong(self):
|
||||
self.assertInvalid('z' * 31)
|
||||
self.assertInvalid('z' * 256)
|
||||
|
||||
def test_invalids(self):
|
||||
self.assertInvalid('_test')
|
||||
|
@ -158,20 +159,21 @@ class TestUsernameGenerator(unittest.TestCase):
|
|||
self.assert_generated_output('ja___ke', 'ja_ke')
|
||||
|
||||
def test_trailing_underscores(self):
|
||||
self.assert_generated_output('ja__', 'ja00')
|
||||
self.assert_generated_output('ja__', 'ja')
|
||||
self.assert_generated_output('jake__', 'jake')
|
||||
|
||||
def test_starting_underscore(self):
|
||||
self.assert_generated_output('_jake', 'jake')
|
||||
|
||||
def test_short_names(self):
|
||||
self.assert_generated_output('a', 'a000')
|
||||
self.assert_generated_output('ab', 'ab00')
|
||||
self.assert_generated_output('abc', 'abc0')
|
||||
self.assert_generated_output('a', 'a0')
|
||||
self.assert_generated_output('ab', 'ab')
|
||||
self.assert_generated_output('abc', 'abc')
|
||||
|
||||
def test_long_names(self):
|
||||
self.assert_generated_output('abcdefghijklmnopqrstuvwxyz1234567890',
|
||||
'abcdefghijklmnopqrstuvwxyz1234')
|
||||
'abcdefghijklmnopqrstuvwxyz1234567890')
|
||||
self.assert_generated_output('c' * 256, 'c' * 255)
|
||||
|
||||
def test_unicode_transliteration(self):
|
||||
self.assert_generated_output(u'\xc6neid', 'aeneid')
|
||||
|
@ -184,18 +186,18 @@ class TestUsernameGenerator(unittest.TestCase):
|
|||
self.assert_generated_output(u'\u0985\u09ad\u09bf\u099c\u09c0\u09a4', 'abhijiit')
|
||||
self.assert_generated_output(u'\u0d05\u0d2d\u0d3f\u0d1c\u0d40\u0d24', 'abhijiit')
|
||||
self.assert_generated_output(u'\u0d2e\u0d32\u0d2f\u0d3e\u0d32\u0d2e\u0d4d', 'mlyaalm')
|
||||
self.assert_generated_output(u'\ue000', '0000')
|
||||
self.assert_generated_output(u'\u03ff', '0000')
|
||||
self.assert_generated_output(u'\ue000', '00')
|
||||
self.assert_generated_output(u'\u03ff', '00')
|
||||
|
||||
self.assert_generated_output(u'\u0d2e\u0d32\u03ff\u03ff\u0d2e\u0d32', 'mlml')
|
||||
|
||||
def test_multiple_suggestions(self):
|
||||
name_gen = generate_valid_usernames('a')
|
||||
generated_output = list(islice(name_gen, 4))
|
||||
self.assertEquals('a000', generated_output[0])
|
||||
self.assertEquals('a001', generated_output[1])
|
||||
self.assertEquals('a002', generated_output[2])
|
||||
self.assertEquals('a003', generated_output[3])
|
||||
self.assertEquals('a0', generated_output[0])
|
||||
self.assertEquals('a1', generated_output[1])
|
||||
self.assertEquals('a2', generated_output[2])
|
||||
self.assertEquals('a3', generated_output[3])
|
||||
|
||||
|
||||
class TestDockerVersionParsing(unittest.TestCase):
|
||||
|
|
Reference in a new issue