return hasProjectUuidPermission(permission, project.getUuid());
}
+ @Override
+ public final boolean hasProjectPermission(String permission, String projectUuid) {
+ if (isRoot()) {
+ return true;
+ }
+ return hasProjectUuidPermission(permission, projectUuid);
+ }
+
@Override
public final boolean hasChildProjectsPermission(String permission, ComponentDto component) {
if (isRoot()) {
return get().hasProjectPermission(permission, project);
}
+ @Override
+ public boolean hasProjectPermission(String permission, String projectUuid) {
+ return get().hasProjectPermission(permission, projectUuid);
+ }
+
@Override
public boolean hasChildProjectsPermission(String permission, ComponentDto component) {
return get().hasChildProjectsPermission(permission, component);
boolean hasProjectPermission(String permission, ProjectDto project);
+ boolean hasProjectPermission(String permission, String projectUuid);
+
boolean hasChildProjectsPermission(String permission, ComponentDto component);
boolean hasChildProjectsPermission(String permission, ProjectDto component);
assertThat(threadLocalUserSession.getGroups()).extracting(GroupDto::getUuid).containsOnly(group.getUuid());
assertThat(threadLocalUserSession.hasChildProjectsPermission(USER, new ComponentDto())).isFalse();
assertThat(threadLocalUserSession.hasChildProjectsPermission(USER, new ProjectDto())).isFalse();
+ assertThat(threadLocalUserSession.hasProjectPermission(USER, new ProjectDto().getUuid())).isFalse();
+ }
+
+ @Test
+ public void get_session_for_root_user() {
+ GroupDto group = GroupTesting.newGroupDto();
+ MockUserSession expected = new MockUserSession("root")
+ .setUuid("root-uuid")
+ .setResetPassword(true)
+ .setLastSonarlintConnectionDate(1000L)
+ .setGroups(group);
+ expected.setRoot(true);
+ threadLocalUserSession.set(expected);
+
+ UserSession session = threadLocalUserSession.get();
+ assertThat(session).isSameAs(expected);
+ assertThat(threadLocalUserSession.getLastSonarlintConnectionDate()).isEqualTo(1000L);
+ assertThat(threadLocalUserSession.getLogin()).isEqualTo("root");
+ assertThat(threadLocalUserSession.getUuid()).isEqualTo("root-uuid");
+ assertThat(threadLocalUserSession.isLoggedIn()).isTrue();
+ assertThat(threadLocalUserSession.shouldResetPassword()).isTrue();
+ assertThat(threadLocalUserSession.getGroups()).extracting(GroupDto::getUuid).containsOnly(group.getUuid());
+ assertThat(threadLocalUserSession.hasChildProjectsPermission(USER, new ComponentDto())).isTrue();
+ assertThat(threadLocalUserSession.hasChildProjectsPermission(USER, new ProjectDto())).isTrue();
+ assertThat(threadLocalUserSession.hasProjectPermission(USER, new ProjectDto().getUuid())).isTrue();
}
@Test
return currentUserSession.hasProjectPermission(permission, project);
}
+ @Override
+ public boolean hasProjectPermission(String permission, String projectUuid) {
+ return currentUserSession.hasProjectPermission(permission, projectUuid);
+ }
+
@Override
public boolean hasChildProjectsPermission(String permission, ComponentDto component) {
return currentUserSession.hasChildProjectsPermission(permission, component);