1515import org .elasticsearch .action .bulk .BulkResponse ;
1616import org .elasticsearch .action .ingest .SimulateIndexResponse ;
1717import org .elasticsearch .common .bytes .BytesReference ;
18+ import org .elasticsearch .common .compress .CompressedXContent ;
1819import org .elasticsearch .common .xcontent .XContentHelper ;
1920import org .elasticsearch .rest .AbstractRestChannel ;
2021import org .elasticsearch .rest .RestResponse ;
2324import org .elasticsearch .xcontent .NamedXContentRegistry ;
2425import org .elasticsearch .xcontent .XContentType ;
2526
27+ import java .io .IOException ;
2628import java .nio .ByteBuffer ;
2729import java .nio .charset .StandardCharsets ;
2830import java .util .List ;
@@ -157,9 +159,9 @@ private void testInputJsonConvertsToOutputJson(String inputJson, String expected
157159 public void testSimulateIngestRestToXContentListener () throws Exception {
158160 // First, make sure it works with success responses:
159161 BulkItemResponse [] responses = new BulkItemResponse [3 ];
160- responses [0 ] = getSuccessBulkItemResponse ("123" , "{\" foo\" : \" bar\" }" );
162+ responses [0 ] = getSuccessBulkItemResponse ("123" , "{\" foo\" : \" bar\" }" , false );
161163 responses [1 ] = getFailureBulkItemResponse ("678" , "This has failed" );
162- responses [2 ] = getSuccessBulkItemResponse ("456" , "{\" bar\" : \" baz\" }" );
164+ responses [2 ] = getSuccessBulkItemResponse ("456" , "{\" bar\" : \" baz\" }" , true );
163165 BulkResponse bulkResponse = new BulkResponse (responses , randomLongBetween (0 , 50000 ));
164166 String expectedXContent = """
165167 {
@@ -183,7 +185,8 @@ public void testSimulateIngestRestToXContentListener() throws Exception {
183185 {
184186 "field" : "def"
185187 }
186- ]
188+ ],
189+ "effective_mapping" : { }
187190 }
188191 },
189192 {
@@ -215,7 +218,14 @@ public void testSimulateIngestRestToXContentListener() throws Exception {
215218 {
216219 "field" : "def"
217220 }
218- ]
221+ ],
222+ "effective_mapping" : {
223+ "properties" : {
224+ "foo" : {
225+ "type" : "keyword"
226+ }
227+ }
228+ }
219229 }
220230 }
221231 ]
@@ -231,7 +241,7 @@ private BulkItemResponse getFailureBulkItemResponse(String id, String failureMes
231241 );
232242 }
233243
234- private BulkItemResponse getSuccessBulkItemResponse (String id , String source ) {
244+ private BulkItemResponse getSuccessBulkItemResponse (String id , String source , boolean hasMapping ) throws IOException {
235245 ByteBuffer [] sourceByteBuffer = new ByteBuffer [1 ];
236246 sourceByteBuffer [0 ] = ByteBuffer .wrap (source .getBytes (StandardCharsets .UTF_8 ));
237247 return BulkItemResponse .success (
@@ -246,7 +256,7 @@ private BulkItemResponse getSuccessBulkItemResponse(String id, String source) {
246256 List .of ("pipeline1" , "pipeline2" ),
247257 List .of ("abc" , "def" ),
248258 null ,
249- null
259+ hasMapping ? new CompressedXContent ( "{ \" properties \" :{ \" foo \" :{ \" type \" : \" keyword \" }}}" ) : null
250260 )
251261 );
252262 }
0 commit comments