/* Ċ Ġ* ĠLicensed Ġto Ġthe ĠApache ĠSoftware ĠFoundation Ġ( ASF ) Ġunder Ġone Ċ Ġ* Ġor Ġmore Ġcontributor Ġlicense Ġagreements . Ġ ĠSee Ġthe ĠNOTICE Ġfile Ċ Ġ* Ġdistributed Ġwith Ġthis Ġwork Ġfor Ġadditional Ġinformation Ċ Ġ* Ġregarding Ġcopyright Ġownership . Ġ ĠThe ĠASF Ġlicenses Ġthis Ġfile Ċ Ġ* Ġto Ġyou Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ċ Ġ* Ġ" License "); Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ċ Ġ* Ġwith Ġthe ĠLicense . Ġ ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ċ Ġ* Ġsoftware Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ċ Ġ* Ġ" AS ĠIS " ĠBASIS , ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY Ċ Ġ* ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ġ ĠSee Ġthe ĠLicense Ġfor Ġthe Ċ Ġ* Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ġlimitations Ċ Ġ* Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġio . f lood plain . integration Ċ Ċ import Ġio . f lood plain . test . Instanti ated Container Ċ import Ġio . f lood plain . test . Instanti ated Kafka Container Ċ import Ġio . f lood plain . test . Instanti ated Red P anda Container Ċ import Ġio . f lood plain . test . RED P AND A _ IMAGE Ċ import Ġorg . apache . kafka . clients . admin . Admin Client Ċ import Ġorg . junit . jupiter . api . Method Order er Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . junit . jupiter . api . TestMethod Order Ċ import Ġjava . util . UUID Ċ Ċ private Ġval Ġlogger Ġ= Ġmu . Kotlin Logging . logger Ġ{} Ċ Ċ @ TestMethod Order ( ĊĠĠĠ ĠMethod Order er . MethodName :: class ) Ċ class ĠTest Red P anda Performance Ġ{ ĊĠĠĠ Ġ// Ġprivate Ġval Ġkafka Container Ġ= ĠInstanti ated Kafka Container () ĊĠĠĠ Ġ// Ġprivate Ġval Ġcontainer Network Ġ= ĠNetwork . new Network () ĊĠĠĠ Ġ// Ġprivate Ġval Ġkafka Container Ġ= ĠKafka Container ( Docker Image Name . parse (" con fluent inc / cp - kafka ") ĊĠĠĠ Ġ// ĠĠ Ġ. with Tag Ġ(" 5 . 5 . 3 ")). with Embedded Z ookeeper (). with Ex posed Ports ( 9 0 9 2 ) ĊĊĠĠĠ Ġ// ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Environment ĠW arm up `() Ġ{ ĊĠĠĠĠĠĠĠ ĠInstanti ated Container (" f lood plain / f lood plain - postgres - demo : 1 . 0 . 0 ", Ġ 5 4 3 2 , Ġmap Of ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Test ĠRed ĠP anda Ġuntil Ġtopic Ġlist `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontainer Ġ= ĠInstanti ated Red P anda Container ( RED P AND A _ IMAGE ) ĊĠĠĠĠĠĠĠ Ġval Ġport Ġ= Ġcontainer . ex posed Port ĊĠĠĠĠĠĠĠ Ġval Ġconfig : ĠMutable Map < String , ĠAny > Ġ= ĠHashMap () ĊĠĠĠĠĠĠĠ Ġconfig [" bootstrap . servers "] Ġ= Ġ" localhost :$ port " Ġ// Ġ" localhost :${ red P anda Container . ex posed Port }" ĊĠĠĠĠĠĠĠ Ġconfig [" client . id "] Ġ= ĠUUID . randomUUID (). toString () ĊĠĠĠĠĠĠĠ Ġval Ġadmin Client Ġ= ĠAdmin Client . create ( config ) ĊĠĠĠĠĠĠĠ Ġval Ġtopics Ġ= Ġadmin Client . list Topics (). names (). get () ĊĠĠĠĠĠĠĠ Ġprintln (" Topics : Ġ$ topics ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Test ĠKafka Ġuntil Ġtopic Ġlist `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontainer Ġ= ĠInstanti ated Kafka Container () ĊĠĠĠĠĠĠĠ Ġval Ġport Ġ= Ġcontainer . ex posed Port ĊĠĠĠĠĠĠĠ Ġval Ġconfig : ĠMutable Map < String , ĠAny > Ġ= ĠHashMap () ĊĠĠĠĠĠĠĠ Ġconfig [" bootstrap . servers "] Ġ= Ġ" localhost :$ port " Ġ// Ġ" localhost :${ red P anda Container . ex posed Port }" ĊĠĠĠĠĠĠĠ Ġconfig [" client . id "] Ġ= ĠUUID . randomUUID (). toString () ĊĠĠĠĠĠĠĠ Ġval Ġadmin Client Ġ= ĠAdmin Client . create ( config ) ĊĠĠĠĠĠĠĠ Ġval Ġtopics Ġ= Ġadmin Client . list Topics (). names (). get () ĊĠĠĠĠĠĠĠ Ġprintln (" Topics : Ġ$ topics ") ĊĠĠĠ Ġ} Ċ } Ċ