diff --git a/keystoneauth1/session.py b/keystoneauth1/session.py index db01a4de..e4133eda 100644 --- a/keystoneauth1/session.py +++ b/keystoneauth1/session.py @@ -155,6 +155,9 @@ def _determine_user_agent(): # sys.argv is empty, usually the Python interpreter prevents this. return None + if not name: + return None + name = os.path.basename(name) if name in ignored: name = _determine_calling_package() diff --git a/keystoneauth1/tests/unit/test_session.py b/keystoneauth1/tests/unit/test_session.py index ccef46fa..39c87d35 100644 --- a/keystoneauth1/tests/unit/test_session.py +++ b/keystoneauth1/tests/unit/test_session.py @@ -146,9 +146,11 @@ class SessionTests(utils.TestCase): # If sys.argv[0] is an empty string, then doesn't fail. with mock.patch.object(sys, 'argv', ['']): session = client_session.Session() - # NOTE(blk-u): This isn't working right, see bug 1611426 - self.assertRaises(exceptions.UnknownConnectionError, session.get, - self.TEST_URL) + resp = session.get(self.TEST_URL) + self.assertTrue(resp.ok) + self.assertRequestHeaderEqual( + 'User-Agent', + client_session.DEFAULT_USER_AGENT) def test_http_session_opts(self): session = client_session.Session(cert='cert.pem', timeout=5,