package Ġio . v rap . codegen . languages . php . base Ċ Ċ import Ġio . v rap . codegen . languages . php . Php Sub Templates Ċ import Ġio . v rap . codegen . languages . php . extensions .* Ċ import Ġio . v rap . rm f . codegen . di . Base PackageName Ċ import Ġio . v rap . rm f . codegen . io . Template File Ċ import Ġio . v rap . rm f . codegen . rend ring . File Producer Ċ import Ġio . v rap . rm f . r aml . model . modules . Api Ċ Ċ class ĠPhp Base Test File Producer Ġconstructor ( val Ġapi : ĠApi , Ġ@ Base PackageName Ġval Ġpackage Prefix : ĠString ) Ġ: ĠFile Producer Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġproduce Files (): ĠList < Template File > Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠ Ġapi Request Test () ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġprivate Ġfun Ġapi Request Test (): ĠTemplate File Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠTemplate File ( relative Path Ġ= Ġ" test / unit / Client / ApiRequest Test . php ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| <? php ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ${ Php Sub Templates . generator Info } ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| namespace Ġ${ package Prefix . to Namespace Name () }\ Test \ Client ; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| use Ġ${ package Prefix . to Namespace Name () }\ Client \ ApiRequest ; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| use Ġ${ package Prefix . to Namespace Name () }\ Base \ Result Mapper ; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| use Ġ${ package Prefix . to Namespace Name () }\ Base \ JsonObject ; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| use ĠPHPUnit \ Framework \ TestCase ; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| use ĠP sr \ Http \ Message \ Response Interface ; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| use ĠGu zzleHttp \ Client Interface ; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| /** ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| Ġ* Ġ@ covers Ġ\ ${ package Prefix . to Namespace Name () }\ Client \ ApiRequest ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| class ĠApi Request Test Ġextends ĠTestCase ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠ Ġpublic Ġfunction Ġtest With QueryParam () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠĠĠĠĠ Ġ$ ! client Ġ= Ġ$ ! this -> create Mock ( Client Interface :: class ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠĠĠĠĠ Ġ$ ! request Ġ= Ġnew ĠApi Request ($ ! client , Ġ' get ', Ġ'/ '); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠĠĠĠĠ Ġ$ ! request Ġ= Ġ$ ! request -> with QueryParam (' foo ', Ġ' bar '); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠĠĠĠĠ Ġ$ ! this -> assertSame (' foo = bar ', Ġ$ ! request -> get Uri ()-> getQuery ()); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠĠĠĠĠ Ġ$ ! request Ġ= Ġ$ ! request -> with QueryParam (' foo ', Ġ' baz '); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠĠĠĠĠ Ġ$ ! this -> assertSame (' foo = bar & foo = baz ', Ġ$ ! request -> get Uri ()-> getQuery ()); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠĠĠĠĠ Ġ$ ! request Ġ= Ġ$ ! request -> with QueryParam (' bar ', Ġ' foo '); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠĠĠĠĠ Ġ$ ! this -> assertSame (' bar = foo & foo = bar & foo = baz ', Ġ$ ! request -> get Uri ()-> getQuery ()); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠĠĠĠĠ Ġ$ ! request Ġ= Ġ$ ! request -> with QueryParam (' bar ', Ġ' baz '); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠĠĠĠĠ Ġ$ ! this -> assertSame (' bar = foo & bar = baz & foo = bar & foo = baz ', Ġ$ ! request -> get Uri ()-> getQuery ()); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠ Ġpublic Ġfunction Ġtest With QueryParam Array () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠĠĠĠĠ Ġ$ ! client Ġ= Ġ$ ! this -> create Mock ( Client Interface :: class ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠĠĠĠĠ Ġ$ ! request Ġ= Ġnew ĠApi Request ($ ! client , Ġ' get ', Ġ'/ '); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠĠĠĠĠ Ġ$ ! request Ġ= Ġ$ ! request -> with QueryParam (' foo ', Ġ[' bar ']); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠĠĠĠĠ Ġ$ ! this -> assertSame (' foo = bar ', Ġ$ ! request -> get Uri ()-> getQuery ()); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠĠĠĠĠ Ġ$ ! request Ġ= Ġ$ ! request -> with QueryParam (' foo ', Ġ' baz '); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠĠĠĠĠ Ġ$ ! this -> assertSame (' foo = bar & foo = baz ', Ġ$ ! request -> get Uri ()-> getQuery ()); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠĠĠĠĠ Ġ$ ! request Ġ= Ġ$ ! request -> with QueryParam (' bar ', Ġ[' foo ', Ġ' baz ']); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠĠĠĠĠ Ġ$ ! this -> assertSame (' bar = foo & bar = baz & foo = bar & foo = baz ', Ġ$ ! request -> get Uri ()-> getQuery ()); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠ Ġpublic Ġfunction Ġtest ContentType Header () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠĠĠĠĠ Ġ$ ! client Ġ= Ġ$ ! this -> create Mock ( Client Interface :: class ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠĠĠĠĠ Ġ$ ! request Ġ= Ġnew ĠApi Request ($ ! client , Ġ' get ', Ġ'/ '); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠĠĠĠĠ Ġ$ ! this -> assertSame (' application / json ', Ġ$ ! request -> getHeader Line (' content - type ')); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠ Ġpublic Ġfunction Ġtest Ensure Headers () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠĠĠĠĠ Ġ$ ! client Ġ= Ġ$ ! this -> create Mock ( Client Interface :: class ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠĠĠĠĠ Ġ$ ! request Ġ= Ġnew ĠApi Request ($ ! client , Ġ' get ', Ġ'/', Ġ[' X - Foo ' Ġ=> Ġ' bar ']); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠĠĠĠĠ Ġ$ ! this -> assertSame (' application / json ', Ġ$ ! request -> getHeader Line (' content - type ')); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠĠĠĠĠ Ġ$ ! this -> assertSame (' bar ', Ġ$ ! request -> getHeader Line (' x - foo ')); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| } ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Margin (). forced Literal Escape () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ