mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-09 15:05:44 +01:00
Merged in feature/consolidate_permissions (pull request #196)
Feature consolidate permissions
This commit is contained in:
@@ -8,6 +8,7 @@ import sonia.scm.util.ClassLoaders;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.junit.jupiter.api.Assertions.fail;
|
||||
@@ -27,6 +28,7 @@ class RepositoryPermissionProviderTest {
|
||||
repositoryPermissionProvider = new RepositoryPermissionProvider(pluginLoader);
|
||||
allVerbsFromRepositoryClass = Arrays.stream(RepositoryPermissions.class.getDeclaredFields())
|
||||
.filter(field -> field.getName().startsWith("ACTION_"))
|
||||
.filter(field -> !field.getName().equals("ACTION_HEALTHCHECK"))
|
||||
.map(this::getString)
|
||||
.filter(verb -> !"create".equals(verb))
|
||||
.toArray(String[]::new);
|
||||
@@ -47,6 +49,18 @@ class RepositoryPermissionProviderTest {
|
||||
assertThat(repositoryPermissionProvider.availableVerbs()).contains(allVerbsFromRepositoryClass);
|
||||
}
|
||||
|
||||
@Test
|
||||
void shouldMergeRepositoryRoles() {
|
||||
Collection<String> verbsInMergedRole = repositoryPermissionProvider
|
||||
.availableRoles()
|
||||
.stream()
|
||||
.filter(r -> "READ".equals(r.getName()))
|
||||
.findFirst()
|
||||
.get()
|
||||
.getVerbs();
|
||||
assertThat(verbsInMergedRole).contains("read", "pull", "test");
|
||||
}
|
||||
|
||||
private String getString(Field field) {
|
||||
try {
|
||||
return (String) field.get(null);
|
||||
|
||||
Reference in New Issue
Block a user