Skip to content

Commit fa8015f

Browse files
committed
fix: add missing / before {shard_name} path param
Include integration test to test the basic functionality
1 parent 2574047 commit fa8015f

2 files changed

Lines changed: 26 additions & 1 deletion

File tree

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

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
import io.weaviate.client6.v1.api.collections.Property;
1414
import io.weaviate.client6.v1.api.collections.Replication;
1515
import io.weaviate.client6.v1.api.collections.VectorIndex;
16+
import io.weaviate.client6.v1.api.collections.config.Shard;
17+
import io.weaviate.client6.v1.api.collections.config.ShardStatus;
1618
import io.weaviate.client6.v1.api.collections.vectorindex.Hnsw;
1719
import io.weaviate.client6.v1.api.collections.vectorizers.NoneVectorizer;
1820
import io.weaviate.containers.Container;
@@ -159,4 +161,27 @@ public void testUpdateCollection() throws IOException {
159161
.extracting(CollectionConfig::replication).returns(false, Replication::asyncEnabled);
160162
});
161163
}
164+
165+
@Test
166+
public void testShards() throws IOException {
167+
var nsShatteredCups = ns("ShatteredCups");
168+
client.collections.create(nsShatteredCups);
169+
var cups = client.collections.use(nsShatteredCups);
170+
171+
// Act: get initial shard state
172+
var shards = cups.config.getShards();
173+
174+
Assertions.assertThat(shards).as("single-tenant collections has 1 shard").hasSize(1);
175+
var singleShard = shards.get(0);
176+
177+
// Act: flip the status
178+
var wantStatus = singleShard.status().equals("READY") ? ShardStatus.READONLY : ShardStatus.READY;
179+
var updated = cups.config.updateShards(wantStatus, singleShard.name());
180+
181+
Assertions.assertThat(updated)
182+
.as("shard status changed")
183+
.hasSize(1)
184+
.extracting(Shard::status)
185+
.containsOnly(wantStatus.name());
186+
}
162187
}

src/main/java/io/weaviate/client6/v1/api/collections/config/UpdateShardStatusRequest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
public record UpdateShardStatusRequest(String collection, String shard, ShardStatus status) {
1212
public static final Endpoint<UpdateShardStatusRequest, Void> _ENDPOINT = Endpoint.of(
1313
request -> "PUT",
14-
request -> "/schema/" + request.collection + "/shards" + request.shard,
14+
request -> "/schema/" + request.collection + "/shards/" + request.shard,
1515
(gson, request) -> JSON.serialize(Map.of("status", request.status)),
1616
request -> Collections.emptyMap(),
1717
code -> code != HttpStatus.SC_SUCCESS,

0 commit comments

Comments
 (0)