/* Ċ Ġ* ĠCopyright Ġ 2 0 1 4 - 2 0 1 9 ĠJetBrains Ġs . r . o Ġand Ġcontributors . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense . Ċ Ġ*/ Ċ Ċ package Ġio . ktor . client . plugins . compression Ċ Ċ import Ġio . ktor . client . call .* Ċ import Ġio . ktor . client . request .* Ċ import Ġio . ktor . client . tests . utils .* Ċ import Ġio . ktor . http .* Ċ import Ġkotlin . test .* Ċ Ċ private Ġconst Ġval ĠTEST _ URL Ġ= Ġ"$ TEST _ SERVER / compression " Ċ Ċ class ĠContent Encoding Test Ġ: ĠClient Loader () Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Identity () Ġ= Ġclient Tests Ġ{ ĊĠĠĠĠĠĠĠ Ġconfig Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠContent Encoding Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġidentity () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtest Ġ{ Ġclient Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġclient . get ("$ TEST _ URL / identity ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcontent Encoding Ġ= Ġresponse . headers [ HttpHeaders . Content Encoding ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠJS Ġbrowser Ġengines Ġdon 't Ġhave ĠContent - Encoding Ġheader Ġfor Ġidentity Ġencoding ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( content Encoding Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" identity ", Ġcontent Encoding ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" Compressed Ġresponse !", Ġresponse . body < String >()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Def late () Ġ= Ġclient Tests ( listOf (" native : C IO ")) Ġ{ ĊĠĠĠĠĠĠĠ Ġconfig Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠContent Encoding Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdef late () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtest Ġ{ Ġclient Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġclient . get ("$ TEST _ URL / def late ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" def late ", Ġresponse . headers [ HttpHeaders . Content Encoding ]) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" Compressed Ġresponse !", Ġresponse . body < String >()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest G Zip () Ġ= Ġclient Tests ( listOf (" native : C IO ")) Ġ{ ĊĠĠĠĠĠĠĠ Ġconfig Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠContent Encoding Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgzip () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtest Ġ{ Ġclient Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġclient . get ("$ TEST _ URL / gzip ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" gzip ", Ġresponse . headers [ HttpHeaders . Content Encoding ]) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" Compressed Ġresponse !", Ġresponse . body < String >()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest G Zip Empty () Ġ= Ġclient Tests Ġ{ ĊĠĠĠĠĠĠĠ Ġconfig Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠContent Encoding Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgzip () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtest Ġ{ Ġclient Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġclient . get ("$ TEST _ URL / gzip - empty ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" gzip ", Ġresponse . headers [ HttpHeaders . Content Encoding ]) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ("", Ġresponse . body < String >()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ