do not try encode None, always return a string from get_primary_interface (#287)

This commit is contained in:
Hans Krijger
2016-07-01 09:00:38 -07:00
committed by GitHub
parent 9f88b554c8
commit 74ffd41bb1
2 changed files with 15 additions and 0 deletions
+4
View File
@@ -500,6 +500,10 @@ class DefaultOSUtil(object):
if primary is None or metric < primary_metric:
primary = iface
primary_metric = metric
if primary is None:
primary = ''
logger.info('primary interface is [{0}]'.format(primary))
return primary
+11
View File
@@ -106,6 +106,17 @@ class TestOSUtil(AgentTestCase):
self.assertFalse(osutil.DefaultOSUtil().is_primary_interface('nflg'))
self.assertFalse(osutil.DefaultOSUtil().is_primary_interface('invalid'))
def test_no_primary_does_not_throw(self):
with patch.object(osutil.DefaultOSUtil, 'get_primary_interface') \
as patch_primary:
exception = False
patch_primary.return_value = ''
try:
osutil.DefaultOSUtil().get_first_if()[0]
except Exception as e:
exception = True
self.assertFalse(exception)
def test_dhcp_lease_default(self):
self.assertTrue(osutil.DefaultOSUtil().get_dhcp_lease_endpoint() is None)