@@ -299,6 +299,118 @@ public void shouldDeleteAll() {
299
299
assertThat (sampleEntities .getTotalElements (), equalTo (0L ));
300
300
}
301
301
302
+ @ Test
303
+ public void shouldDeleteById () {
304
+ // given
305
+ String documentId = randomNumeric (5 );
306
+ SampleEntity sampleEntity = new SampleEntity ();
307
+ sampleEntity .setId (documentId );
308
+ sampleEntity .setMessage ("hello world." );
309
+ sampleEntity .setVersion (System .currentTimeMillis ());
310
+ repository .save (sampleEntity );
311
+ // when
312
+ long result = repository .deleteById (documentId );
313
+ // then
314
+ SearchQuery searchQuery = new NativeSearchQueryBuilder ().withQuery (termQuery ("id" , documentId )).build ();
315
+ Page <SampleEntity > sampleEntities = repository .search (searchQuery );
316
+ assertThat (sampleEntities .getTotalElements (), equalTo (0L ));
317
+ assertThat (result , equalTo (1L ));
318
+ }
319
+
320
+ @ Test
321
+ public void shouldDeleteByMessageAndReturnList () {
322
+ // given
323
+ String documentId = randomNumeric (5 );
324
+ SampleEntity sampleEntity1 = new SampleEntity ();
325
+ sampleEntity1 .setId (documentId );
326
+ sampleEntity1 .setMessage ("hello world 1" );
327
+ sampleEntity1 .setAvailable (true );
328
+ sampleEntity1 .setVersion (System .currentTimeMillis ());
329
+
330
+ documentId = randomNumeric (5 );
331
+ SampleEntity sampleEntity2 = new SampleEntity ();
332
+ sampleEntity2 .setId (documentId );
333
+ sampleEntity2 .setMessage ("hello world 2" );
334
+ sampleEntity2 .setAvailable (true );
335
+ sampleEntity2 .setVersion (System .currentTimeMillis ());
336
+
337
+ documentId = randomNumeric (5 );
338
+ SampleEntity sampleEntity3 = new SampleEntity ();
339
+ sampleEntity3 .setId (documentId );
340
+ sampleEntity3 .setMessage ("hello world 3" );
341
+ sampleEntity3 .setAvailable (false );
342
+ sampleEntity3 .setVersion (System .currentTimeMillis ());
343
+ repository .save (Arrays .asList (sampleEntity1 , sampleEntity2 , sampleEntity3 ));
344
+ // when
345
+ List <SampleEntity > result = repository .deleteByAvailable (true );
346
+ // then
347
+ assertThat (result .size (), equalTo (2 ));
348
+ SearchQuery searchQuery = new NativeSearchQueryBuilder ().withQuery (matchAllQuery ()).build ();
349
+ Page <SampleEntity > sampleEntities = repository .search (searchQuery );
350
+ assertThat (sampleEntities .getTotalElements (), equalTo (1L ));
351
+ }
352
+
353
+ @ Test
354
+ public void shouldDeleteByListForMessage () {
355
+ // given
356
+ String documentId = randomNumeric (5 );
357
+ SampleEntity sampleEntity1 = new SampleEntity ();
358
+ sampleEntity1 .setId (documentId );
359
+ sampleEntity1 .setMessage ("hello world 1" );
360
+ sampleEntity1 .setVersion (System .currentTimeMillis ());
361
+
362
+ documentId = randomNumeric (5 );
363
+ SampleEntity sampleEntity2 = new SampleEntity ();
364
+ sampleEntity2 .setId (documentId );
365
+ sampleEntity2 .setMessage ("hello world 2" );
366
+ sampleEntity2 .setVersion (System .currentTimeMillis ());
367
+
368
+ documentId = randomNumeric (5 );
369
+ SampleEntity sampleEntity3 = new SampleEntity ();
370
+ sampleEntity3 .setId (documentId );
371
+ sampleEntity3 .setMessage ("hello world 3" );
372
+ sampleEntity3 .setVersion (System .currentTimeMillis ());
373
+ repository .save (Arrays .asList (sampleEntity1 , sampleEntity2 , sampleEntity3 ));
374
+ // when
375
+ List <SampleEntity > result = repository .deleteByMessage ("hello world 3" );
376
+ // then
377
+ assertThat (result .size (), equalTo (1 ));
378
+ SearchQuery searchQuery = new NativeSearchQueryBuilder ().withQuery (matchAllQuery ()).build ();
379
+ Page <SampleEntity > sampleEntities = repository .search (searchQuery );
380
+ assertThat (sampleEntities .getTotalElements (), equalTo (2L ));
381
+ }
382
+
383
+ @ Test
384
+ public void shouldDeleteByType () {
385
+ // given
386
+ String documentId = randomNumeric (5 );
387
+ SampleEntity sampleEntity1 = new SampleEntity ();
388
+ sampleEntity1 .setId (documentId );
389
+ sampleEntity1 .setType ("book" );
390
+ sampleEntity1 .setVersion (System .currentTimeMillis ());
391
+
392
+ documentId = randomNumeric (5 );
393
+ SampleEntity sampleEntity2 = new SampleEntity ();
394
+ sampleEntity2 .setId (documentId );
395
+ sampleEntity2 .setType ("article" );
396
+ sampleEntity2 .setVersion (System .currentTimeMillis ());
397
+
398
+ documentId = randomNumeric (5 );
399
+ SampleEntity sampleEntity3 = new SampleEntity ();
400
+ sampleEntity3 .setId (documentId );
401
+ sampleEntity3 .setType ("image" );
402
+ sampleEntity3 .setVersion (System .currentTimeMillis ());
403
+ repository .save (Arrays .asList (sampleEntity1 , sampleEntity2 , sampleEntity3 ));
404
+ // when
405
+ repository .deleteByType ("article" );
406
+ // then
407
+ SearchQuery searchQuery = new NativeSearchQueryBuilder ().withQuery (matchAllQuery ()).build ();
408
+ Page <SampleEntity > sampleEntities = repository .search (searchQuery );
409
+ assertThat (sampleEntities .getTotalElements (), equalTo (2L ));
410
+ }
411
+
412
+
413
+
302
414
@ Test
303
415
public void shouldDeleteEntity () {
304
416
// given
0 commit comments