diff --git a/pagure/default_config.py b/pagure/default_config.py index 6872db3..6585660 100644 --- a/pagure/default_config.py +++ b/pagure/default_config.py @@ -595,7 +595,7 @@ SSH_COMMAND_REPOSPANNER = ( "project_namespace", "%(project_namespace)s", "%(cmd)s", - "'%(reponame)s'", + "'%(repospanner_reponame)s'", ], {"REPOBRIDGE_CONFIG": "/etc/repospanner/bridge_%(region)s.json"}, ) diff --git a/pagure/internal/__init__.py b/pagure/internal/__init__.py index 9d02860..3e892fe 100644 --- a/pagure/internal/__init__.py +++ b/pagure/internal/__init__.py @@ -156,6 +156,9 @@ def check_ssh_access(): { "access": True, "reponame": gitdir, + "repospanner_reponame": project._repospanner_repo_name(repotype) + if project.is_on_repospanner + else None, "repopath": path, "repotype": repotype, "region": project.repospanner_region, diff --git a/tests/test_pagure_flask_internal.py b/tests/test_pagure_flask_internal.py index 6f1279b..753444b 100644 --- a/tests/test_pagure_flask_internal.py +++ b/tests/test_pagure_flask_internal.py @@ -3002,9 +3002,15 @@ class PagureFlaskInternaltests(tests.Modeltests): self.assertEqual(result['username'], 'deploykey_test_2') self.assertEqual(result['public_key'], project_key) + @patch.dict('pagure.config.config', + {'REPOSPANNER_REGIONS': {'region': {'repo_prefix': 'prefix'}}}) def test_check_ssh_access(self): """ Test the SSH access check endpoint. """ tests.create_projects(self.session) + self.session.query(pagure.lib.model.Project).\ + filter(pagure.lib.model.Project.name == 'test2').\ + update({pagure.lib.model.Project.repospanner_region: 'region'}) + self.session.commit() url = '/pv/ssh/checkaccess/' def runtest(project, username, access): @@ -3024,9 +3030,11 @@ class PagureFlaskInternaltests(tests.Modeltests): i1 = runtest('test.git', 'pingou', True) i2 = runtest('test.git', 'foo', True) i3 = runtest('tickets/test.git', 'pingou', True) + i4 = runtest('test2.git', 'pingou', True) runtest('tickets/test.git', 'foo', False) self.assertEqual(i1['reponame'], 'test.git') + self.assertEqual(i1['repospanner_reponame'], None) self.assertEqual(i1['repotype'], 'main') self.assertEqual(i1['region'], None) self.assertEqual(i1['project_name'], 'test') @@ -3034,11 +3042,14 @@ class PagureFlaskInternaltests(tests.Modeltests): self.assertEqual(i1['project_namespace'], None) self.assertEqual(i1, i2) self.assertEqual(i3['reponame'], 'tickets/test.git') + self.assertEqual(i3['repospanner_reponame'], None) self.assertEqual(i3['repotype'], 'tickets') self.assertEqual(i3['region'], None) self.assertEqual(i3['project_name'], 'test') self.assertEqual(i3['project_user'], None) self.assertEqual(i3['project_namespace'], None) + self.assertEqual(i4['repospanner_reponame'], 'prefix/main/test2') + self.assertEqual(i4['region'], 'region') if __name__ == '__main__':