package Ġcom . github . s uk h inin . kr ab at ron Ċ Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . any Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . do Return Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . do Throw Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . mock Ċ import Ġio . kot est . assertions . throw ables . should Throw Ċ import Ġio . kot est . core . spec . style . Should Spec Ċ import Ġio . kot est . matchers . shouldBe Ċ Ċ internal Ġclass ĠTransform Decorator Test Ġ: ĠShould Spec ({ ĊĊĠĠĠ Ġshould (" transform Ġresponse Ġreceived Ġfrom Ġdelegate Ġrequest Ġexecutor ") Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġ" ok " ĊĠĠĠĠĠĠĠ Ġval Ġmock Ġ= Ġmock < Request Executor < String >> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Blocking Ġ{ Ġget ( any ()) Ġ} Ġdo Return Ġresponse ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġexecutor Ġ= Ġmock . transform Ġ{ Ġit Ġ+ Ġit Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠRequest (" http :// 1 2 7 . 0 . 0 . 1 : 8 0 ") ĊĠĠĠĠĠĠĠ Ġexecutor . get ( request ) ĠshouldBe Ġresponse Ġ+ Ġresponse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġshould (" pass Ġthrough Ġexceptions Ġfrom Ġunderlying Ġdelegate ") Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmessage Ġ= Ġ" Sim ulated Ġerror " ĊĠĠĠĠĠĠĠ Ġval Ġmock Ġ= Ġmock < Request Executor < String >> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Blocking Ġ{ Ġget ( any ()) Ġ} Ġdo Throw ĠRuntimeException ( message ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġexecutor Ġ= Ġmock . transform Ġ{ Ġit Ġ+ Ġit Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠRequest (" http :// 1 2 7 . 0 . 0 . 1 : 8 0 ") ĊĊĠĠĠĠĠĠĠ Ġval Ġerror Ġ= Ġshould Throw < RuntimeException > Ġ{ Ġexecutor . get ( request ) Ġ} ĊĠĠĠĠĠĠĠ Ġerror . message ĠshouldBe Ġmessage ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġshould (" throw Ġits Ġown Ġexceptions ") Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġ" ok " ĊĠĠĠĠĠĠĠ Ġval Ġmock Ġ= Ġmock < Request Executor < String >> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Blocking Ġ{ Ġget ( any ()) Ġ} Ġdo Return Ġresponse ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġmessage Ġ= Ġ" Sim ulated Ġerror " ĊĠĠĠĠĠĠĠ Ġval Ġexecutor Ġ= Ġmock . transform Ġ{ Ġthrow ĠRuntimeException ( message ) Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠRequest (" http :// 1 2 7 . 0 . 0 . 1 : 8 0 ") ĊĊĠĠĠĠĠĠĠ Ġval Ġerror Ġ= Ġshould Throw < RuntimeException > Ġ{ Ġexecutor . get ( request ) Ġ} ĊĠĠĠĠĠĠĠ Ġerror . message ĠshouldBe Ġmessage ĊĠĠĠ Ġ} Ċ }) Ċ