From c67d5247cbc79a021a99880be7089781161061c8 Mon Sep 17 00:00:00 2001 From: rkrisztian <2960445+rkrisztian@users.noreply.github.com> Date: Wed, 23 Apr 2025 14:07:24 +0200 Subject: [PATCH] Support for new PermissionsType: REPO_CREATE Fixes #460 --- .../rest/domain/project/ProjectPermissions.java | 1 + .../bitbucket/rest/features/ProjectApiMockTest.java | 12 +++++++++--- src/test/resources/project-permission-group.json | 8 +++++++- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/cdancy/bitbucket/rest/domain/project/ProjectPermissions.java b/src/main/java/com/cdancy/bitbucket/rest/domain/project/ProjectPermissions.java index 4e22bd585..77d9edf4f 100644 --- a/src/main/java/com/cdancy/bitbucket/rest/domain/project/ProjectPermissions.java +++ b/src/main/java/com/cdancy/bitbucket/rest/domain/project/ProjectPermissions.java @@ -28,6 +28,7 @@ public abstract class ProjectPermissions { public enum PermissionsType { PROJECT_ADMIN, + REPO_CREATE, PROJECT_WRITE, PROJECT_READ } diff --git a/src/test/java/com/cdancy/bitbucket/rest/features/ProjectApiMockTest.java b/src/test/java/com/cdancy/bitbucket/rest/features/ProjectApiMockTest.java index 19dc72082..986c493b1 100644 --- a/src/test/java/com/cdancy/bitbucket/rest/features/ProjectApiMockTest.java +++ b/src/test/java/com/cdancy/bitbucket/rest/features/ProjectApiMockTest.java @@ -18,9 +18,12 @@ package com.cdancy.bitbucket.rest.features; import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertWith; import java.util.Map; +import com.cdancy.bitbucket.rest.domain.project.ProjectPermissions; +import com.cdancy.bitbucket.rest.domain.project.ProjectPermissions.PermissionsType; import com.cdancy.bitbucket.rest.domain.project.ProjectPermissionsPage; import org.testng.annotations.Test; @@ -334,9 +337,12 @@ public void testListPermissionByGroup() throws Exception { final ProjectPermissionsPage projectPermissionsPage = api.listPermissionsByGroup(projectKey, 0, 100); assertThat(projectPermissionsPage).isNotNull(); assertThat(projectPermissionsPage.errors()).isEmpty(); - assertThat(projectPermissionsPage.size() == 1).isTrue(); - assertThat(projectPermissionsPage.values().get(0).user() == null).isTrue(); - assertThat(projectPermissionsPage.values().get(0).group().name().equals("test12345")).isTrue(); + assertWith(projectPermissionsPage.values(), projectPermissions -> { + assertThat(projectPermissions).hasSize(2); + assertThat(projectPermissions.get(0).user()).isNull(); + assertThat(projectPermissions.get(0).group().name()).isEqualTo("test12345"); + assertThat(projectPermissions.get(1).permission()).isEqualTo(PermissionsType.REPO_CREATE); + }); final Map queryParams = ImmutableMap.of(limitKeyword, 100, startKeyword, 0); assertSent(server, getMethod, restApiPath + BitbucketApiMetadata.API_VERSION diff --git a/src/test/resources/project-permission-group.json b/src/test/resources/project-permission-group.json index 80110fdc5..1a866e1a3 100644 --- a/src/test/resources/project-permission-group.json +++ b/src/test/resources/project-permission-group.json @@ -1,7 +1,7 @@ { "isLastPage": true, "limit": 25, - "size": 1, + "size": 2, "start": 0, "values": [ { @@ -9,6 +9,12 @@ "name": "test12345" }, "permission": "PROJECT_WRITE" + }, + { + "group": { + "name": "repoCreateTest" + }, + "permission": "REPO_CREATE" } ] }