Extract project from GIT git-uplod-pack and git-receive-pack This commits fixes a bug where gerrit project was not extracted from git-upload-pack and git-receive-pack GIT commands. Change-Id: I43f93b870203d6b318be754ce3d9ba087c1decf0
diff --git a/auditlog/src/main/scala/com/gerritforge/analytics/auditlog/broadcast/GerritProjects.scala b/auditlog/src/main/scala/com/gerritforge/analytics/auditlog/broadcast/GerritProjects.scala index cbb72ac..6f428e2 100644 --- a/auditlog/src/main/scala/com/gerritforge/analytics/auditlog/broadcast/GerritProjects.scala +++ b/auditlog/src/main/scala/com/gerritforge/analytics/auditlog/broadcast/GerritProjects.scala
@@ -75,6 +75,7 @@ .map(URLDecoder.decode(_, "UTF-8")) case "GIT" => extractGroup(PROJECT_HTTP_PACK_INFO_REF, what) + .orElse(extractGroup(PROJECT_SSH_PACK, what)) .orElse(extractGroup(PROJECT_HTTP_PACK, what)) .flatMap(findProjectStringAtEnd(_, '/')) case unexpected =>
diff --git a/auditlog/src/test/scala/com/gerritforge/analytics/auditlog/broadcast/GerritProjectsSpec.scala b/auditlog/src/test/scala/com/gerritforge/analytics/auditlog/broadcast/GerritProjectsSpec.scala index 57598e4..aed1980 100644 --- a/auditlog/src/test/scala/com/gerritforge/analytics/auditlog/broadcast/GerritProjectsSpec.scala +++ b/auditlog/src/test/scala/com/gerritforge/analytics/auditlog/broadcast/GerritProjectsSpec.scala
@@ -199,6 +199,18 @@ existingProjects.extractProject(what, accessPath) should contain(project) } + it should "extract a project from an SSH upload pack command" in { + val project = "cbdr/Gjallarhorn" + val what = s"git-upload-pack./$project" + val accessPath = "GIT" + + val existingProjects = GerritProjects(Map( + project -> GerritProject(project) + )) + + existingProjects.extractProject(what, accessPath) should contain(project) + } + it should "extract the project from an info ref receive pack target" in { val project = "dushyantRathore/Jenkins_Test" val what = s"https://review.gerrithub.io/$project/info/refs?service=git-receive-pack"