package Ġio . github . ry b alk ins d . ko http . dsl Ċ Ċ import Ġio . github . ry b alk ins d . ko http . assertContains At Least Ċ import Ġio . github . ry b alk ins d . ko http . assertContains Exactly Ċ import Ġio . github . ry b alk ins d . ko http . dsl . context . HttpContext Ċ import Ġio . github . ry b alk ins d . ko http . dsl . context . Method Ċ import Ġio . github . ry b alk ins d . ko http . jackson . ext . toJson Ċ import Ġio . github . ry b alk ins d . ko http . util . json Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . junit . Test Ċ Ċ /** Ċ Ġ* Ġ@ author Ġser ge y , Ġa lex , Ġg ok ul , Ġh ak ky 5 4 Ċ Ġ*/ Ċ class ĠHttp Dsl Kt Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` get Ġrequest Ġwith Ġparam Ġand Ġheader `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvariable Ġ= Ġ 1 2 3 L ĊĠĠĠĠĠĠĠ Ġval Ġexpected Header Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" one " Ġto Ġ" 4 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" two " Ġto Ġvariable . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" three " Ġto Ġ""" {" a ": $ variable ," b ":{" b 1 ":" 5 1 2 "}," c ":[ 1 , 2 . 0 , 3 ]} """, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" cookie " Ġto Ġ" aaa = bbb ; Ġc cc = 4 2 " ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġexpected Params Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" text " Ġto Ġ" iphone ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" lr " Ġto Ġ" 2 1 3 " ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġhttp ( method Ġ= ĠMethod . GET ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhost Ġ= Ġ" postman - echo . com " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpath Ġ= Ġ"/ get " ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġheader Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" one " Ġto Ġ 4 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" two " Ġto Ġvariable ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" three " Ġto Ġjson Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" a " Ġto Ġvariable ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" b " Ġto Ġjson Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" b 1 " Ġto Ġ" 5 1 2 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" c " Ġto ĠlistOf ( 1 , Ġ 2 . 0 , Ġ 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcookie Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" aaa " Ġto Ġ" bbb " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ccc " Ġto Ġ 4 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġparam Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" text " Ġto Ġ" iphone " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" lr " Ġto Ġ 2 1 3 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}. use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparsed Response Ġ= Ġit . toJson () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Contains At Least ( expected Header , Ġparsed Response [" headers "]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Contains Exactly ( expected Params , Ġparsed Response [" args "]) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( it . code ). isEqualTo ( 2 0 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` head Ġrequest Ġwith Ġparam Ġand Ġheader `() Ġ{ ĊĠĠĠĠĠĠĠ Ġhttp ( method Ġ= ĠMethod . HEAD ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhost Ġ= Ġ" postman - echo . com " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpath Ġ= Ġ"/ get " ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġparam Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" text " Ġto Ġ" iphone " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" lr " Ġto Ġ 2 1 3 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}. use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( it . code ). isEqualTo ( 2 0 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` post Ġrequest Ġwith Ġparam Ġand Ġheader `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexpected Header Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" one " Ġto Ġ" 4 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" cookie " Ġto Ġ" aaa = bbb ; Ġc cc = 4 2 " ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġexpected Params Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" arg " Ġto Ġ" iphone " ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġctx Ġ: ĠHttp Context . () Ġ-> ĠUnit Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhost Ġ= Ġ" postman - echo . com " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpath Ġ= Ġ"/ post " ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġparam Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" arg " Ġto Ġ" iphone " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġheader Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" one " Ġto Ġ 4 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcookie Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" aaa " Ġto Ġ" bbb " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ccc " Ġto Ġ 4 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġhttp ( method Ġ= ĠMethod . POST , Ġinit Ġ= Ġctx ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparsed Response Ġ= Ġit . toJson () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert Contains At Least ( expected Header , Ġparsed Response [" headers "]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert Contains Exactly ( expected Params , Ġparsed Response [" args "]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( it . code ). isEqualTo ( 2 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` put Ġrequest Ġwith Ġparam Ġand Ġheader `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexpected Header Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" one " Ġto Ġ" 4 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" cookie " Ġto Ġ" aaa = bbb ; Ġc cc = 4 2 " ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġexpected Params Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" arg " Ġto Ġ" iphone " ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġhttp ( method Ġ= ĠMethod . PUT ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhost Ġ= Ġ" postman - echo . com " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpath Ġ= Ġ"/ put " ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġparam Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" arg " Ġto Ġ" iphone " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġheader Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" one " Ġto Ġ 4 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcookie Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" aaa " Ġto Ġ" bbb " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ccc " Ġto Ġ 4 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}. use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparsed Response Ġ= Ġit . toJson () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Contains At Least ( expected Header , Ġparsed Response [" headers "]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Contains Exactly ( expected Params , Ġparsed Response [" args "]) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( it . code ). isEqualTo ( 2 0 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` patch Ġrequest Ġwith Ġparam Ġand Ġheader `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexpected Header Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" one " Ġto Ġ" 4 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" cookie " Ġto Ġ" aaa = bbb ; Ġc cc = 4 2 " ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġexpected Params Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" arg " Ġto Ġ" iphone " ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġhttp ( method Ġ= ĠMethod . PATCH ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhost Ġ= Ġ" postman - echo . com " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpath Ġ= Ġ"/ patch " ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġparam Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" arg " Ġto Ġ" iphone " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġheader Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" one " Ġto Ġ 4 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcookie Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" aaa " Ġto Ġ" bbb " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ccc " Ġto Ġ 4 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}. use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparsed Response Ġ= Ġit . toJson () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Contains At Least ( expected Header , Ġparsed Response [" headers "]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Contains Exactly ( expected Params , Ġparsed Response [" args "]) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( it . code ). isEqualTo ( 2 0 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` delete Ġrequest Ġwith Ġparam Ġand Ġheader `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexpected Header Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" one " Ġto Ġ" 4 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" cookie " Ġto Ġ" aaa = bbb ; Ġc cc = 4 2 " ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġexpected Params Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" arg " Ġto Ġ" iphone " ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġhttp ( method Ġ= ĠMethod . DELETE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhost Ġ= Ġ" postman - echo . com " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpath Ġ= Ġ"/ delete " ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġparam Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" arg " Ġto Ġ" iphone " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġheader Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" one " Ġto Ġ 4 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcookie Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" aaa " Ġto Ġ" bbb " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ccc " Ġto Ġ 4 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}. use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparsed Response Ġ= Ġit . toJson () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Contains At Least ( expected Header , Ġparsed Response [" headers "]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Contains Exactly ( expected Params , Ġparsed Response [" args "]) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( it . code ). isEqualTo ( 2 0 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } Ċ