package Ġno . nav . bid rag . cucumber . controller Ċ Ċ import Ġno . nav . bid rag . commons . Correlation Id Ċ import Ġno . nav . bid rag . cucumber . Bid rag C ucumber Cloud Local Ċ import Ġno . nav . bid rag . cucumber . hen del se . H en del se Producer Ċ import Ġno . nav . bid rag . cucumber . model . Journal post H en del se Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . junit . jupiter . api . BeforeEach Ċ import Ġorg . junit . jupiter . api . DisplayName Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . mockito . kotlin . verify Ċ import Ġorg . springframework . beans . factory . annotation . Autowired Ċ import Ġorg . springframework . boot . test . context . SpringBootTest Ċ import Ġorg . springframework . boot . test . mock . mockito . Mock Bean Ċ import Ġorg . springframework . boot . test . web . client . Test Rest Template Ċ import Ġorg . springframework . http . Http Entity Ċ import Ġorg . springframework . http . HttpHeaders Ċ import Ġorg . springframework . http . HttpStatus Ċ import Ġorg . springframework . http . MediaType Ċ Ċ @ SpringBootTest ( classes Ġ= Ġ[ Bid rag C ucumber Cloud Local :: class ], Ġweb Environment Ġ= ĠSpring Boot Test . Web Environment . RANDOM _ PORT ) Ċ @ DisplayName (" H en del se Controller Ġ( mocked ĠHen del se Producer )") Ċ internal Ġclass ĠHen del se Controller Test Ġ{ ĊĊĠĠĠ Ġ@ Autowired ĊĠĠĠ Ġ@ Suppress (" Spring Java Injection Points Autow iring Inspection ") ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtest Rest Template : ĠTest Rest Template ĊĊĠĠĠ Ġ@ Mock Bean ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġh en del se Producer Mock : ĠHen del se Producer ĊĊĠĠĠ Ġ@ BeforeEach ĊĠĠĠ Ġfun Ġ` set t ĠCorre lation Id Ġfor Ġthread `() Ġ{ ĊĠĠĠĠĠĠĠ ĠCorre lation Id . generate Timestamp ed (" H en del se Controller ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` sk al Ġpub lis ere Ġme ld ing Ġmed ĠHen del se Producer `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġheaders Ġ= ĠHttp Headers () ĊĠĠĠĠĠĠĠ Ġheaders . contentType Ġ= ĠMediaType . APPLICATION _ JSON ĊĊĠĠĠĠĠĠĠ Ġval Ġtest Response Ġ= Ġtest Rest Template . post For Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"/ hen del se / op prett ", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠHttp Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" journal post Id ":" 1 0 0 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" br uk er ident ":" j umbo " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Margin (). trim (), Ġheaders ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVoid :: class . java ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( test Response . statusCode ). isEqualTo ( HttpStatus . OK ) ĊĊĠĠĠĠĠĠĠ Ġverify ( hen del se Producer Mock ). publish ( Journal post H en del se ( journal post Id Ġ= Ġ" 1 0 0 1 ")) ĊĠĠĠ Ġ} Ċ }