package Ġcom . mongodb . reactor . client . tracing Ċ Ċ import Ġbr ave . Tracing Ċ import Ġcom . mongodb . reactiv est ream s . client . List Databases Publisher Ċ import Ġio . mock k . confirm Verified Ċ import Ġio . mock k . mock k Ċ import Ġio . mock k . spy k Ċ import Ġio . mock k . verify Ċ import Ġio . mock k . verify All Ċ import Ġorg . bson . B son Document Ċ import Ġorg . bson . Document Ċ import Ġorg . junit . jupiter . api . After Each Ċ import Ġorg . junit . jupiter . api . BeforeEach Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġreactor . core . publisher . Operators Ċ import Ġreactor . kotlin . test . test Ċ import Ġjava . util . concurrent . TimeUnit Ċ Ċ internal Ġclass ĠTr acing List Database Flux Test Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġtracing Ġ= Ġmock k < Tracing >( relax ed Ġ= Ġtrue ) ĊĠĠĠ Ġprivate Ġval Ġpublisher Ġ= Ġmock k < List Databases Publisher < Document >>( relax ed Ġ= Ġtrue ) ĊĠĠĠ Ġprivate Ġval Ġtracing Flux Ġ= Ġspy k ( Tracing List Database Flux ( publisher , Ġtracing )) ĊĠĠĠ Ġprivate Ġval Ġclient Ġ= ĠMongo Container . client ĊĊĠĠĠ Ġ@ BeforeEach ĊĠĠĠ Ġfun Ġinit () Ġ{ ĊĠĠĠĠĠĠĠ ĠMongo Container . init Data () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ After Each ĊĠĠĠ Ġfun Ġclean () Ġ{ ĊĠĠĠĠĠĠĠ ĠMongo Container . clear Data () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` tracing Ġlist Ġdatabase Ġflux Ġshould Ġalways Ġdelegate Ġmethod Ġcalls Ġto Ġthe Ġunderlying Ġpublisher `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdocument Ġ= ĠB son Document () ĊĠĠĠĠĠĠĠ Ġtracing Flux . filter ( document ) ĊĠĠĠĠĠĠĠ Ġtracing Flux . max Time ( 1 0 , ĠTimeUnit . SECONDS ) ĊĠĠĠĠĠĠĠ Ġtracing Flux . name Only ( true ) ĊĠĠĠĠĠĠĠ Ġtracing Flux . authorized Databases Only ( true ) ĊĠĠĠĠĠĠĠ Ġtracing Flux . batch Size ( 1 0 ) ĊĠĠĠĠĠĠĠ Ġtracing Flux . first () ĊĠĠĠĠĠĠĠ Ġverify All Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpublisher . filter ( document ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpublisher . max Time ( 1 0 , ĠTimeUnit . SECONDS ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpublisher . name Only ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpublisher . authorized Databases Only ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpublisher . batch Size ( 1 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpublisher . first () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġconfirm Verified ( publisher ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` tracing Ġlist Ġdatabase Ġflux Ġshould Ġemit Ġitems `() Ġ{ ĊĠĠĠĠĠĠĠ Ġclient ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. to Tracing Reactor ( tracing ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. list Database Names () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit Ġ== ĠMongo Container . DATABASE _ NAME Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. test () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. expect Subscription () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. expect Next Count ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. verify Complete () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` tracing Ġlist Ġdatabase Ġflux Ġusing Ġdedicated Ġsubscriber `() Ġ{ ĊĠĠĠĠĠĠĠ Ġtracing Flux . subscribe ( Operators . empty Subscriber ()) ĊĠĠĠĠĠĠĠ Ġverify Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpublisher . subscribe ( match Ġ{ Ġit Ġis ĠScope Pass ing Span Subscriber Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġconfirm Verified ( publisher ) ĊĠĠĠ Ġ} Ċ } Ċ