package Ġio . github . j ok or ou kw u . ze phy rapi . test result status complement or Ċ Ċ import Ġio . github . j ok or ou kw u . ze phy rapi . Abstract Test Ċ import Ġio . github . j ok or ou kw u . ze phy rapi . http . Ze phyr Exception Ċ import Ġio . github . j ok or ou kw u . ze phy rapi . publication . Publication Context Ċ import Ġio . github . j ok or ou kw u . ze phy rapi . publication . Publication Data Processor Ċ import Ġio . github . j ok or ou kw u . ze phy rapi . publication . test result status complement or . Get TestResult Statuses Request Sender Ċ import Ġio . github . j ok or ou kw u . ze phy rapi . publication . test result status complement or . Serializable TestResult Status Item Ċ import Ġio . github . j ok or ou kw u . ze phy rapi . publication . test result status complement or . TestResult Status Ċ import Ġio . github . j ok or ou kw u . ze phy rapi . publication . test result status complement or . TestResult Status Comp lement or Ċ import Ġio . mock k . every Ċ import Ġio . mock k . just Run Ċ import Ġio . mock k . mock k Ċ import Ġio . mock k . verify Ċ import Ġorg . assertj . core . api . Assertions Ċ import Ġorg . testng . annotations . Test Ċ import Ġjava . util .* Ċ import Ġkotlin . random . Random Ċ Ċ class ĠTest Result Status Comp lement or Test Ġ: ĠAbstract Test () Ġ{ ĊĠĠĠ Ġprivate Ġval Ġget TestResult Statuses Request Sender Mock Ġ= Ġmock k < Get TestResult Statuses Request Sender >() ĊĠĠĠ Ġprivate Ġval Ġnext Processor Mock Ġ= Ġmock k < Publication Data Processor >() ĊĠĠĠ Ġprivate Ġval Ġvalid Status To Id Map Ġ= ĠEnum Map < TestResult Status , ĠLong >( TestResult Status :: class . java ). apply Ġ{ ĊĠĠĠĠĠĠĠ ĠEnum Set . all Of ( TestResult Status :: class . java ). forEach Indexed Ġ{ Ġi , Ġvalue Ġ-> Ġput ( value , Ġi . to Long ()) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġtest Result Status Comp lement or Ġ= ĊĠĠĠĠĠĠĠ ĠTest Result Status Comp lement or ( getTest Result Statuses Request Sender Mock , Ġnext Processor Mock ); ĊĊĊĠĠĠ Ġoverride Ġfun Ġget Objects To Un mock (): ĠArray < Any > Ġ= ĠarrayOf ( getTest Result Statuses Request Sender Mock , Ġnext Processor Mock ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġnot Ġcall Ġnext Ġprocessor Ġwhen Ġsome Ġstatuses Ġwere Ġnot Ġfetched `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpublication Data Ġ= ĠPublic ation Context ( zephyr Config Ġ= Ġdummy Config , Ġtest Cycles Ġ= Ġempty List ()) ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġget TestResult Statuses Request Sender Mock . getTest Result Statuses Request ( any (), Ġany ()) Ġ} Ġreturns ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSerializable TestResult Status Item ( 1 , ĠTest Result Status . BLOCK ED ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġpublication Data . run Catch ing ( test Result Status Comp lement or :: process ) ĊĊĠĠĠĠĠĠĠ Ġverify ( exact ly Ġ= Ġ 0 ) Ġ{ Ġnext Processor Mock . process ( any ()) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġthrow Ġexception Ġwhen Ġsome Ġstatuses Ġwere Ġnot Ġfetched `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpublication Data Ġ= ĠPublic ation Context ( zephyr Config Ġ= Ġdummy Config , Ġtest Cycles Ġ= Ġempty List ()) ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġget TestResult Statuses Request Sender Mock . getTest Result Statuses Request ( any (), Ġany ()) Ġ} Ġreturns ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSerializable TestResult Status Item ( 1 , ĠTest Result Status . BLOCK ED ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġexception Ġ= Ġpublication Data . run Catch ing ( test Result Status Comp lement or :: process ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. exception OrNull () ĊĠĠĠĠĠĠĠ ĠAssertions . assertThat ( exception ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. ` as ` (" check Ġexpected Ġthrown Ġwhen Ġsome Ġstatuses Ġwere Ġnot Ġfetched ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. isInstanceOf ( Ze phyr Exception :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġcall Ġrequest Ġsender Ġwith Ġexpected Ġproject Ġid `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpublication Data Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPublic ation Context ( zephyr Config Ġ= Ġdummy Config , ĠprojectId Ġ= ĠRandom . next Long (), Ġtest Cycles Ġ= Ġempty List ()) ĊĠĠĠĠĠĠĠ Ġjust Run Ġ{ Ġget TestResult Statuses Request Sender Mock . getTest Result Statuses Request ( any (), Ġany ()) Ġ} ĊĠĠĠĠĠĠĠ Ġpublication Data . run Catch ing ( test Result Status Comp lement or :: process ) ĊĊĠĠĠĠĠĠĠ Ġwith ( publication Data ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( exact ly Ġ= Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget TestResult Statuses Request Sender Mock . getTest Result Statuses Request ( projectId , Ġze phyr Config ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġcall Ġnext Ġprocessor Ġwith Ġexpected Ġpublication Ġdata `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstatus Items Ġ= Ġvalid Status To Id Map . entries ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ ĠSerializable TestResult Status Item ( it . value , Ġit . key ) Ġ} ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġget TestResult Statuses Request Sender Mock . getTest Result Statuses Request ( any (), Ġany ()) Ġ} Ġreturns Ġstatus Items ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġnext Processor Mock . process ( any ()) Ġ} Ġreturns Ġtrue ĊĊĠĠĠĠĠĠĠ Ġval Ġinput Publication Data Ġ= ĠPublic ation Context ( zephyr Config Ġ= Ġdummy Config , Ġtest Cycles Ġ= Ġempty List ()) ĊĠĠĠĠĠĠĠ Ġtest Result Status Comp lement or . process ( input Publication Data ) ĊĊĠĠĠĠĠĠĠ Ġval Ġexpected Arg Ġ= Ġinput Publication Data . copy ( status Map Ġ= Ġvalid Status To Id Map ) ĊĠĠĠĠĠĠĠ Ġverify ( exact ly Ġ= Ġ 1 ) Ġ{ Ġnext Processor Mock . process ( expected Arg ) Ġ} ĊĠĠĠ Ġ} Ċ }