Skip to content

Commit cd5a1eb

Browse files
committed
test: get tenant from inserted object
1 parent ec7b22f commit cd5a1eb

2 files changed

Lines changed: 27 additions & 7 deletions

File tree

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

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,14 @@
2323
import io.weaviate.client6.v1.api.collections.data.BatchReference;
2424
import io.weaviate.client6.v1.api.collections.data.DeleteManyResponse;
2525
import io.weaviate.client6.v1.api.collections.data.Reference;
26+
import io.weaviate.client6.v1.api.collections.data.WriteWeaviateObject;
27+
import io.weaviate.client6.v1.api.collections.query.Filter;
2628
import io.weaviate.client6.v1.api.collections.query.Metadata;
2729
import io.weaviate.client6.v1.api.collections.query.Metadata.MetadataField;
2830
import io.weaviate.client6.v1.api.collections.query.QueryMetadata;
2931
import io.weaviate.client6.v1.api.collections.query.QueryReference;
3032
import io.weaviate.client6.v1.api.collections.query.ReadWeaviateObject;
31-
import io.weaviate.client6.v1.api.collections.query.Filter;
33+
import io.weaviate.client6.v1.api.collections.tenants.Tenant;
3234
import io.weaviate.containers.Container;
3335

3436
public class DataITest extends ConcurrentTest {
@@ -86,6 +88,7 @@ public void testCreateGetDelete() throws IOException {
8688
.as("object not exists after deletion").isFalse();
8789

8890
deleted = artists.data.deleteById(id);
91+
8992
// TODO: Change to isFalse() after fixed in Weaviate server
9093
Assertions.assertThat(deleted)
9194
.as("object wasn't deleted").isTrue();
@@ -536,4 +539,22 @@ public void testNestedProperties_insertMany() throws IOException {
536539
// Assert
537540
Assertions.assertThat(result.errors()).isEmpty();
538541
}
542+
543+
@Test
544+
public void test_multiTenant() throws IOException {
545+
// Arrange
546+
var nsEmails = ns("Emails");
547+
var emails = client.collections.create(nsEmails,
548+
c -> c.multiTenancy(mt -> mt.enabled(true)));
549+
550+
var johndoe = "john-doe";
551+
emails.tenants.create(Tenant.active(johndoe));
552+
emails = emails.withTenant(johndoe);
553+
554+
// Act
555+
var inserted = emails.data.insert(Map.of("subject", "McDonald's Xmas Bonanza"));
556+
557+
// Assert
558+
Assertions.assertThat(inserted).returns(johndoe, WriteWeaviateObject::tenant);
559+
}
539560
}

src/main/java/io/weaviate/client6/v1/api/collections/CollectionConfig.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public record CollectionConfig(
3333
List<ReferenceProperty> references,
3434
/** Vector indexes configured for this collection. */
3535
@SerializedName("vectorConfig") Map<String, VectorConfig> vectors,
36-
/** Multi-tenantcy options. */
36+
/** Multi-tenancy options. */
3737
@SerializedName("multiTenancyConfig") MultiTenancy multiTenancy,
3838
/** Sharding configuration. */
3939
@SerializedName("shardingConfig") Sharding sharding,
@@ -193,14 +193,13 @@ public Builder sharding(Function<Sharding.Builder, ObjectBuilder<Sharding>> fn)
193193
}
194194

195195
/** Configure multi-tenancy. */
196-
public Builder multiTenancy(MultiTenancy multiTenancy) {
197-
this.multiTenancy = multiTenancy;
198-
return this;
196+
public Builder multiTenancy(Function<MultiTenancy.Builder, ObjectBuilder<MultiTenancy>> fn) {
197+
return multiTenancy(MultiTenancy.of(fn));
199198
}
200199

201200
/** Configure multi-tenancy. */
202-
public Builder multiTenancy(Function<MultiTenancy.Builder, ObjectBuilder<MultiTenancy>> fn) {
203-
this.multiTenancy = MultiTenancy.of(fn);
201+
public Builder multiTenancy(MultiTenancy multiTenancy) {
202+
this.multiTenancy = multiTenancy;
204203
return this;
205204
}
206205

0 commit comments

Comments
 (0)