diff --git a/src/main.py b/src/main.py
index 44b82f28899bb445573bac1d65e038b559aa24a6..7c302bba7f7b695e8e448a4ed24e58dafdff0ab1 100644
--- a/src/main.py
+++ b/src/main.py
@@ -5,10 +5,7 @@ import sys
 
 def parse_credentials(url):
     result = urlparse(url)
-    if result.username is None:
-        username = getpass.getuser()
-    else:
-        username = result.username
+    username = result.username or getpass.getuser()
     if result.port is None:
         hostname = result.hostname
     else:
diff --git a/tests/test_keyring.py b/tests/test_keyring.py
index bd3844e2f1346a00976b1e438153375d007c9622..5b5cc2f625286471c2f0aa00cbef16f6765dcb53 100644
--- a/tests/test_keyring.py
+++ b/tests/test_keyring.py
@@ -3,16 +3,17 @@ from pytest import fixture, mark
 from main import parse_credentials
 import sys, os
 
+@fixture(scope='session')
+def whoami():
+    if sys.platform == 'darwin':
+        return os.getenv('USER')
+    else:
+        return os.getlogin()
+
 
 @fixture
-def ex_whoami(ex_user):
-    if ex_user is None:
-        if sys.platform == 'darwin':
-            return os.getenv('USER')
-        else:
-            return os.getlogin()
-    else:
-        return ex_user
+def ex_whoami(ex_user, whoami):
+    return ex_user or whoami
 
 
 @fixture