@@ -62,6 +62,7 @@ public class IngestDocumentTests extends OpenSearchTestCase {
62
62
63
63
private static final ZonedDateTime BOGUS_TIMESTAMP = ZonedDateTime .of (2016 , 10 , 23 , 0 , 0 , 0 , 0 , ZoneOffset .UTC );
64
64
private IngestDocument ingestDocument ;
65
+ private int initialSourceAndMetadataSize ;
65
66
66
67
@ Before
67
68
public void setTestIngestDocument () {
@@ -70,7 +71,6 @@ public void setTestIngestDocument() {
70
71
ingestMap .put ("timestamp" , BOGUS_TIMESTAMP );
71
72
document .put ("_ingest" , ingestMap );
72
73
document .put ("foo" , "bar" );
73
- document .put ("int" , 123 );
74
74
Map <String , Object > innerObject = new HashMap <>();
75
75
innerObject .put ("buzz" , "hello world" );
76
76
innerObject .put ("foo_null" , null );
@@ -92,7 +92,17 @@ public void setTestIngestDocument() {
92
92
list2 .add ("bar" );
93
93
list2 .add ("baz" );
94
94
document .put ("list2" , list2 );
95
+ document .put ("byte" , (byte ) 1 );
96
+ document .put ("short" , (short ) 2 );
97
+ document .put ("int" , Integer .MAX_VALUE );
98
+ document .put ("long" , Long .MAX_VALUE );
99
+ document .put ("float" , 0.1f );
100
+ document .put ("double" , 0.1d );
101
+ document .put ("char" , 'a' );
102
+ document .put ("string" , "A test string \uD83C \uDF89 " );
103
+ document .put ("datetime" , ZonedDateTime .parse ("2007-12-03T10:15:30+01:00[Europe/Paris]" ));
95
104
ingestDocument = new IngestDocument ("index" , "id" , null , null , null , document );
105
+ initialSourceAndMetadataSize = 16 ; // i.e. ingestDocument.getSourceAndMetadata().size()
96
106
}
97
107
98
108
public void testSelfReferencingSource () {
@@ -101,11 +111,18 @@ public void testSelfReferencingSource() {
101
111
expectThrows (IllegalArgumentException .class , () -> IngestDocument .deepCopyMap (value ));
102
112
}
103
113
114
+ public void testCopy () {
115
+ final IngestDocument copy = new IngestDocument (ingestDocument );
116
+ assertThat (copy , equalTo (ingestDocument ));
117
+ assertThat (copy .getSourceAndMetadata (), not (sameInstance (ingestDocument .getSourceAndMetadata ())));
118
+ assertThat (copy .getIngestMetadata (), not (sameInstance (ingestDocument .getIngestMetadata ())));
119
+ }
120
+
104
121
public void testSimpleGetFieldValue () {
105
122
assertThat (ingestDocument .getFieldValue ("foo" , String .class ), equalTo ("bar" ));
106
- assertThat (ingestDocument .getFieldValue ("int" , Integer .class ), equalTo (123 ));
123
+ assertThat (ingestDocument .getFieldValue ("int" , Integer .class ), equalTo (Integer . MAX_VALUE ));
107
124
assertThat (ingestDocument .getFieldValue ("_source.foo" , String .class ), equalTo ("bar" ));
108
- assertThat (ingestDocument .getFieldValue ("_source.int" , Integer .class ), equalTo (123 ));
125
+ assertThat (ingestDocument .getFieldValue ("_source.int" , Integer .class ), equalTo (Integer . MAX_VALUE ));
109
126
assertThat (ingestDocument .getFieldValue ("_index" , String .class ), equalTo ("index" ));
110
127
assertThat (ingestDocument .getFieldValue ("_id" , String .class ), equalTo ("id" ));
111
128
assertThat (
@@ -578,7 +595,7 @@ public void testAppendFieldValueConvertIntegerToList() {
578
595
@ SuppressWarnings ("unchecked" )
579
596
List <Object > list = (List <Object >) object ;
580
597
assertThat (list .size (), equalTo (2 ));
581
- assertThat (list .get (0 ), equalTo (123 ));
598
+ assertThat (list .get (0 ), equalTo (Integer . MAX_VALUE ));
582
599
assertThat (list .get (1 ), equalTo (456 ));
583
600
}
584
601
@@ -589,7 +606,7 @@ public void testAppendFieldValuesConvertIntegerToList() {
589
606
@ SuppressWarnings ("unchecked" )
590
607
List <Object > list = (List <Object >) object ;
591
608
assertThat (list .size (), equalTo (3 ));
592
- assertThat (list .get (0 ), equalTo (123 ));
609
+ assertThat (list .get (0 ), equalTo (Integer . MAX_VALUE ));
593
610
assertThat (list .get (1 ), equalTo (456 ));
594
611
assertThat (list .get (2 ), equalTo (789 ));
595
612
}
@@ -812,23 +829,23 @@ public void testSetFieldValueEmptyName() {
812
829
813
830
public void testRemoveField () {
814
831
ingestDocument .removeField ("foo" );
815
- assertThat (ingestDocument .getSourceAndMetadata ().size (), equalTo (7 ));
832
+ assertThat (ingestDocument .getSourceAndMetadata ().size (), equalTo (initialSourceAndMetadataSize - 1 ));
816
833
assertThat (ingestDocument .getSourceAndMetadata ().containsKey ("foo" ), equalTo (false ));
817
834
ingestDocument .removeField ("_index" );
818
- assertThat (ingestDocument .getSourceAndMetadata ().size (), equalTo (6 ));
835
+ assertThat (ingestDocument .getSourceAndMetadata ().size (), equalTo (initialSourceAndMetadataSize - 2 ));
819
836
assertThat (ingestDocument .getSourceAndMetadata ().containsKey ("_index" ), equalTo (false ));
820
837
ingestDocument .removeField ("_source.fizz" );
821
- assertThat (ingestDocument .getSourceAndMetadata ().size (), equalTo (5 ));
838
+ assertThat (ingestDocument .getSourceAndMetadata ().size (), equalTo (initialSourceAndMetadataSize - 3 ));
822
839
assertThat (ingestDocument .getSourceAndMetadata ().containsKey ("fizz" ), equalTo (false ));
823
840
assertThat (ingestDocument .getIngestMetadata ().size (), equalTo (1 ));
824
841
ingestDocument .removeField ("_ingest.timestamp" );
825
- assertThat (ingestDocument .getSourceAndMetadata ().size (), equalTo (5 ));
842
+ assertThat (ingestDocument .getSourceAndMetadata ().size (), equalTo (initialSourceAndMetadataSize - 3 ));
826
843
assertThat (ingestDocument .getIngestMetadata ().size (), equalTo (0 ));
827
844
}
828
845
829
846
public void testRemoveInnerField () {
830
847
ingestDocument .removeField ("fizz.buzz" );
831
- assertThat (ingestDocument .getSourceAndMetadata ().size (), equalTo (8 ));
848
+ assertThat (ingestDocument .getSourceAndMetadata ().size (), equalTo (initialSourceAndMetadataSize ));
832
849
assertThat (ingestDocument .getSourceAndMetadata ().get ("fizz" ), instanceOf (Map .class ));
833
850
@ SuppressWarnings ("unchecked" )
834
851
Map <String , Object > map = (Map <String , Object >) ingestDocument .getSourceAndMetadata ().get ("fizz" );
@@ -837,17 +854,17 @@ public void testRemoveInnerField() {
837
854
838
855
ingestDocument .removeField ("fizz.foo_null" );
839
856
assertThat (map .size (), equalTo (2 ));
840
- assertThat (ingestDocument .getSourceAndMetadata ().size (), equalTo (8 ));
857
+ assertThat (ingestDocument .getSourceAndMetadata ().size (), equalTo (initialSourceAndMetadataSize ));
841
858
assertThat (ingestDocument .getSourceAndMetadata ().containsKey ("fizz" ), equalTo (true ));
842
859
843
860
ingestDocument .removeField ("fizz.1" );
844
861
assertThat (map .size (), equalTo (1 ));
845
- assertThat (ingestDocument .getSourceAndMetadata ().size (), equalTo (8 ));
862
+ assertThat (ingestDocument .getSourceAndMetadata ().size (), equalTo (initialSourceAndMetadataSize ));
846
863
assertThat (ingestDocument .getSourceAndMetadata ().containsKey ("fizz" ), equalTo (true ));
847
864
848
865
ingestDocument .removeField ("fizz.list" );
849
866
assertThat (map .size (), equalTo (0 ));
850
- assertThat (ingestDocument .getSourceAndMetadata ().size (), equalTo (8 ));
867
+ assertThat (ingestDocument .getSourceAndMetadata ().size (), equalTo (initialSourceAndMetadataSize ));
851
868
assertThat (ingestDocument .getSourceAndMetadata ().containsKey ("fizz" ), equalTo (true ));
852
869
}
853
870
@@ -883,7 +900,7 @@ public void testRemoveSourceObject() {
883
900
884
901
public void testRemoveIngestObject () {
885
902
ingestDocument .removeField ("_ingest" );
886
- assertThat (ingestDocument .getSourceAndMetadata ().size (), equalTo (7 ));
903
+ assertThat (ingestDocument .getSourceAndMetadata ().size (), equalTo (initialSourceAndMetadataSize - 1 ));
887
904
assertThat (ingestDocument .getSourceAndMetadata ().containsKey ("_ingest" ), equalTo (false ));
888
905
}
889
906
@@ -905,7 +922,7 @@ public void testRemoveEmptyPathAfterStrippingOutPrefix() {
905
922
906
923
public void testListRemoveField () {
907
924
ingestDocument .removeField ("list.0.field" );
908
- assertThat (ingestDocument .getSourceAndMetadata ().size (), equalTo (8 ));
925
+ assertThat (ingestDocument .getSourceAndMetadata ().size (), equalTo (initialSourceAndMetadataSize ));
909
926
assertThat (ingestDocument .getSourceAndMetadata ().containsKey ("list" ), equalTo (true ));
910
927
Object object = ingestDocument .getSourceAndMetadata ().get ("list" );
911
928
assertThat (object , instanceOf (List .class ));
0 commit comments