package Ġjson sql . integration Ċ Ċ import Ġcom . sales force . kafka . test . junit 5 . Shared Kafka Test Resource Ċ import Ġorg . apache . kafka . clients . producer . Producer Record Ċ import Ġorg . apache . kafka . common . serialization . String Serializer Ċ import Ġorg . junit . platform . runner . JUnit Platform Ċ import Ġorg . junit . runner . RunWith Ċ import Ġorg . spe k framework . spe k 2 . Spe k Ċ import Ġorg . spe k framework . spe k 2 . style . specification . describe ĊĊ Ċ @ RunWith ( JUnit Platform :: class ) Ċ object ĠKafka Test : ĠSpe k ({ ĊĊĠĠĠ Ġval Ġshared Kafka Test Resource Ġ= ĠShared Kafka Test Resource () ĊĠĠĠ Ġbefore Group Ġ{ ĊĠĠĠĠĠĠĠ Ġshared Kafka Test Resource . before All ( null ) ĊĠĠĠĠĠĠĠ Ġ// ĠFirst ĠWrite Ġthe Ġrecords Ġinto Ġkafka ĊĠĠĠĠĠĠĠ Ġval Ġkafka Utils Ġ= Ġshared Kafka Test Resource . kafka TestUtils ĊĠĠĠĠĠĠĠ Ġkafka Utils . create Topic (" my Topic ", Ġ 2 , Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġval Ġproducer Ġ= Ġkafka Utils . get Kafka Producer ( String Serializer :: class . java , ĠString Serializer :: class . java ) ĊĠĠĠĠĠĠĠ Ġval Ġf 1 Ġ= Ġproducer . send ( Producer Record (" my Topic ", Ġ 0 , Ġ" 1 ", Ġ"{\" foo \": Ġ 1 , Ġ\" bar \":\" abc \" } ")) ĊĠĠĠĠĠĠĠ Ġval Ġf 2 Ġ= Ġproducer . send ( Producer Record (" my Topic ", Ġ 1 , Ġ" 2 ", Ġ"{\" foo \": Ġ 2 , Ġ\" bar \":\" def \" } ")) ĊĠĠĠĠĠĠĠ Ġf 1 . get () ĊĠĠĠĠĠĠĠ Ġf 2 . get () ĊĠĠĠ Ġ} ĊĠĠĠ Ġafter Group Ġ{ Ġshared Kafka Test Resource . after All ( null ) Ġ} ĊĊĠĠĠ Ġdescribe (" Kafka ĠReads ") Ġ{ ĊĠĠĠĠĠĠĠ Ġit (" works ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġconnection String Ġ= Ġshared Kafka Test Resource . kafka Connect String . remove Prefix (" PL AINT EXT :// ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Query (" SELECT Ġfoo , Ġbar ĠFROM Ġjson Ġ' kafka :// $ connectionString / my Topic ' ĠORDER ĠBY Ġfoo ;", Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 . 0 Ġ| Ġabc ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 . 0 Ġ| Ġdef ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }) Ġ{ Ċ }