Merge roles from multiple repository permissions

This commit is contained in:
René Pfeuffer
2019-02-18 10:31:12 +01:00
parent 8920c2a540
commit 8161d4cb1c
3 changed files with 44 additions and 2 deletions

View File

@@ -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;
@@ -48,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);