package Ġno . sk at te et aten . aur ora . b oo ber . controller . v 2 Ċ Ċ import Ġcom . nin jas quad . spring mock k . Mock k Bean Ċ import Ġio . mock k . every Ċ import Ġno . sk at te et aten . aur ora . b oo ber . controller . v 1 . Abstract Controller Test Ċ import Ġno . sk at te et aten . aur ora . b oo ber . facade . A ur ora Config Facade Ċ import Ġno . sk at te et aten . aur ora . b oo ber . model . A ur ora ConfigFile Ċ import Ġno . sk at te et aten . aur ora . b oo ber . model . A ur ora Context Command Ċ import Ġno . sk at te et aten . aur ora . b oo ber . service . Context Errors Ċ import Ġno . sk at te et aten . aur ora . b oo ber . service . Multi Application ValidationException Ċ import Ġno . sk at te et aten . aur ora . mock mvc . extensions . Path Ċ import Ġno . sk at te et aten . aur ora . mock mvc . extensions . contentType Ċ import Ġno . sk at te et aten . aur ora . mock mvc . extensions . get Ċ import Ġno . sk at te et aten . aur ora . mock mvc . extensions . put Ċ import Ġno . sk at te et aten . aur ora . mock mvc . extensions . response Json Path Ċ import Ġno . sk at te et aten . aur ora . mock mvc . extensions . status Ċ import Ġno . sk at te et aten . aur ora . mock mvc . extensions . status Is Ok Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . springframework . boot . test . autoconfigure . web . servlet . Web Mvc Test Ċ import Ġorg . springframework . http . HttpHeaders Ċ import Ġorg . springframework . http . HttpStatus Ċ Ċ @ Web Mvc Test ( controllers Ġ= Ġ[ A ur ora Config Controller V 2 :: class ]) Ċ class ĠA ur ora Config Controller V 2 Test Ġ: ĠAbstract Controller Test () Ġ{ ĊĊĠĠĠ Ġ@ Mock k Bean ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġfac ade : ĠA ur ora Config Facade ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Get Ġa ur ora Ġconfig Ġby Ġname `() Ġ{ ĊĠĠĠĠĠĠĠ Ġevery Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfac ade . find A ur ora Config ( aur ora Config Ref . copy ( ref Name Ġ= Ġ" dev ")) ĊĠĠĠĠĠĠĠ Ġ} Ġreturns Ġa ur ora Config ĊĊĠĠĠĠĠĠĠ Ġmock Mvc . get ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpath Ġ= ĠPath ("/ v 2 / aur or acon fig /{ aur ora Config Name }", Ġa ur ora Config Ref . name ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġheaders Ġ= ĠHttp Headers (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset (" Ref - Name ", Ġ" dev ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdocs Identifier Ġ= Ġ" reference - header " ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstatus Is Ok () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresponse Json Path (" $. success "). isTrue () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresponse Json Path (" $. items [ 0 ]. name "). equals Value ( aur ora Config Ref . name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresponse Json Path (" $. items [ 0 ]. files "). isNotEmpty () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Update ĠA ur ora Ġconfig Ġfile `() Ġ{ ĊĊĠĠĠĠĠĠĠ Ġevery Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfac ade . update A ur ora ConfigFile ( any (), Ġany (), Ġany (), Ġany ()) ĊĠĠĠĠĠĠĠ Ġ} Ġreturns ĠA ur ora ConfigFile (" my Name ", Ġ" my Contents ") ĊĊĠĠĠĠĠĠĠ Ġval Ġpayload Ġ= Ġ""" { Ġ" version ": Ġ" test " Ġ} """ ĊĠĠĠĠĠĠĠ Ġval ĠfileName Ġ= Ġ" file / name . json " ĊĊĠĠĠĠĠĠĠ Ġmock Mvc . put ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpath Ġ= ĠPath ("/ v 2 / aur or acon fig / test "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbody Ġ= Ġmap Of (" content " Ġto Ġpayload , Ġ" fileName " Ġto ĠfileName ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġheaders Ġ= ĠHttp Headers (). contentType () ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstatus Is Ok () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. response Json Path (" $. success "). isTrue () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. response Json Path (" $. count "). equals Value ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. response Json Path (" $. items "). isNotEmpty () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Update ĠA ur ora Ġconfig Ġfile Ġwith Ġvalidation Ġexception `() Ġ{ ĊĊĠĠĠĠĠĠĠ Ġevery Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfac ade . update A ur ora ConfigFile ( any (), Ġany (), Ġany (), Ġany ()) ĊĠĠĠĠĠĠĠ Ġ} Ġthrows ĠMulti Application ValidationException ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠContext Errors ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcommand Ġ= ĠA ur ora Context Command ( aur ora Config , Ġad r , Ġa ur ora Config Ref ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerrors Ġ= ĠlistOf ( RuntimeException (" This Ġis Ġan Ġerror ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġpayload Ġ= Ġ""" { Ġ" abc ": Ġ" cba " Ġ} """ ĊĠĠĠĠĠĠĠ Ġval ĠfileName Ġ= Ġ" file / name . txt " ĊĊĠĠĠĠĠĠĠ Ġmock Mvc . put ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpath Ġ= ĠPath ("/ v 2 / aur or acon fig / test "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbody Ġ= Ġmap Of (" content " Ġto Ġpayload , Ġ" fileName " Ġto ĠfileName ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġheaders Ġ= ĠHttp Headers (). contentType () ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstatus ( HttpStatus . BAD _ REQUEST ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. response Json Path (" $. success "). isFalse () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. response Json Path (" $. message "). contains (" An Ġerror Ġoccurred Ġfor Ġone Ġor Ġmore Ġapplications ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. response Json Path (" $. items "). isNotEmpty () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ