Browse Source

Require not null index parameter in CreateIndexResponse. (#84668)

* Removed and changed tests.

Relates to #84600
Martijn van Groningen 3 years ago
parent
commit
a553708576

+ 2 - 2
server/src/main/java/org/elasticsearch/action/admin/indices/create/CreateIndexResponse.java

@@ -41,7 +41,7 @@ public class CreateIndexResponse extends ShardsAcknowledgedResponse {
 
     protected static <T extends CreateIndexResponse> void declareFields(ConstructingObjectParser<T, Void> objectParser) {
         declareAcknowledgedAndShardsAcknowledgedFields(objectParser);
-        objectParser.declareField(constructorArg(), (parser, context) -> parser.textOrNull(), INDEX, ObjectParser.ValueType.STRING_OR_NULL);
+        objectParser.declareField(constructorArg(), (parser, context) -> parser.textOrNull(), INDEX, ObjectParser.ValueType.STRING);
     }
 
     private final String index;
@@ -53,7 +53,7 @@ public class CreateIndexResponse extends ShardsAcknowledgedResponse {
 
     public CreateIndexResponse(boolean acknowledged, boolean shardsAcknowledged, String index) {
         super(acknowledged, shardsAcknowledged);
-        this.index = index;
+        this.index = Objects.requireNonNull(index);
     }
 
     @Override

+ 0 - 15
server/src/test/java/org/elasticsearch/action/admin/indices/create/CreateIndexResponseTests.java

@@ -12,9 +12,6 @@ import org.elasticsearch.common.Strings;
 import org.elasticsearch.common.io.stream.Writeable;
 import org.elasticsearch.test.AbstractSerializingTestCase;
 import org.elasticsearch.xcontent.XContentParser;
-import org.elasticsearch.xcontent.json.JsonXContent;
-
-import java.io.IOException;
 
 public class CreateIndexResponseTests extends AbstractSerializingTestCase<CreateIndexResponse> {
 
@@ -64,16 +61,4 @@ public class CreateIndexResponseTests extends AbstractSerializingTestCase<Create
             {"acknowledged":true,"shards_acknowledged":false,"index":"index_name"}""", output);
     }
 
-    public void testToAndFromXContentIndexNull() throws IOException {
-        CreateIndexResponse response = new CreateIndexResponse(true, false, null);
-        String output = Strings.toString(response);
-        assertEquals("""
-            {"acknowledged":true,"shards_acknowledged":false,"index":null}""", output);
-        try (XContentParser parser = createParser(JsonXContent.jsonXContent, output)) {
-            CreateIndexResponse parsedResponse = CreateIndexResponse.fromXContent(parser);
-            assertNull(parsedResponse.index());
-            assertTrue(parsedResponse.isAcknowledged());
-            assertFalse(parsedResponse.isShardsAcknowledged());
-        }
-    }
 }

+ 3 - 1
server/src/test/java/org/elasticsearch/action/bulk/TransportBulkActionTookTests.java

@@ -15,6 +15,7 @@ import org.elasticsearch.action.ActionRequest;
 import org.elasticsearch.action.ActionResponse;
 import org.elasticsearch.action.ActionType;
 import org.elasticsearch.action.IndicesRequest;
+import org.elasticsearch.action.admin.indices.create.CreateIndexRequest;
 import org.elasticsearch.action.admin.indices.create.CreateIndexResponse;
 import org.elasticsearch.action.support.ActionFilters;
 import org.elasticsearch.client.internal.node.NodeClient;
@@ -114,7 +115,8 @@ public class TransportBulkActionTookTests extends ESTestCase {
                 Request request,
                 ActionListener<Response> listener
             ) {
-                listener.onResponse((Response) new CreateIndexResponse(false, false, null));
+                CreateIndexRequest createIndexRequest = (CreateIndexRequest) request;
+                listener.onResponse((Response) new CreateIndexResponse(false, false, createIndexRequest.index()));
             }
         };