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);