From ee863cdd6b9e380ec69b5a134fbe8cb3c94a7554 Mon Sep 17 00:00:00 2001 From: Julien WITTOUCK Date: Thu, 24 Aug 2023 16:19:55 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20:=20add=20project=20path=20when?= =?UTF-8?q?=20forking?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/univ_lille/gitlab/classrooms/gitlab/GitlabImpl.java | 3 ++- .../univ_lille/gitlab/classrooms/gitlab/GitlabImplTest.java | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/java/fr/univ_lille/gitlab/classrooms/gitlab/GitlabImpl.java b/src/main/java/fr/univ_lille/gitlab/classrooms/gitlab/GitlabImpl.java index 31cc9ec..24057e3 100644 --- a/src/main/java/fr/univ_lille/gitlab/classrooms/gitlab/GitlabImpl.java +++ b/src/main/java/fr/univ_lille/gitlab/classrooms/gitlab/GitlabImpl.java @@ -90,11 +90,12 @@ class GitlabImpl implements Gitlab { // get gitlab group info var group = teacherGitlabApi.getGroupApi().getGroup(exerciseAssignment.getGitlabGroupId()); + var path = projectName.replaceAll("[^\\w\\-.]", "_"); // fork the template project project = teacherGitlabApi.getProjectApi().forkProject( exerciseAssignment.getGitlabRepositoryTemplateId(), group.getFullPath(), - null, + path, projectName); // remove the fork link teacherGitlabApi.getProjectApi().deleteForkedFromRelationship(project.getId()); diff --git a/src/test/java/fr/univ_lille/gitlab/classrooms/gitlab/GitlabImplTest.java b/src/test/java/fr/univ_lille/gitlab/classrooms/gitlab/GitlabImplTest.java index bdccb47..3d4452b 100644 --- a/src/test/java/fr/univ_lille/gitlab/classrooms/gitlab/GitlabImplTest.java +++ b/src/test/java/fr/univ_lille/gitlab/classrooms/gitlab/GitlabImplTest.java @@ -170,11 +170,11 @@ class GitlabImplTest { var projectMock = new Project(); projectMock.setId(125L); - when(gitLabApi.getProjectApi().forkProject("12", null, null, "Exercice 2 - Template-luke.skywalker")).thenReturn(projectMock); + when(gitLabApi.getProjectApi().forkProject("12", null, "Exercice_2_-_Template-luke.skywalker", "Exercice 2 - Template-luke.skywalker")).thenReturn(projectMock); gitlab.createProject(assignment, student); - verify(gitLabApi.getProjectApi()).forkProject("12", null, null, "Exercice 2 - Template-luke.skywalker"); + verify(gitLabApi.getProjectApi()).forkProject("12", null, "Exercice_2_-_Template-luke.skywalker", "Exercice 2 - Template-luke.skywalker"); verify(gitLabApi.getProjectApi()).deleteForkedFromRelationship(125L); verify(gitLabApi.getProjectApi()).addMember(125L, 8L, AccessLevel.MAINTAINER); -- 2.51.2