diff --git a/tests/unit/test_github_driver.py b/tests/unit/test_github_driver.py
index ebb5e1c..6ab1a26 100644
--- a/tests/unit/test_github_driver.py
+++ b/tests/unit/test_github_driver.py
@@ -243,19 +243,28 @@
     @simple_layout('layouts/basic-github.yaml', driver='github')
     def test_git_https_url(self):
         """Test that git_ssh option gives git url with ssh"""
-        url = self.fake_github.real_getGitUrl('org/project')
+        tenant = self.sched.abide.tenants.get('tenant-one')
+        _, project = tenant.getProject('org/project')
+
+        url = self.fake_github.real_getGitUrl(project)
         self.assertEqual('https://github.com/org/project', url)
 
     @simple_layout('layouts/basic-github.yaml', driver='github')
     def test_git_ssh_url(self):
         """Test that git_ssh option gives git url with ssh"""
-        url = self.fake_github_ssh.real_getGitUrl('org/project')
+        tenant = self.sched.abide.tenants.get('tenant-one')
+        _, project = tenant.getProject('org/project')
+
+        url = self.fake_github_ssh.real_getGitUrl(project)
         self.assertEqual('ssh://git@github.com/org/project.git', url)
 
     @simple_layout('layouts/basic-github.yaml', driver='github')
     def test_git_enterprise_url(self):
         """Test that git_url option gives git url with proper host"""
-        url = self.fake_github_ent.real_getGitUrl('org/project')
+        tenant = self.sched.abide.tenants.get('tenant-one')
+        _, project = tenant.getProject('org/project')
+
+        url = self.fake_github_ent.real_getGitUrl(project)
         self.assertEqual('ssh://git@github.enterprise.io/org/project.git', url)
 
     @simple_layout('layouts/reporting-github.yaml', driver='github')
