Skip to content

Commit

Permalink
feat(LDAP): add integration tests for LDAP Authorization
Browse files Browse the repository at this point in the history
closes #782
  • Loading branch information
sixdouglas committed Feb 3, 2025
1 parent a1c83b8 commit cc01a5c
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 17 deletions.
21 changes: 7 additions & 14 deletions api/src/test/java/io/kafbat/ui/OpenLdapPIntegrationTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;

import io.kafbat.ui.api.model.Action;
import io.kafbat.ui.container.OpenLdapContainer;
import io.kafbat.ui.model.AuthenticationInfoDTO;
import io.kafbat.ui.model.ResourceTypeDTO;
Expand Down Expand Up @@ -60,26 +61,19 @@ public void testUserPermissions() {

assertNotNull(info);
assertTrue(info.getRbacEnabled());
System.out.println("info = " + info);
List<UserPermissionDTO> permissions = info.getUserInfo().getPermissions();
assertFalse(permissions.isEmpty());
assertTrue(permissions.stream().anyMatch(permission ->
permission.getClusters().contains(LOCAL) && permission.getResource() == ResourceTypeDTO.TOPIC));
permission.getClusters().contains(LOCAL)
&& permission.getResource() == ResourceTypeDTO.TOPIC
&& permission.getActions().stream()
.allMatch(action -> Action.fromValue(action.getValue()) != Action.ALL)
)
);
assertEquals(permissions, authenticationInfo("johnwick").getUserInfo().getPermissions());
assertEquals(permissions, authenticationInfo("jacksmith").getUserInfo().getPermissions());
}

@Test
public void testDirectUserPermissions() {
AuthenticationInfoDTO info = authenticationInfo("jacksmith");

assertNotNull(info);
assertTrue(info.getRbacEnabled());
System.out.println("info = " + info);
List<UserPermissionDTO> permissions = info.getUserInfo().getPermissions();
assertFalse(permissions.isEmpty());
}

@Test
public void testEmptyPermissions() {
assertTrue(Objects.requireNonNull(authenticationInfo("johnjames"))
Expand Down Expand Up @@ -123,7 +117,6 @@ public static class Initializer implements ApplicationContextInitializer<Configu
@Override
public void initialize(ConfigurableApplicationContext context) {
System.setProperty("spring.ldap.urls", LDAP_CONTAINER.getLdapUrl());
System.setProperty("oauth2.ldap.activeDirectory", "false");
}
}
}
3 changes: 0 additions & 3 deletions api/src/test/resources/application-rbac-ldap.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,6 @@ spring:
user-filter-search-base: "dc=kafbat,dc=io"
user-filter-search-filter: "(&(uid={0})(objectClass=inetOrgPerson))"
group-filter-search-base: "ou=people,dc=kafbat,dc=io" # required for RBAC
oauth2:
ldap:
activeDirectory: false
logging:
level:
root: info
Expand Down

0 comments on commit cc01a5c

Please sign in to comment.