package Ġorg . co def irst . wsdl 2 kotlin Ċ Ċ import Ġcom . github . tom ake hur st . wire mock . client . Wire Mock . a Response Ċ import Ġcom . github . tom ake hur st . wire mock . client . Wire Mock . post Ċ import Ġcom . github . tom ake hur st . wire mock . client . Wire Mock . stub For Ċ import Ġcom . github . tom ake hur st . wire mock . client . Wire Mock . url EqualTo Ċ import Ġcom . github . tom ake hur st . wire mock . junit . Wire Mock Rule Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Rule Ċ import Ġorg . junit . Test Ċ import Ġorg . w 3 c . dom . Element Ċ import Ġkotlin . test . assertEquals Ċ Ċ class ĠSample Service Ġ: ĠW SDL Service () Ġ{ ĊĠĠĠ Ġoverride Ġval Ġtarget Namespace Ġ= Ġ" http :// service . sample . co def irst . org /" ĊĠĠĠ Ġoverride Ġvar Ġendpoint Ġ= Ġ" http :// localhost : 1 8 0 8 0 " ĊĠĠĠ Ġoverride Ġvar Ġpath Ġ= Ġ" service " ĊĊĠĠĠ Ġfun Ġrequest ( parameters : ĠSample Service _ echo String ): ĠSample Service _ echo String Response Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġrequest Generic < Sample Service _ echo String , ĠSample Service _ echo String Response >( parameters ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠSample Service _ echo String Ġ: ĠXSD Type () Ġ{ ĊĠĠĠ Ġvar Ġarg 0 : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġxml Params (): ĠArray < XML Param > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠXML Param ("", Ġ" arg 0 ", Ġarg 0 , ĠString :: class ), ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġread SOAP Envelope ( body Element : ĠElement ) Ġ{ ĊĠĠĠĠĠĠĠ Ġarg 0 Ġ= Ġread SOAP Envelope Field Nullable ( body Element , Ġ" arg 0 ", ĠString :: class ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠSample Service _ echo String Response Ġ: ĠXSD Type () Ġ{ ĊĠĠĠ Ġvar Ġ` return `: ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġxml Params (): ĠArray < XML Param > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠXML Param ("", Ġ" return ", Ġ` return `, ĠString :: class ), ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġread SOAP Envelope ( body Element : ĠElement ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ` return ` Ġ= Ġread SOAP Envelope Field Nullable ( body Element , Ġ" return ", ĠString :: class ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠW SDL Service String Test Ġ{ ĊĊĠĠĠ Ġ@ Rule ĊĠĠĠ Ġ@ Jvm Field ĊĠĠĠ Ġvar Ġwire Mock Rule Ġ= ĠWire Mock Rule ( 1 8 0 8 0 ) ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun Ġsetup () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresponse Body Ġ= Ġ""" <? xml Ġversion =' 1 . 0 ' Ġencoding =' UTF - 8 ' ?> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ|< S : Envelope Ġxmlns : S =" http :// schemas . xml soap . org / soap / envelope /"> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ|< S : Body >< ns 2 : echo String Response Ġxmlns : ns 2 =" http :// service . sample . co def irst . org /"> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ|< return > test </ return ></ ns 2 : echo String Response ></ S : Body > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ| </ S : Envelope > """. trim Margin () ĊĊĠĠĠĠĠĠĠ Ġstub For ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpost ( url EqualTo ("/ service ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. willReturn ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġa Response () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Header (" Content - Type ", Ġ" text / xml ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Body ( response Body ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Echo String () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġparams Ġ= ĠSample Service _ echo String () ĊĠĠĠĠĠĠĠ Ġparams . arg 0 Ġ= Ġ" test " ĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= ĠSample Service (). request ( params ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" test ", Ġresponse .` return `) ĊĠĠĠ Ġ} Ċ } Ċ