package Ġfl ank . scripts . integration Ċ Ċ import Ġcom . google . common . truth . Truth . assertThat Ċ import Ġfl ank . scripts . Fuel TestRunner Ċ import Ġkotlinx . coroutines . run Blocking Ċ import Ġorg . junit . Rule Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . contrib . java . lang . system . System Out Rule Ċ import Ġorg . junit . runner . RunWith Ċ Ċ @ RunWith ( Fuel TestRunner :: class ) Ċ class ĠProcess Result Test Ġ{ ĊĊĠĠĠ Ġ@ get : Rule ĊĠĠĠ Ġval Ġoutput : ĠSystem Out Rule Ġ= ĠSystem Out Rule (). enable Log () ĊĊĠĠĠ Ġprivate Ġval Ġctx : ĠIntegration Context ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠIntegration Context ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= ĠIT Results . FAILURE , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoken Ġ= Ġ" success ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ= Ġ" http :// any . url ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrun ID Ġ= Ġ" 1 2 3 abc ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlast Run Ġ= Ġ" 2 0 0 0 - 1 0 - 1 0 T 1 2 : 3 3 : 1 7 Z ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġopened Issue Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġcreate Ġnew Ġissue Ġfor Ġfailed Ġresult `() Ġ{ ĊĠĠĠĠĠĠĠ Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġctx . createNew Issue () ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( output . log ). contains ( issue Created ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġpost Ġnew Ġcomment `() Ġ{ ĊĠĠĠĠĠĠĠ Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġctx . copy ( opened Issue Ġ= Ġ 1 2 3 ). post Comment () ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( output . log ). contains ( comment Posted ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġclose Ġissue `() Ġ{ ĊĠĠĠĠĠĠĠ Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġctx . copy ( opened Issue Ġ= Ġ 1 2 3 , Ġresult Ġ= ĠIT Results . SUCCESS ). close Issue () ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( output . log ). contains ( issue Closed ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġval Ġissue Created Ġ= Ġ""" ĊĠĠĠ Ġ** ĠCreating Ġnew Ġissue ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġ" title ": Ġ" Full ĠSuite Ġintegration Ġtests Ġfailed Ġon Ġmaster ", ĊĠĠĠĠĠĠĠ Ġ" body ": Ġ" ### ĠIntegration ĠTest Ġfailed Ġon Ġmaster ", ĊĠĠĠĠĠĠĠ Ġ" labels ": Ġ[ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" IT _ Failed ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" bug " ĊĠĠĠĠĠĠĠ Ġ] ĊĠĠĠ Ġ} ĊĠĠĠ Ġ** ĠIssue Ġcreated : ĊĠĠĠĠĠĠĠĠ Ġurl : ĠĠĠ Ġhttps :// bl a . org ĊĠĠĠĠĠĠĠĠ Ġnumber : Ġ 1 2 3 ĠĊĠĠĠ Ġ** ĠComment Ġposted ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġ" body ": Ġ" ### ĠFull Ġsuite ĠIT Ġrun Ġ: x : ĠFAILED Ġ: x :\ n ** Timestamp :** Ġ 2 0 0 0 - 1 0 - 1 0 Ġ 1 2 : 3 3 : 1 7 \ n ** Job Ġrun :** Ġ[ 1 2 3 abc ]( https :// github . com / Fl ank / fl ank / actions / runs / 1 2 3 abc )\ n ** Build Ġscan ĠURL :** Ġhttp :// any . url \ n | commit ĠSHA | PR |\ n | ---| : --- : |\ n | aaaaaaaa a |[ feat : Ġnew ĠFeature ]( www . pull . request )\ n " ĊĠĠĠ Ġ} Ċ """. trim Indent () Ċ Ċ private Ġval Ġcomment Posted Ġ= Ġ""" ĊĠĠĠ Ġ** ĠComment Ġposted ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġ" body ": Ġ" ### ĠFull Ġsuite ĠIT Ġrun Ġ: x : ĠFAILED Ġ: x :\ n ** Timestamp :** Ġ 2 0 0 0 - 1 0 - 1 0 Ġ 1 2 : 3 3 : 1 7 \ n ** Job Ġrun :** Ġ[ 1 2 3 abc ]( https :// github . com / Fl ank / fl ank / actions / runs / 1 2 3 abc )\ n ** Build Ġscan ĠURL :** Ġhttp :// any . url \ n | commit ĠSHA | PR |\ n | ---| : --- : |\ n | aaaaaaaa a |[ feat : Ġnew ĠFeature ]( www . pull . request )\ n " ĊĠĠĠ Ġ} Ċ """. trim Indent () Ċ Ċ private Ġval Ġissue Closed Ġ= Ġ""" ĊĠĠĠ Ġ** ĠComment Ġposted ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġ" body ": Ġ" ### ĠFull Ġsuite ĠIT Ġrun Ġ: white _ check _ mark : ĠSU CCEEDED Ġ: white _ check _ mark :\ n ** Timestamp :** Ġ 2 0 0 0 - 1 0 - 1 0 Ġ 1 2 : 3 3 : 1 7 \ n ** Job Ġrun :** Ġ[ 1 2 3 abc ]( https :// github . com / Fl ank / fl ank / actions / runs / 1 2 3 abc )\ n ** Build Ġscan ĠURL :** Ġhttp :// any . url \ n ** Closing Ġissue ** " ĊĠĠĠ Ġ} ĊĠĠĠ Ġ** ĠClosing Ġissue Ċ """. trim Indent () Ċ