/* Ċ Ġ* ĠCopyright Ġ 2 0 1 8 ĠNet flix , ĠInc . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġcom . netflix . spin n aker . clo udd river . scatter gather Ċ Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . do Return Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . eq Ċ 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 Ġorg . jetbrains . spe k . api . Spe k Ċ import Ġorg . jetbrains . spe k . api . dsl . describe Ċ import Ġorg . jetbrains . spe k . api . dsl . given Ċ import Ġorg . jetbrains . spe k . api . dsl . it Ċ import Ġstri kt . api . expect That Ċ import Ġstri kt . assertions . isEqualTo Ċ import Ġjava . io . ByteArray OutputStream Ċ import Ġjava . io . PrintWriter Ċ import Ġjavax . servlet . http . HttpServletResponse Ċ Ċ internal Ġobject ĠRed uc ed Response Spec Ġ: ĠSpe k ({ ĊĊĠ Ġdescribe (" apply ing Ġa Ġreduced Ġresponse Ġto Ġa ĠHttpServletResponse ") Ġ{ ĊĠĠĠ Ġgiven (" a Ġreduced Ġresponse ") Ġ{ ĊĠĠĠĠĠ Ġval Ġreduced Response Ġ= ĠRed uc ed Response ( ĊĠĠĠĠĠĠĠ Ġstatus Ġ= Ġ 2 0 0 , ĊĠĠĠĠĠĠĠ Ġheaders Ġ= Ġmap Of (), ĊĠĠĠĠĠĠĠ ĠcontentType Ġ= Ġ" application / json ", ĊĠĠĠĠĠĠĠ Ġcharacter Encoding Ġ= Ġ" UTF - 8 ", ĊĠĠĠĠĠĠĠ Ġbody Ġ= Ġ" Hello Ġworld !", ĊĠĠĠĠĠĠĠ Ġis Error Ġ= Ġfalse ĊĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠ Ġval ĠbyteArray OutputStream Ġ= ĠByteArrayOutputStream () ĊĠĠĠĠĠ Ġval Ġprint Writer Ġ= ĠPrintWriter ( byteArray OutputStream ) ĊĊĠĠĠĠĠ Ġval Ġservlet Response Ġ= Ġmock < HttpServletResponse >() Ġ{ ĊĠĠĠĠĠĠĠ Ġon Ġ{ Ġwriter Ġ} Ġdo Return Ġprint Writer ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġit (" app lies Ġvalues Ġto Ġservlet Ġresponse ") Ġ{ ĊĠĠĠĠĠĠĠ Ġreduced Response . apply To ( servlet Response ). flush () ĊĊĠĠĠĠĠĠĠ Ġverify ( servlet Response ). status Ġ= Ġeq ( 2 0 0 ) ĊĠĠĠĠĠĠĠ Ġverify ( servlet Response ). contentType Ġ= Ġeq (" application / json ") ĊĠĠĠĠĠĠĠ Ġverify ( servlet Response ). character Encoding Ġ= Ġeq (" UTF - 8 ") ĊĠĠĠĠĠĠĠ Ġverify ( servlet Response ). setContent Length ( eq ( reduced Response . body !!. length Ġ)) ĊĊĠĠĠĠĠĠĠ Ġexpect That ( byteArray OutputStream ) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġget Ġ{ ĠbyteArray OutputStream . toString () Ġ}. isEqualTo (" Hello Ġworld !") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ }) Ċ