Skip to content

Commit 5f1feaf

Browse files
committed
test(rbac): skip RbacITest suite on v1.38
Namespaces permissions are not supported by the client yet. The tests will fail because admin role has those permissions. The client is supposed to fail when it encounters unknown permissions.
1 parent f702bb3 commit 5f1feaf

2 files changed

Lines changed: 23 additions & 1 deletion

File tree

src/it/java/io/weaviate/ConcurrentTest.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,21 @@ public static void requireAtLeast(Weaviate.Version required) {
126126
.isGreaterThanOrEqualTo(required.semver);
127127
}
128128

129+
/**
130+
* Skip the test if the version that the {@link Weaviate}
131+
* container is running is newer than the required one.
132+
*
133+
* <br>
134+
* This is useful for guarding tests from server versions
135+
* which the client does not fully support yet.
136+
*/
137+
public static void requireAtMost(Weaviate.Version required) {
138+
var actual = SemanticVersion.of(Weaviate.VERSION);
139+
Assumptions.assumeThat(actual)
140+
.as("requires at most %s, but running %s", required.semver, actual)
141+
.isLessThanOrEqualTo(required.semver);
142+
}
143+
129144
@FunctionalInterface
130145
public interface ThrowingRunnable {
131146
void run() throws Exception;

src/it/java/io/weaviate/integration/RbacITest.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
import org.assertj.core.api.Assertions;
88
import org.assertj.core.api.InstanceOfAssertFactories;
9+
import org.junit.BeforeClass;
910
import org.junit.Test;
1011

1112
import io.weaviate.ConcurrentTest;
@@ -14,10 +15,10 @@
1415
import io.weaviate.client6.v1.api.rbac.AliasesPermission;
1516
import io.weaviate.client6.v1.api.rbac.BackupsPermission;
1617
import io.weaviate.client6.v1.api.rbac.ClusterPermission;
17-
import io.weaviate.client6.v1.api.rbac.McpPermission;
1818
import io.weaviate.client6.v1.api.rbac.CollectionsPermission;
1919
import io.weaviate.client6.v1.api.rbac.DataPermission;
2020
import io.weaviate.client6.v1.api.rbac.GroupsPermission;
21+
import io.weaviate.client6.v1.api.rbac.McpPermission;
2122
import io.weaviate.client6.v1.api.rbac.NodesPermission;
2223
import io.weaviate.client6.v1.api.rbac.Permission;
2324
import io.weaviate.client6.v1.api.rbac.ReplicatePermission;
@@ -56,6 +57,12 @@ public class RbacITest extends ConcurrentTest {
5657
private static final WeaviateClient client = container
5758
.getClient(fn -> fn.authentication(Authentication.apiKey(API_KEY)));
5859

60+
@BeforeClass
61+
public static void __() {
62+
// TODO(dyma): remove once namespace permissions are supported (v1.38 feature)
63+
ConcurrentTest.requireAtMost(Weaviate.Version.V137);
64+
}
65+
5966
@Test
6067
public void test_roles_Lifecycle() throws IOException {
6168
// Arrange

0 commit comments

Comments
 (0)