package Ġcom . example ĊĊ Ċ import Ġorg . gradle . test kit . runner . Task Outcome Ċ import Ġorg . junit . Assert . assertEquals Ċ import Ġorg . junit . Assert . assertTrue Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ Ċ class ĠService Plugin Test Ġ: ĠPlugin Test () Ġ{ ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun Ġinit () Ġ{ ĊĠĠĠĠĠĠĠ Ġbuild File . append Text (""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġplugins Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid (" com . example . service ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ"" ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` integration Test Ġand Ġreadme Check Ġtasks Ġrun Ġwith Ġcheck Ġtask `() Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Project Dir . new File (" README . md "). write Text (""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ## ĠService ĠAPI ĊĊĠĠĠĠĠĠĠ Ġ""" . trim Indent ()) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġrun Task (" check ") ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( Task Outcome . NO _ SOURCE , Ġresult . task (": test ") ?. outcome ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( Task Outcome . NO _ SOURCE , Ġresult . task (": integration Test ") ?. outcome ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( Task Outcome . SUCCESS , Ġresult . task (": readme Check ") ?. outcome ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` can Ġuse Ġintegration Test Ġconfiguration Ġto Ġdefine Ġdependencies `() Ġ{ ĊĠĠĠĠĠĠĠ Ġbuild File . append Text (""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintegration Test Implementation (" junit : junit : 4 . 1 3 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ"" ") ĊĊĠĠĠĠĠĠĠ Ġtest Project Dir . new Folder (" src ", Ġ" integration Test ", Ġ" java ", Ġ" com ", Ġ" example ") ĊĠĠĠĠĠĠĠ Ġtest Project Dir . new File (" src / integration Test / java / com / example / Some IntegrationTest . java "). write Text (""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpackage Ġcom . example ; ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġimport Ġorg . junit . Test ; ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġclass ĠSome IntegrationTest Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġvoid Ġsample Test () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ"" ") ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġrun Task Ġ(" integration Test ") ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( Task Outcome . SUCCESS , Ġresult . task (": integration Test ") ?. outcome ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` fails Ġwhen Ġno ĠREADME Ġexists `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġrun Task With Failure Ġ(" check ") ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( Task Outcome . FAILED , Ġresult . task (": readme Check ") ?. outcome ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` fails Ġwhen ĠREADME Ġdoes Ġnot Ġhave Ġservice ĠAPI Ġsection `() Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Project Dir . new File (" README . md "). write Text (""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġas df ad fs as f ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent ()) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġrun Task With Failure Ġ(" check ") ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( Task Outcome . FAILED , Ġresult . task (": readme Check ") ?. outcome ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( result . output . contains (" README Ġshould Ġcontain Ġsection : Ġ^ ## ĠService ĠAPI $ ")) ĊĠĠĠ Ġ} Ċ } Ċ