Merge "/common/utils.py py34 incompatibility" into stable/liberty

This commit is contained in:
Jenkins
2015-10-02 20:01:52 +00:00
committed by Gerrit Code Review
2 changed files with 12 additions and 1 deletions

View File

@@ -312,7 +312,8 @@ def get_random_string(length):
rndstr = ""
random.seed(datetime.datetime.now().microsecond)
while len(rndstr) < length:
rndstr += hashlib.sha224(str(random.random())).hexdigest()
base_str = str(random.random()).encode('utf-8')
rndstr += hashlib.sha224(base_str).hexdigest()
return rndstr[0:length]

View File

@@ -13,6 +13,7 @@
# under the License.
import errno
import re
import eventlet
import mock
@@ -706,3 +707,12 @@ class TestRoundVal(base.BaseTestCase):
(1, 1.49),
(2, 1.5)):
self.assertEqual(expected, utils.round_val(value))
class TestGetRandomString(base.BaseTestCase):
def test_get_random_string(self):
length = 127
random_string = utils.get_random_string(length)
self.assertEqual(length, len(random_string))
regex = re.compile('^[0-9a-fA-F]+$')
self.assertIsNotNone(regex.match(random_string))