Merge "check for None value in utils.safe_header"

This commit is contained in:
Jenkins
2015-09-08 08:23:47 +00:00
committed by Gerrit Code Review
2 changed files with 16 additions and 1 deletions

View File

@@ -450,7 +450,7 @@ def memoized_property(fn):
def safe_header(name, value):
if name in SENSITIVE_HEADERS:
if value is not None and name in SENSITIVE_HEADERS:
v = value.encode('utf-8')
h = hashlib.sha1(v)
d = h.hexdigest()

View File

@@ -177,3 +177,18 @@ class TestUtils(testtools.TestCase):
i = utils.IterableWithLength(data, 10)
self.assertRaises(IOError, _iterate, i)
data.close.assert_called_with()
def test_safe_header(self):
self.assertEqual(('somekey', 'somevalue'),
utils.safe_header('somekey', 'somevalue'))
self.assertEqual(('somekey', None),
utils.safe_header('somekey', None))
for sensitive_header in utils.SENSITIVE_HEADERS:
(name, value) = utils.safe_header(sensitive_header, 'somestring')
self.assertEqual(sensitive_header, name)
self.assertTrue(value.startswith("{SHA1}"))
(name, value) = utils.safe_header(sensitive_header, None)
self.assertEqual(sensitive_header, name)
self.assertIsNone(value)