package Ġcom . atlassian . performance . tools . report . chart Ċ Ċ import Ġcom . atlassian . performance . tools . jira actions . api . Action Metric Ċ import Ġcom . atlassian . performance . tools . jira actions . api . parser . Action Metrics Parser Ċ import Ġcom . atlassian . performance . tools . report . chart . water fall . Water fall Chart Ċ import Ġorg . assertj . core . api . Assertions Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . junit . Test Ċ import Ġjava . io . File Ċ import Ġjava . nio . file . Paths Ċ Ċ class ĠWater fall Chart Test Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠIf Ġyou Ġwant Ġto Ġupdate Ġthe Ġexpected ĠHTML , Ġjust Ġcopy Ġthe Ġcontents Ġof Ġthe Ġfile Ġlocated Ġby Ġthe Ġprinted Ġpath . ĊĠĠĠĠ Ġ* ĠDon 't Ġuse ĠIDEA Ġto Ġpaste , Ġbecause Ġit Ġre formats Ġthe Ġcontent . ĠUse Ġa Ġsimple Ġtext Ġeditor Ġor Ġbash . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġshould Output Html () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// given ĊĠĠĠĠĠĠĠ Ġval Ġoutput Ġ= ĠPaths . get (" build / actual - water fall - chart . html ") ĊĠĠĠĠĠĠĠ Ġval Ġinput Metrics Resource Ġ= Ġ" action - metrics - performance - timing . j pt " ĊĠĠĠĠĠĠĠ Ġval Ġaction Metrics : ĠList < Action Metric > Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAction Metrics Parser (). parse ( java Class . getResource AsStream ( input Metrics Resource )) ĊĠĠĠĠĠĠĠ Ġval Ġmetric Ġ= Ġaction Metrics [ 3 ] ĊĊĠĠĠĠĠĠĠ Ġ// Ġwhen ĊĠĠĠĠĠĠĠ ĠWater fall Chart (). plot ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmetric Ġ= Ġmetric , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoutput Ġ= Ġoutput . to File () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġthen ĊĠĠĠĠĠĠĠ Ġprintln (" Water fall Ġchart Ġis Ġavailable Ġat Ġ$ output ") ĊĠĠĠĠĠĠĠ Ġval Ġactual Output Ġ= Ġoutput . to File () ĊĠĠĠĠĠĠĠ Ġval Ġexpected Output Ġ= ĠFile ( java Class . getResource (" expected - water fall - chart . html "). to URI ()) ĊĠĠĠĠĠĠĠ ĠAssertions . assertThat ( actual Output ). has Same Content As ( expected Output ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġshould Output Html For Request sWith out Path () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// given ĊĠĠĠĠĠĠĠ Ġval Ġoutput Ġ= ĠPaths . get (" build / actual - water fall - chart - without - path . html ") ĊĠĠĠĠĠĠĠ Ġval Ġinput Metrics Resource Ġ= Ġ" search - with - j ql . j pt " ĊĠĠĠĠĠĠĠ Ġval Ġaction Metrics : ĠList < Action Metric > Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAction Metrics Parser (). parse ( java Class . getResource AsStream ( input Metrics Resource )) ĊĠĠĠĠĠĠĠ Ġval Ġmetric Ġ= Ġaction Metrics [ 0 ] ĊĊĠĠĠĠĠĠĠ Ġ// Ġwhen ĊĠĠĠĠĠĠĠ ĠWater fall Chart (). plot ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmetric Ġ= Ġmetric , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoutput Ġ= Ġoutput . to File () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġthen ĊĠĠĠĠĠĠĠ Ġprintln (" Water fall Ġchart Ġis Ġavailable Ġat Ġ$ output ") ĊĠĠĠĠĠĠĠ Ġval Ġactual Output Ġ= Ġoutput . to File () ĊĠĠĠĠĠĠĠ Ġval Ġexpected Output Ġ= ĠFile ( java Class . getResource (" expected - water fall - chart - without - path . html "). to URI ()) ĊĠĠĠĠĠĠĠ ĠAssertions . assertThat ( actual Output ). has Same Content As ( expected Output ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġshould Not Throw When Response End Is Before Response Start () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// given ĊĠĠĠĠĠĠĠ Ġval Ġoutput Ġ= ĠPaths . get (" build / actual - water fall - chart - with - no - exceptions . html ") ĊĠĠĠĠĠĠĠ Ġval Ġinput Metrics Resource Ġ= Ġ" action - metrics - with - response End - before - response Start . j pt " ĊĠĠĠĠĠĠĠ Ġval Ġaction Metrics : ĠList < Action Metric > Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAction Metrics Parser (). parse ( java Class . getResource AsStream ( input Metrics Resource )) ĊĠĠĠĠĠĠĠ Ġval Ġmetric Ġ= Ġaction Metrics [ 8 ] ĊĊĠĠĠĠĠĠĠ Ġ// Ġwhen ĊĠĠĠĠĠĠĠ Ġval Ġno Exceptions Ġ= ĠAssertions . catch Throwable Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWater fall Chart (). plot ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmetric Ġ= Ġmetric , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoutput Ġ= Ġoutput . to File () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġthen ĊĠĠĠĠĠĠĠ ĠassertThat ( no Exceptions ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. ` as ` (" should Ġnot Ġthrow Ġwhen Ġresponse End Ġis Ġbefore Ġresponse Start ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. does Not Throw Any Exception () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġshould Not Throw When Resource Contains Data Uri Scheme () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// given ĊĠĠĠĠĠĠĠ Ġval Ġoutput Ġ= ĠPaths . get (" build / actual - water fall - chart - with - data - uri - scheme . html ") ĊĠĠĠĠĠĠĠ Ġval Ġinput Metrics Resource Ġ= Ġ" action - metrics - with - data - uri - scheme . j pt " ĊĠĠĠĠĠĠĠ Ġval Ġaction Metrics : ĠList < Action Metric > Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAction Metrics Parser (). parse ( java Class . getResource AsStream ( input Metrics Resource )) ĊĠĠĠĠĠĠĠ Ġval Ġmetric Ġ= Ġaction Metrics [ 0 ] ĊĊĠĠĠĠĠĠĠ Ġ// Ġwhen ĊĠĠĠĠĠĠĠ Ġval Ġno Exceptions Ġ= ĠAssertions . catch Throwable Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWater fall Chart (). plot ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmetric Ġ= Ġmetric , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoutput Ġ= Ġoutput . to File () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġthen ĊĠĠĠĠĠĠĠ ĠassertThat ( no Exceptions ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. ` as ` (" should Ġnot Ġthrow Ġwhen Ġresource ĠURL Ġcontains Ġdata ĠURI Ġscheme ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. does Not Throw Any Exception () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġshould Do Nothing And Not Throw When Navig ations And Resources Are Empty () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// given ĊĠĠĠĠĠĠĠ Ġval ĠoutputFile Ġ= ĠPaths . get (" build / i - should - not - exist . html "). to File () ĊĠĠĠĠĠĠĠ Ġval Ġinput Metrics Resource Ġ= Ġ" action - metrics - with - element - timing - only . j pt " ĊĠĠĠĠĠĠĠ Ġval Ġaction Metrics : ĠList < Action Metric > Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAction Metrics Parser (). parse ( java Class . getResource AsStream ( input Metrics Resource )) ĊĠĠĠĠĠĠĠ Ġval Ġmetric Ġ= Ġaction Metrics [ 0 ] ĊĊĠĠĠĠĠĠĠ Ġ// Ġwhen ĊĠĠĠĠĠĠĠ Ġval Ġno Exceptions Ġ= ĠAssertions . catch Throwable Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWater fall Chart (). plot ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmetric Ġ= Ġmetric , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoutput Ġ= ĠoutputFile ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġthen ĊĠĠĠĠĠĠĠ ĠassertThat ( no Exceptions ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. ` as ` (" should Ġnot Ġthrow Ġwhen Ġnavig ations Ġand Ġresources Ġare Ġempty ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. does Not Throw Any Exception () ĊĠĠĠĠĠĠĠ ĠassertThat ( outputFile . exists ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. ` as ` (" should Ġnot Ġcreate Ġany Ġoutput ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. isFalse () ĊĠĠĠ Ġ} Ċ } Ċ