package Ġcom . github . luc as ls . kotlin x . wire mock Ċ Ċ import Ġcom . github . tom ake hur st . wire mock . client . Wire Mock Ċ import Ġcom . github . tom ake hur st . wire mock . extension . Parameters Ċ import Ġcom . github . tom ake hur st . wire mock . matching . Multipart Value Pattern Builder Ċ import Ġcom . github . tom ake hur st . wire mock . matching . Request Matcher Extension Ċ import Ġcom . github . tom ake hur st . wire mock . matching . Request Pattern Builder Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . any Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . argument Captor Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . mock Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . verify Ċ import Ġhelpers . has Same Fields Of Ċ import Ġorg . assertj . core . api . Assertions Ċ import Ġorg . junit . jupiter . api . Dynamic Test Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . junit . jupiter . api . Test Factory Ċ import Ġorg . junit . jupiter . api . extension . Extend With Ċ import Ġorg . mockito . junit . jupiter . Mockito Extension Ċ Ċ @ Extend With ( Mockito Extension :: class ) Ċ internal Ġclass ĠRequest Pattern Builder Extensions Kt Test Ġ{ ĊĠĠĠ Ġ@ Test Factory ĊĠĠĠ Ġfun Ġ` extension Ġwith Ġblock Ġshould Ġmatch Ġoriginal ` (): ĠList < Dynamic Test > Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠG IV EN ĊĠĠĠĠĠĠĠ Ġval Ġurl Pattern Ġ= ĠWire Mock . any Url () ĊĠĠĠĠĠĠĠ Ġval Ġreq Matcher Ġ= Ġ" req Ġmatcher " ĊĠĠĠĠĠĠĠ Ġval Ġparameters Ġ= ĠParameters . empty () ĊĠĠĠĠĠĠĠ Ġval Ġreq Matcher Ext Ġ= ĠRequest Matcher Extension . ALWAYS ĊĊĠĠĠĠĠĠĠ Ġval Ġblock : ĠRequest Pattern Builder . () Ġ-> ĠUnit Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith QueryParam (" q ", ĠWire Mock . equalTo (" test ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith Header (" h ", ĠWire Mock . equalTo (" test ")) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn ĠlistOf < Triple < String , Ġ() Ġ-> ĠRequest Pattern Builder , Ġ() Ġ-> ĠRequest Pattern Builder >>( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTrip le ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" get Requested For ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĠWire Mock . get Requested For ( url Pattern ) Ġ}, Ġ{ Ġget Requested For ( url Pattern , Ġblock ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTrip le ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" post Requested For ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĠWire Mock . post Requested For ( url Pattern ) Ġ}, Ġ{ Ġpost Requested For ( url Pattern , Ġblock ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTrip le ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" put Requested For ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĠWire Mock . put Requested For ( url Pattern ) Ġ}, Ġ{ Ġput Requested For ( url Pattern , Ġblock ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTrip le ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" delete Requested For ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĠWire Mock . delete Requested For ( url Pattern ) Ġ}, Ġ{ Ġdelete Requested For ( url Pattern , Ġblock ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTrip le ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" patch Requested For ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĠWire Mock . patch Requested For ( url Pattern ) Ġ}, Ġ{ Ġpatch Requested For ( url Pattern , Ġblock ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTrip le ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" head Requested For ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĠWire Mock . head Requested For ( url Pattern ) Ġ}, Ġ{ Ġhead Requested For ( url Pattern , Ġblock ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTrip le ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" options Requested For ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĠWire Mock . options Requested For ( url Pattern ) Ġ}, Ġ{ Ġoptions Requested For ( url Pattern , Ġblock ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTrip le ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" trace Requested For ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĠWire Mock . trace Requested For ( url Pattern ) Ġ}, Ġ{ Ġtrace Requested For ( url Pattern , Ġblock ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTrip le ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" any Requested For ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĠWire Mock . any Requested For ( url Pattern ) Ġ}, Ġ{ Ġany Requested For ( url Pattern , Ġblock ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTrip le ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" request Made For ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĠWire Mock . request Made For ( req Matcher , Ġparameters ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġrequest Made For ( req Matcher , Ġparameters , Ġblock ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTrip le ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" request Made For ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĠWire Mock . request Made For ( req Matcher Ext ) Ġ}, Ġ{ Ġrequest Made For ( req Matcher Ext , Ġblock ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ). map Ġ{ Ġ( name , Ġoriginal Factory , Ġextension Factory ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDynamic Test . dynamic Test ( name ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠWHEN ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġorig Ġ= Ġoriginal Factory (). also ( block ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġext Ġ= Ġextension Factory () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠTHEN ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAssertions . assertThat ( ext ) Ġhas Same Fields Of Ġorig ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Factory ĊĠĠĠ Ġfun Ġ` extension Ġwithout Ġblock Ġshould Ġmatch Ġoriginal ` (): ĠList < Dynamic Test > Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠG IV EN ĊĠĠĠĠĠĠĠ Ġval Ġurl Pattern Ġ= ĠWire Mock . any Url () ĊĠĠĠĠĠĠĠ Ġval Ġreq Matcher Ġ= Ġ" req Ġmatcher " ĊĠĠĠĠĠĠĠ Ġval Ġparameters Ġ= ĠParameters . empty () ĊĠĠĠĠĠĠĠ Ġval Ġreq Matcher Ext Ġ= ĠRequest Matcher Extension . ALWAYS ĊĊĠĠĠĠĠĠĠ Ġreturn ĠlistOf < Triple < String , Ġ() Ġ-> ĠRequest Pattern Builder , Ġ() Ġ-> ĠRequest Pattern Builder >>( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTrip le ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" get Requested For ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĠWire Mock . get Requested For ( url Pattern ) Ġ}, Ġ{ Ġget Requested For ( url Pattern ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTrip le ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" post Requested For ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĠWire Mock . post Requested For ( url Pattern ) Ġ}, Ġ{ Ġpost Requested For ( url Pattern ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTrip le ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" put Requested For ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĠWire Mock . put Requested For ( url Pattern ) Ġ}, Ġ{ Ġput Requested For ( url Pattern ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTrip le ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" delete Requested For ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĠWire Mock . delete Requested For ( url Pattern ) Ġ}, Ġ{ Ġdelete Requested For ( url Pattern ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTrip le ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" patch Requested For ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĠWire Mock . patch Requested For ( url Pattern ) Ġ}, Ġ{ Ġpatch Requested For ( url Pattern ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTrip le ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" head Requested For ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĠWire Mock . head Requested For ( url Pattern ) Ġ}, Ġ{ Ġhead Requested For ( url Pattern ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTrip le ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" options Requested For ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĠWire Mock . options Requested For ( url Pattern ) Ġ}, Ġ{ Ġoptions Requested For ( url Pattern ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTrip le ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" trace Requested For ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĠWire Mock . trace Requested For ( url Pattern ) Ġ}, Ġ{ Ġtrace Requested For ( url Pattern ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTrip le ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" any Requested For ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĠWire Mock . any Requested For ( url Pattern ) Ġ}, Ġ{ Ġany Requested For ( url Pattern ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTrip le ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" request Made For ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĠWire Mock . request Made For ( req Matcher , Ġparameters ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġrequest Made For ( req Matcher , Ġparameters ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTrip le ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" request Made For ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĠWire Mock . request Made For ( req Matcher Ext ) Ġ}, Ġ{ Ġrequest Made For ( req Matcher Ext ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ). map Ġ{ Ġ( name , Ġoriginal Factory , Ġextension Factory ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDynamic Test . dynamic Test ( name ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠWHEN ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġorig Ġ= Ġoriginal Factory () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġext Ġ= Ġextension Factory () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠTHEN ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAssertions . assertThat ( ext ) Ġhas Same Fields Of Ġorig ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` with Any RequestBody Part Ġshould Ġcall Ġoriginal Ġand Ġapply Ġblock `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠG IV EN ĊĠĠĠĠĠĠĠ Ġval Ġname Ġ= Ġ" name " ĊĊĠĠĠĠĠĠĠ Ġval Ġrequest Pattern Builder : ĠRequest Pattern Builder Ġ= Ġmock Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Ġ{ Ġwith Any RequestBody Part ( any ()) Ġ}. then Ġ{ Ġit . mock Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠWHEN ĊĠĠĠĠĠĠĠ Ġrequest Pattern Builder . with Any RequestBody Part Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith Name ( name ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠTHEN ĊĠĠĠĠĠĠĠ Ġval Ġext Ġ= Ġargument Captor < Multipart Value Pattern Builder > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( request Pattern Builder ). with Any RequestBody Part ( capture ()) ĊĠĠĠĠĠĠĠ Ġ}. first Value ĊĊĠĠĠĠĠĠĠ Ġval Ġorig Ġ= ĠWire Mock . a Multipart () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Name ( name ) ĊĊĠĠĠĠĠĠĠ ĠAssertions . assertThat ( ext ) Ġhas Same Fields Of Ġorig ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` with All RequestBody Parts Ġshould Ġcall Ġoriginal Ġand Ġapply Ġblock `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠG IV EN ĊĠĠĠĠĠĠĠ Ġval Ġname Ġ= Ġ" name " ĊĊĠĠĠĠĠĠĠ Ġval Ġrequest Pattern Builder : ĠRequest Pattern Builder Ġ= Ġmock Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Ġ{ Ġwith All RequestBody Parts ( any ()) Ġ}. then Ġ{ Ġit . mock Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠWHEN ĊĠĠĠĠĠĠĠ Ġrequest Pattern Builder . with All RequestBody Parts Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith Name ( name ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠTHEN ĊĠĠĠĠĠĠĠ Ġval Ġext Ġ= Ġargument Captor < Multipart Value Pattern Builder > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( request Pattern Builder ). with All RequestBody Parts ( capture ()) ĊĠĠĠĠĠĠĠ Ġ}. first Value ĊĊĠĠĠĠĠĠĠ Ġval Ġorig Ġ= ĠWire Mock . a Multipart () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Name ( name ) ĊĊĠĠĠĠĠĠĠ ĠAssertions . assertThat ( ext ) Ġhas Same Fields Of Ġorig ĊĠĠĠ Ġ} Ċ }