/* Ċ Ġ* ĠCopyright Ġ 2 0 1 4 - 2 0 2 1 ĠJetBrains Ġs . r . o Ġand Ġcontributors . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense . Ċ Ġ*/ Ċ Ċ package Ġio . ktor . tests . server . netty Ċ Ċ import Ġio . ktor . http .* Ċ import Ġio . ktor . server . application .* Ċ import Ġio . ktor . server . engine .* Ċ import Ġio . ktor . server . netty .* Ċ import Ġio . ktor . server . response .* Ċ import Ġio . ktor . server . testing .* Ċ import Ġio . netty . channel .* Ċ import Ġkotlin . test .* Ċ Ċ abstract Ġclass ĠNet ty Custom Channel Test < T Engine Ġ: ĠApplication Engine , ĠT Configuration Ġ: ĠApplication Engine . Configuration >( ĊĠĠĠ Ġhost Factory : ĠApplication Engine Factory < T Engine , ĠT Configuration > Ċ ) Ġ: ĠEngine TestBase < T Engine , ĠT Configuration >( host Factory ) Ġ{ ĊĊĠĠĠ Ġvar Ġcounter Ġ= Ġ 0 ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Custom Channel Handler Inv oked () Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate And Start Server Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandle Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcall . respond Text (" Hello ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġwith Url ("/") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( HttpStatusCode . OK . value , Ġstatus . value ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Not Equals ( 0 , Ġcounter ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠNet ty Custom Channel Pipeline Configuration Test Ġ: ĊĠĠĠ ĠNet ty Custom Channel Test < Net ty Application Engine , ĠNet ty Application Engine . Configuration >( Net ty ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġconfigure ( configuration : ĠNet ty Application Engine . Configuration ) Ġ{ ĊĠĠĠĠĠĠĠ Ġconfiguration . share Work Group Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġconfiguration . channel Pipeline Config Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Last ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" custom Handler ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠChannel Inbound Handler Adapter () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġchannel Read ( ctx : ĠChannel HandlerContext , Ġmsg : ĠAny ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcounter Ġ= Ġcounter . plus ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . channel Read ( ctx , Ġmsg ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ