@@ -344,4 +344,54 @@ describe("Task Runs V2", () => {
344
344
expect ( result2 ) . toEqual ( [ ] ) ;
345
345
}
346
346
) ;
347
+
348
+ clickhouseTest (
349
+ "should be able to insert payloads with a duplicate path" ,
350
+ async ( { clickhouseContainer } ) => {
351
+ const client = new ClickhouseClient ( {
352
+ name : "test" ,
353
+ url : clickhouseContainer . getConnectionUrl ( ) ,
354
+ } ) ;
355
+
356
+ const insertPayloads = insertRawTaskRunPayloads ( client , {
357
+ async_insert : 0 , // turn off async insert for this test
358
+ } ) ;
359
+
360
+ const [ insertPayloadsError , insertPayloadsResult ] = await insertPayloads ( [
361
+ {
362
+ run_id : "run_1234" ,
363
+ created_at : Date . now ( ) ,
364
+ payload : {
365
+ data : {
366
+ title : {
367
+ id : "123" ,
368
+ } ,
369
+ "title.id" : 123 ,
370
+ } ,
371
+ } ,
372
+ } ,
373
+ ] ) ;
374
+
375
+ expect ( insertPayloadsError ) . toBeNull ( ) ;
376
+ expect ( insertPayloadsResult ) . toEqual ( expect . objectContaining ( { executed : true } ) ) ;
377
+ expect ( insertPayloadsResult ?. summary ?. written_rows ) . toEqual ( "1" ) ;
378
+
379
+ const queryPayloads = client . query ( {
380
+ name : "query-raw-task-run-payloads" ,
381
+ query : "SELECT * FROM trigger_dev.raw_task_runs_payload_v1" ,
382
+ schema : z . object ( {
383
+ run_id : z . string ( ) ,
384
+ created_at : z . coerce . date ( ) ,
385
+ payload : z . unknown ( ) ,
386
+ } ) ,
387
+ } ) ;
388
+
389
+ const [ queryPayloadsError , resultPayloads ] = await queryPayloads ( { run_id : "run_1234" } ) ;
390
+
391
+ expect ( queryPayloadsError ) . toBeNull ( ) ;
392
+ expect ( resultPayloads ) . toEqual (
393
+ expect . arrayContaining ( [ expect . objectContaining ( { run_id : "run_1234" } ) ] )
394
+ ) ;
395
+ }
396
+ ) ;
347
397
} ) ;
0 commit comments