Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -693,42 +693,28 @@ private DiscoveryNode newNode(String nodeId) {
return DiscoveryNodeUtils.builder(nodeId).roles(Set.of(DiscoveryNodeRole.MASTER_ROLE, DiscoveryNodeRole.DATA_ROLE)).build();
}

public void testValidateIndexName() throws Exception {
public void testValidateIndexName() {
withTemporaryClusterService(((clusterService, threadPool) -> {
MetadataCreateIndexService checkerService = new MetadataCreateIndexService(
Settings.EMPTY,
clusterService,
null,
null,
createTestShardLimitService(randomIntBetween(1, 1000), clusterService),
null,
null,
threadPool,
null,
EmptySystemIndices.INSTANCE,
false,
new IndexSettingProviders(Set.of())
);
validateIndexName(checkerService, "index?name", "must not contain the following characters " + Strings.INVALID_FILENAME_CHARS);
validateIndexName("index?name", "must not contain the following characters " + Strings.INVALID_FILENAME_CHARS);

validateIndexName(checkerService, "index#name", "must not contain '#'");
validateIndexName("index#name", "must not contain '#'");

validateIndexName(checkerService, "_indexname", "must not start with '_', '-', or '+'");
validateIndexName(checkerService, "-indexname", "must not start with '_', '-', or '+'");
validateIndexName(checkerService, "+indexname", "must not start with '_', '-', or '+'");
validateIndexName("_indexname", "must not start with '_', '-', or '+'");
validateIndexName("-indexname", "must not start with '_', '-', or '+'");
validateIndexName("+indexname", "must not start with '_', '-', or '+'");

validateIndexName(checkerService, "INDEXNAME", "must be lowercase");
validateIndexName("INDEXNAME", "must be lowercase");

validateIndexName(checkerService, "..", "must not be '.' or '..'");
validateIndexName("..", "must not be '.' or '..'");

validateIndexName(checkerService, "foo:bar", "must not contain ':'");
validateIndexName("foo:bar", "must not contain ':'");

validateIndexName(checkerService, "", "must not be empty");
validateIndexName(checkerService, null, "must not be empty");
validateIndexName("", "must not be empty");
validateIndexName(null, "must not be empty");
}));
}

private static void validateIndexName(MetadataCreateIndexService metadataCreateIndexService, String indexName, String errorMessage) {
private static void validateIndexName(String indexName, String errorMessage) {
ClusterState state = ClusterState.builder(ClusterName.DEFAULT).build();
InvalidIndexNameException e = expectThrows(
InvalidIndexNameException.class,
Expand Down Expand Up @@ -1817,7 +1803,6 @@ public void testClusterStateCreateIndexWithClusterBlockTransformer() {
public void testCreateClusterBlocksTransformerForIndexCreation() {
boolean isStateless = randomBoolean();
boolean useRefreshBlock = randomBoolean();
var minTransportVersion = TransportVersionUtils.randomCompatibleVersion();

var applier = MetadataCreateIndexService.createClusterBlocksTransformerForIndexCreation(
Settings.builder()
Expand Down
Loading