package Ġnl . j ur aji . reactive . albums . api . pictures Ċ Ċ import Ġcom . nin jas quad . spring mock k . Mock k Bean Ċ import Ġio . mock k . every Ċ import Ġnl . j ur aji . reactive . albums . api . Api Test Configuration Ċ import Ġnl . j ur aji . reactive . albums . domain . pictures . Picture Id Ċ import Ġnl . j ur aji . reactive . albums . query . thumb nails . Thumbnail Ċ import Ġnl . j ur aji . reactive . albums . util . returns Mono Of Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . junit . jupiter . api . extension . Extend With Ċ import Ġorg . springframework . beans . factory . annotation . Autowired Ċ import Ġorg . springframework . boot . test . autoconfigure . web . reactive . Auto Configure Web Test Client Ċ import Ġorg . springframework . boot . test . autoconfigure . web . reactive . Web Flux Test Ċ import Ġorg . springframework . context . annotation . Import Ċ import Ġorg . springframework . http . MediaType Ċ import Ġorg . springframework . test . context . Active Profiles Ċ import Ġorg . springframework . test . context . junit . jupiter . Spring Extension Ċ import Ġorg . springframework . test . web . reactive . server . Web Test Client Ċ import Ġorg . springframework . test . web . reactive . server . expect Body Ċ import Ġjava . time . LocalDateTime Ċ Ċ @ Active Profiles (" test ") Ċ @ Extend With ( Spring Extension :: class ) Ċ @ Import ( Api Test Configuration :: class ) Ċ @ Web Flux Test ( Picture Image Controller :: class ) Ċ @ Auto Configure Web Test Client Ċ internal Ġclass ĠPicture Image Controller Test Ġ{ ĊĊĠĠĠ Ġ@ Mock k Bean ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġpicture Image Service : ĠPicture Image Service ĊĊĠĠĠ Ġ@ Autowired ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġweb Test Client : ĠWeb Test Client ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` get Picture Thumbnail Image Ġshould Ġrender Ġthumbnail Ġresource `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpicture Id Ġ= ĠPicture Id () ĊĠĠĠĠĠĠĠ Ġval Ġpicture Bytes : ĠByteArray Ġ= ĠByteArray ( 1 ). let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit [ 0 ] Ġ= ĠByte . MAX _ VALUE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġmedia Type Ġ= ĠMediaType . IMAGE _ JPEG ĊĠĠĠĠĠĠĠ Ġval Ġthumbnail Ġ= ĠThumb nail ( id Ġ= Ġ"", Ġthumbnail Ġ= Ġpicture Bytes , Ġlast Modified Time Ġ= ĠLocalDateTime . now (), ĠcontentType Ġ= Ġmedia Type . toString ()) ĊĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġpicture Image Service . get Thumbnail ( picture Id . identifier ) Ġ} Ġreturns Mono Of Ġthumbnail ĊĊĠĠĠĠĠĠĠ Ġweb Test Client . get () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. uri ("/ api / pictures /$ picture Id / thumbnail ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. accept ( MediaType . ALL ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. exchange () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. expect Status (). is Ok ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. expect Header (). contentType ( MediaType . IMAGE _ JPEG ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. expect Body < ByteArray >(). isEqualTo ( picture Bytes ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` get Picture Image Ġshould Ġrender Ġpicture Ġimage Ġresource `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpicture Id Ġ= ĠPicture Id () ĊĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġpicture Image Service . get Picture Location ( picture Id . identifier ) Ġ} Ġreturns Mono Of Ġ"./ src / test / resources / test . jpg " ĊĊĠĠĠĠĠĠĠ Ġweb Test Client . get () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. uri ("/ api / pictures /$ picture Id / image ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. accept ( MediaType . ALL ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. exchange () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. expect Status (). is Ok ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. expect Header (). contentType ( MediaType . IMAGE _ JPEG ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. expect Header (). content Length ( 1 5 5 3 ) ĊĠĠĠ Ġ} Ċ } Ċ