@@ -516,14 +516,44 @@ def test_parse_duplicate_column_names
516516,,0,2022-09-13T06:14:40.469404272Z,2022-09-13T06:24:40.469404272Z,2022-09-13T06:24:39.299Z,my_measurement,Prague,25.3
517517,,0,2022-09-13T06:14:40.469404272Z,2022-09-13T06:24:40.469404272Z,2022-09-13T06:24:40.454Z,my_measurement,Prague,25.3'
518518
519- tables = InfluxDB2 ::FluxCsvParser . new ( data , stream : false , response_mode : InfluxDB2 ::FluxResponseMode ::ONLY_NAMES )
520- . parse
521- . tables
522- assert_equal 1 , tables . size
523- assert_equal 8 , tables [ 0 ] . columns . size
524- assert_equal 3 , tables [ 0 ] . records . size
525- assert_equal 7 , tables [ 0 ] . records [ 0 ] . values . size
526- assert_equal 8 , tables [ 0 ] . records [ 0 ] . row . size
527- assert_equal 25.3 , tables [ 0 ] . records [ 0 ] . row [ 7 ]
519+ out , = capture_io do
520+ tables = InfluxDB2 ::FluxCsvParser . new ( data , stream : false , response_mode : InfluxDB2 ::FluxResponseMode ::ONLY_NAMES )
521+ . parse
522+ . tables
523+
524+ assert_equal 1 , tables . size
525+ assert_equal 8 , tables [ 0 ] . columns . size
526+ assert_equal 3 , tables [ 0 ] . records . size
527+ assert_equal 7 , tables [ 0 ] . records [ 0 ] . values . size
528+ assert_equal 8 , tables [ 0 ] . records [ 0 ] . row . size
529+ assert_equal 25.3 , tables [ 0 ] . records [ 0 ] . row [ 7 ]
530+ end
531+
532+ assert_match 'The response contains columns with duplicated names: result' , out
533+ end
534+
535+ def test_parse_without_duplicates
536+ data = '#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,double
537+ #group,false,false,true,true,false,true,true,false
538+ #default,_result,,,,,,,
539+ ,result,table,_start,_stop,_time,_measurement,location,result2
540+ ,,0,2022-09-13T06:14:40.469404272Z,2022-09-13T06:24:40.469404272Z,2022-09-13T06:24:33.746Z,my_measurement,Prague,25.3
541+ ,,0,2022-09-13T06:14:40.469404272Z,2022-09-13T06:24:40.469404272Z,2022-09-13T06:24:39.299Z,my_measurement,Prague,25.3
542+ ,,0,2022-09-13T06:14:40.469404272Z,2022-09-13T06:24:40.469404272Z,2022-09-13T06:24:40.454Z,my_measurement,Prague,25.3'
543+
544+ out , = capture_io do
545+ tables = InfluxDB2 ::FluxCsvParser . new ( data , stream : false , response_mode : InfluxDB2 ::FluxResponseMode ::ONLY_NAMES )
546+ . parse
547+ . tables
548+
549+ assert_equal 1 , tables . size
550+ assert_equal 8 , tables [ 0 ] . columns . size
551+ assert_equal 3 , tables [ 0 ] . records . size
552+ assert_equal 8 , tables [ 0 ] . records [ 0 ] . values . size
553+ assert_equal 8 , tables [ 0 ] . records [ 0 ] . row . size
554+ assert_equal 25.3 , tables [ 0 ] . records [ 0 ] . row [ 7 ]
555+ end
556+
557+ assert_equal '' , out
528558 end
529559end
0 commit comments