package Ġnet . nem eros a . on track . extension . git . service Ċ Ċ import Ġnet . nem eros a . on track . extension . git . Abstract Git Test Support Ċ import Ġnet . nem eros a . on track . model . structure . Branch Ċ import Ġorg . junit . Test Ċ import Ġkotlin . test . assertEquals ĊĊ Ċ /** Ċ Ġ* ĠIntegration Ġtests Ġfor ĠGit Ġsupport . Ċ Ġ*/ Ċ class ĠGit Change Log GraphQL IT Ġ: ĠAbstract Git Test Support () Ġ{ ĊĊĠĠĠ Ġprivate Ġfun Ġdo Test ( test Code : Ġ( Branch ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Repo Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommits ( 1 0 , Ġpause s Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠ Ġ} Ġand Ġ{ Ġrepo , Ġcommits Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproject Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgit Project ( repo , Ġsync Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbranch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgit Branch (" master ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcommit As Property () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠCreates Ġbuilds Ġfor Ġsome Ġcommits ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( 2 , Ġ 5 , Ġ 7 , Ġ 8 ). forEach Ġ{ Ġno Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuild ( no . toString ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgit Commit Property ( commits . getValue ( no )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠTest ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġas User With View ( this ). execute Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest Code ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Change Ġlog Ġbased Ġon ĠGit Ġproperty `() Ġ{ ĊĠĠĠĠĠĠĠ Ġdo Test Ġ{ Ġbranch Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠGetting Ġthe Ġchange Ġlog Ġbetween Ġbuild Ġ 5 Ġand Ġ 7 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdata Ġ= Ġrun (""" { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbranches ( id : Ġ${ branch . id }) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgit Change Log ( from : Ġ" 5 ", Ġto : Ġ" 7 ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcommits Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcommit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshort Message ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} """) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmessages Ġ= Ġdata [" branches "][ 0 ][" git Change Log "][" commits "]. map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit [" commit "][" short Message "]. as Text () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" Commit Ġ 7 ", Ġ" Commit Ġ 6 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessages ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Change Ġlog Ġbased Ġon ĠGit Ġproperty Ġusing Ġroot Ġquery `() Ġ{ ĊĠĠĠĠĠĠĠ Ġdo Test Ġ{ Ġbranch Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠGets Ġthe Ġbuild Ġids ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuild 5 Ġ= Ġstructure Service . find Build ByName ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbranch . project . name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbranch . name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 5 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). orElse ( null ). id () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuild 7 Ġ= Ġstructure Service . find Build ByName ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbranch . project . name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbranch . name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 7 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). orElse ( null ). id () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠGetting Ġthe Ġchange Ġlog Ġbetween Ġbuild Ġ 5 Ġand Ġ 7 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdata Ġ= Ġrun (""" { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgit Change Log ( from : Ġ$ build 5 , Ġto : Ġ$ build 7 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcommits Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcommit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshort Message ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} """) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmessages Ġ= Ġdata [" git Change Log "][" commits "]. map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit [" commit "][" short Message "]. as Text () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" Commit Ġ 7 ", Ġ" Commit Ġ 6 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessages ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } Ċ