2020import org .apache .iceberg .variants .VariantObject ;
2121import org .apache .iceberg .variants .VariantPrimitive ;
2222import org .junit .jupiter .api .Test ;
23+ import org .opensearch .dataprepper .event .TestEventFactory ;
2324import org .opensearch .dataprepper .model .event .Event ;
25+ import org .opensearch .dataprepper .model .event .EventFactory ;
2426
2527import java .math .BigDecimal ;
2628import java .time .LocalDate ;
3638
3739class ChangelogRecordConverterTest {
3840
41+ private static final EventFactory EVENT_FACTORY = TestEventFactory .getTestEventFactory ();
42+
3943 private static final Schema TEST_SCHEMA = new Schema (
4044 Types .NestedField .required (1 , "id" , Types .IntegerType .get ()),
4145 Types .NestedField .optional (2 , "name" , Types .StringType .get ()),
@@ -44,7 +48,7 @@ class ChangelogRecordConverterTest {
4448
4549 @ Test
4650 void convert_insertOperation_setsCorrectMetadata () {
47- final ChangelogRecordConverter converter = new ChangelogRecordConverter ("test_table" , List .of ("id" ));
51+ final ChangelogRecordConverter converter = new ChangelogRecordConverter ("test_table" , List .of ("id" ), EVENT_FACTORY );
4852 final Record record = GenericRecord .create (TEST_SCHEMA );
4953 record .setField ("id" , 1 );
5054 record .setField ("name" , "Alice" );
@@ -64,7 +68,7 @@ void convert_insertOperation_setsCorrectMetadata() {
6468
6569 @ Test
6670 void convert_deleteOperation_setsDeleteBulkAction () {
67- final ChangelogRecordConverter converter = new ChangelogRecordConverter ("test_table" , List .of ("id" ));
71+ final ChangelogRecordConverter converter = new ChangelogRecordConverter ("test_table" , List .of ("id" ), EVENT_FACTORY );
6872 final Record record = GenericRecord .create (TEST_SCHEMA );
6973 record .setField ("id" , 1 );
7074 record .setField ("name" , "Alice" );
@@ -78,7 +82,7 @@ void convert_deleteOperation_setsDeleteBulkAction() {
7882
7983 @ Test
8084 void convert_multipleIdentifierColumns_concatenatedWithPipe () {
81- final ChangelogRecordConverter converter = new ChangelogRecordConverter ("test_table" , List .of ("id" , "name" ));
85+ final ChangelogRecordConverter converter = new ChangelogRecordConverter ("test_table" , List .of ("id" , "name" ), EVENT_FACTORY );
8286 final Record record = GenericRecord .create (TEST_SCHEMA );
8387 record .setField ("id" , 1 );
8488 record .setField ("name" , "Alice" );
@@ -91,7 +95,7 @@ void convert_multipleIdentifierColumns_concatenatedWithPipe() {
9195
9296 @ Test
9397 void convert_noIdentifierColumns_noDocumentId () {
94- final ChangelogRecordConverter converter = new ChangelogRecordConverter ("test_table" , List .of ());
98+ final ChangelogRecordConverter converter = new ChangelogRecordConverter ("test_table" , List .of (), EVENT_FACTORY );
9599 final Record record = GenericRecord .create (TEST_SCHEMA );
96100 record .setField ("id" , 1 );
97101 record .setField ("name" , "Alice" );
@@ -108,7 +112,7 @@ void convert_decimalType_convertedToString() {
108112 Types .NestedField .required (1 , "id" , Types .IntegerType .get ()),
109113 Types .NestedField .optional (2 , "price" , Types .DecimalType .of (10 , 2 ))
110114 );
111- final ChangelogRecordConverter converter = new ChangelogRecordConverter ("test_table" , List .of ("id" ));
115+ final ChangelogRecordConverter converter = new ChangelogRecordConverter ("test_table" , List .of ("id" ), EVENT_FACTORY );
112116 final Record record = GenericRecord .create (schema );
113117 record .setField ("id" , 1 );
114118 record .setField ("price" , new BigDecimal ("123.45" ));
@@ -124,7 +128,7 @@ void convert_dateType_convertedToIsoString() {
124128 Types .NestedField .required (1 , "id" , Types .IntegerType .get ()),
125129 Types .NestedField .optional (2 , "created" , Types .DateType .get ())
126130 );
127- final ChangelogRecordConverter converter = new ChangelogRecordConverter ("test_table" , List .of ("id" ));
131+ final ChangelogRecordConverter converter = new ChangelogRecordConverter ("test_table" , List .of ("id" ), EVENT_FACTORY );
128132 final Record record = GenericRecord .create (schema );
129133 record .setField ("id" , 1 );
130134 record .setField ("created" , LocalDate .of (2024 , 1 , 15 ));
@@ -136,7 +140,7 @@ void convert_dateType_convertedToIsoString() {
136140
137141 @ Test
138142 void convert_nullField_preservedAsNull () {
139- final ChangelogRecordConverter converter = new ChangelogRecordConverter ("test_table" , List .of ("id" ));
143+ final ChangelogRecordConverter converter = new ChangelogRecordConverter ("test_table" , List .of ("id" ), EVENT_FACTORY );
140144 final Record record = GenericRecord .create (TEST_SCHEMA );
141145 record .setField ("id" , 1 );
142146 record .setField ("name" , null );
@@ -165,7 +169,7 @@ void convert_structType_preservesFieldNames() {
165169 record .setField ("id" , 1 );
166170 record .setField ("address" , addressRecord );
167171
168- final ChangelogRecordConverter converter = new ChangelogRecordConverter ("test_table" , List .of ("id" ));
172+ final ChangelogRecordConverter converter = new ChangelogRecordConverter ("test_table" , List .of ("id" ), EVENT_FACTORY );
169173 final Event event = converter .convert (record , schema , "INSERT" , 12345L );
170174
171175 @ SuppressWarnings ("unchecked" )
@@ -199,7 +203,7 @@ void convert_variantType_objectConvertedToMap() {
199203 record .setField ("id" , 1 );
200204 record .setField ("data" , variant );
201205
202- final ChangelogRecordConverter converter = new ChangelogRecordConverter ("test_table" , List .of ("id" ));
206+ final ChangelogRecordConverter converter = new ChangelogRecordConverter ("test_table" , List .of ("id" ), EVENT_FACTORY );
203207 final Event event = converter .convert (record , schema , "INSERT" , 12345L );
204208
205209 @ SuppressWarnings ("unchecked" )
@@ -237,7 +241,7 @@ void convert_variantType_arrayConvertedToList() {
237241 record .setField ("id" , 1 );
238242 record .setField ("tags" , variant );
239243
240- final ChangelogRecordConverter converter = new ChangelogRecordConverter ("test_table" , List .of ("id" ));
244+ final ChangelogRecordConverter converter = new ChangelogRecordConverter ("test_table" , List .of ("id" ), EVENT_FACTORY );
241245 final Event event = converter .convert (record , schema , "INSERT" , 12345L );
242246
243247 @ SuppressWarnings ("unchecked" )
0 commit comments