package Ġru . ot us . ot us kotlin . mar ke place . spring app Ċ Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . springframework . beans . factory . annotation . Autowired Ċ import Ġorg . springframework . boot . test . context . SpringBootTest Ċ import Ġorg . springframework . boot . test . web . client . Test Rest Template Ċ import Ġorg . springframework . boot . web . server . Local Server Port Ċ import Ġru . ot us . ot us kotlin . marketplace . openapi . models .* Ċ Ċ @ SpringBootTest ( web Environment Ġ= ĠSpring Boot Test . Web Environment . RANDOM _ PORT ) Ċ class ĠApplication Tests Ġ{ ĊĊĠĠĠ Ġ@ Local Server Port ĊĠĠĠ Ġvar Ġport : ĠInt Ġ= Ġ 0 ĊĊĠĠĠ Ġ@ Autowired ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġrest Template : ĠTest Rest Template ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcreate Request () Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠrequestId Ġ= Ġ" 1 1 1 1 1 1 1 1 - 1 1 1 1 - 1 1 1 1 - 1 1 1 1 - 1 1 1 1 1 1 1 1 1 1 1 1 " ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠCreate Ad Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠrequestId Ġ= ĠrequestId , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Ad Ġ= ĠCreate able Ad ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ" One ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ" Two ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġowner Id Ġ= Ġ" 3 4 5 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠAd Visibility . OWNER _ ONLY , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdeal Side Ġ= ĠAd Deal Side . DE M AND , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Ġ= ĠAd Product B olt ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġl eng h Ġ= Ġ 3 0 . 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdiameter Ġ= Ġ 8 . 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthread Pitch Ġ= Ġ 0 . 4 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdebug Ġ= ĠBase Debug Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmode Ġ= ĠBase Debug Request . Mode . ST UB , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstub Case Ġ= ĠBase Debug Request . Stub Case . SUCCESS ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġresponse : ĠCreate Ad Response Ġ= Ġrest Template . post For Object ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" http :// localhost :${ port }/ ad / create ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCreate Ad Response :: class . java , ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertThat ( response . requestId ). isEqualTo ( requestId ) ĊĠĠĠĠĠĠĠ ĠassertThat ( response . created Ad ?. visibility ). isEqualTo ( Ad Visibility . OWNER _ ONLY ) ĊĠĠĠ Ġ} Ċ Ċ } Ċ