/* Ċ Ġ* ĠCopyright Ġ 2 0 1 9 ĠAmazon . com , ĠInc . Ġor Ġits Ġaffiliates . ĠAll ĠRights ĠReserved . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "). Ċ Ġ* ĠYou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠA Ġcopy Ġof Ġthe ĠLicense Ġis Ġlocated Ġat Ċ Ġ* Ċ Ġ* Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* Ġor Ġin Ġthe Ġ" license " Ġfile Ġaccompanying Ġthis Ġfile . ĠThis Ġfile Ġis Ġdistributed Ċ Ġ* Ġon Ġan Ġ" AS ĠIS " ĠBASIS , ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ċ Ġ* Ġexpress Ġor Ġimplied . ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ċ Ġ* Ġpermissions Ġand Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . amazon . opend ist ro fore lastic search . index state management . util Ċ Ċ import Ġcom . amazon . opend ist ro fore lastic search . index state management . Index State Management Plugin . Companion . INDEX _ STATE _ MANAGE MENT _ INDEX Ċ import Ġcom . amazon . opend ist ro fore lastic search . index state management . model . Conditions Ċ import Ġcom . amazon . opend ist ro fore lastic search . index state management . model . Managed Index Config Ċ import Ġcom . amazon . opend ist ro fore lastic search . index state management . model . Transition Ċ import Ġcom . amazon . opend ist ro fore lastic search . index state management . model . action . R ollo ver Action Config Ċ import Ġcom . amazon . opend ist ro fore lastic search . index state management . model . coordinator . S we pt Managed Index Config Ċ import Ġcom . amazon . opend ist ro fore lastic search . index state management . random Change Policy Ċ import Ġcom . amazon . opend ist ro fore lastic search . index state management . random Cluster State Managed Index Config Ċ import Ġcom . amazon . opend ist ro fore lastic search . index state management . random S we pt Managed Index Config Ċ import Ġorg . elasticsearch . action . delete . Delete Request Ċ import Ġorg . elasticsearch . action . index . Index Request Ċ import Ġorg . elasticsearch . common . bytes . Bytes Reference Ċ import Ġorg . elasticsearch . common . unit . Byte Size Value Ċ import Ġorg . elasticsearch . common . unit . Time Value Ċ import Ġorg . elasticsearch . common . x content . Logging De precation Handler Ċ import Ġorg . elasticsearch . common . x content . X Content Helper Ċ import Ġorg . elasticsearch . common . x content . X Content Parser Ċ import Ġorg . elasticsearch . common . x content . X ContentType Ċ import Ġorg . elasticsearch . test . EST est Case Ċ import Ġjava . time . Instant Ċ Ċ class ĠManaged Index Utils Tests Ġ: ĠEST est Case () Ġ{ ĊĊĠĠĠ Ġfun Ġ` test Ġcreate Ġmanaged Ġindex Ġrequest `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġindex Ġ= Ġrandom Alpha Of Length ( 1 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġuuid Ġ= Ġrandom Alpha Of Length ( 1 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġpolicy ID Ġ= Ġrandom Alpha Of Length ( 1 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġcreate Request Ġ= Ġmanaged Index Config Index Request ( index , Ġuuid , Ġpolicy ID , Ġ 5 ) ĊĊĠĠĠĠĠĠĠ ĠassertNotNull (" Index Request Ġnot Ġcreated ", Ġcreate Request ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" Incorrect Ġis m Ġindex Ġused Ġin Ġrequest ", ĠINDEX _ STATE _ MANAGE MENT _ INDEX , Ġcreate Request . index ()) ĊĠĠĠĠĠĠĠ ĠassertEquals (" Incorrect Ġuuid Ġused Ġas Ġdocument Ġid Ġon Ġrequest ", Ġuuid , Ġcreate Request . id ()) ĊĊĠĠĠĠĠĠĠ Ġval Ġsource Ġ= Ġcreate Request . source () ĊĠĠĠĠĠĠĠ Ġval Ġmanaged Index Config Ġ= ĠManaged Index Config . parse WithType ( content Parser ( source )) ĊĠĠĠĠĠĠĠ ĠassertEquals (" Incorrect Ġindex Ġon ĠManaged Index Config Ġsource ", Ġindex , Ġmanaged Index Config . index ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" Incorrect Ġname Ġon ĠManaged Index Config Ġsource ", Ġindex , Ġmanaged Index Config . name ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" Incorrect Ġindex Ġuuid Ġon ĠManaged Index Config Ġsource ", Ġuuid , Ġmanaged Index Config . index Uuid ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" Incorrect Ġpolicy _ id Ġon ĠManaged Index Config Ġsource ", Ġpolicy ID , Ġmanaged Index Config . policy ID ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ` test Ġdelete Ġmanaged Ġindex Ġrequest `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuuid Ġ= Ġrandom Alpha Of Length ( 1 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġdelete Request Ġ= Ġdelete Managed Index Request ( uuid ) ĊĊĠĠĠĠĠĠĠ ĠassertNotNull (" delete Request Ġnot Ġcreated ", Ġdelete Request ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" Incorrect Ġis m Ġindex Ġused Ġin Ġrequest ", ĠINDEX _ STATE _ MANAGE MENT _ INDEX , Ġdelete Request . index ()) ĊĠĠĠĠĠĠĠ ĠassertEquals (" Incorrect Ġuuid Ġused Ġas Ġdocument Ġid Ġon Ġrequest ", Ġuuid , Ġdelete Request . id ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠ Ġfun Ġ` test Ġupdate Ġmanaged Ġindex Ġrequest `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġindex Ġ= Ġrandom Alpha Of Length ( 1 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġuuid Ġ= Ġrandom Alpha Of Length ( 1 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġpolicy ID Ġ= Ġrandom Alpha Of Length ( 1 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġs we pt Managed Index Config Ġ= ĠS we pt Managed Index Config ( index Ġ= Ġindex , Ġuuid Ġ= Ġuuid , Ġpolicy ID Ġ= Ġpolicy ID , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprimary Term Ġ= Ġ 1 , Ġseq No Ġ= Ġ 1 , Ġchange Policy Ġ= Ġrandom Change Policy ( policy ID Ġ= Ġpolicy ID ), Ġpolicy Ġ= Ġnull ) ĊĠĠĠĠĠĠĠ Ġval Ġupdate Request Ġ= Ġupdate Managed Index Request ( s we pt Managed Index Config ) ĊĊĠĠĠĠĠĠĠ ĠassertNotNull (" Update Request Ġnot Ġcreated ", Ġupdate Request ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" Incorrect Ġis m Ġindex Ġused Ġin Ġrequest ", ĠINDEX _ STATE _ MANAGE MENT _ INDEX , Ġupdate Request . index ()) ĊĠĠĠĠĠĠĠ ĠassertEquals (" Incorrect Ġuuid Ġused Ġas Ġdocument Ġid Ġon Ġrequest ", Ġuuid , Ġupdate Request . id ()) ĊĊĠĠĠĠĠĠĠ Ġval Ġsource Ġ= Ġupdate Request . doc (). source As Map () ĊĠĠĠĠĠĠĠ Ġlogger . info (" source Ġis Ġ$ source ") ĊĠĠĠĠĠĠĠ ĠassertEquals (" Incorrect Ġpolicy _ id Ġadded Ġto Ġchange _ policy ", Ġs we pt Managed Index Config . policy ID , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ(( source [" managed _ index "] Ġas ĠMap < String , ĠAny >) [" change _ policy "] Ġas ĠMap < String , ĠString >) [" policy _ id "]) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ` test Ġget Ġcreate Ġmanaged Ġindex Ġrequests `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġs we pt Config ToDelete Ġ= Ġrandom S we pt Managed Index Config ( policy ID Ġ= Ġ" delete _ me ") ĊĊĠĠĠĠĠĠĠ Ġval Ġcluster Config To Create Ġ= Ġrandom Cluster State Managed Index Config ( policy ID Ġ= Ġ" some _ policy ") ĊĊĠĠĠĠĠĠĠ Ġval Ġcluster Config ToUpdate Ġ= Ġrandom Cluster State Managed Index Config ( policy ID Ġ= Ġ" update _ me ") ĊĠĠĠĠĠĠĠ Ġval Ġs we pt Config ToBe Updated Ġ= Ġrandom S we pt Managed Index Config ( index Ġ= Ġcluster Config ToUpdate . index , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuuid Ġ= Ġcluster Config ToUpdate . uuid , Ġpolicy ID Ġ= Ġ" to _ something _ new ", Ġseq No Ġ= Ġ 5 , Ġprimary Term Ġ= Ġ 1 7 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġcluster Config Being Updated Ġ= Ġrandom Cluster State Managed Index Config ( policy ID Ġ= Ġ" updating ") ĊĠĠĠĠĠĠĠ Ġval Ġs we pt Config Being Updated Ġ= Ġrandom S we pt Managed Index Config ( index Ġ= Ġcluster Config Being Updated . index , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuuid Ġ= Ġcluster Config Being Updated . uuid , Ġpolicy ID Ġ= Ġ" to _ something _ new ", Ġseq No Ġ= Ġ 5 , Ġprimary Term Ġ= Ġ 1 7 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchange Policy Ġ= Ġrandom Change Policy (" updating ")) ĊĊĠĠĠĠĠĠĠ Ġval Ġcluster Config Ġ= Ġrandom Cluster State Managed Index Config ( policy ID Ġ= Ġ" do _ nothing ") ĊĠĠĠĠĠĠĠ Ġval Ġs we pt Config Ġ= Ġrandom S we pt Managed Index Config ( index Ġ= Ġcluster Config . index , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuuid Ġ= Ġcluster Config . uuid , Ġpolicy ID Ġ= Ġcluster Config . policy ID , Ġseq No Ġ= Ġ 5 , Ġprimary Term Ġ= Ġ 1 7 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġrequests Ġ= Ġget Create Managed Index Requests ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcluster Config To Create . uuid Ġto Ġcluster Config To Create , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcluster Config ToUpdate . uuid Ġto Ġcluster Config ToUpdate , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcluster Config . uuid Ġto Ġcluster Config , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcluster Config Being Updated . uuid Ġto Ġcluster Config Being Updated ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs we pt Config . uuid Ġto Ġs we pt Config , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs we pt Config ToDelete . uuid Ġto Ġs we pt Config ToDelete , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs we pt Config ToBe Updated . uuid Ġto Ġs we pt Config ToBe Updated , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs we pt Config Being Updated . uuid Ġto Ġs we pt Config Being Updated ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠ 5 ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" Too Ġmany Ġrequests ", Ġ 1 , Ġrequests . size ) ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= Ġrequests . first () ĊĠĠĠĠĠĠĠ ĠassertEquals (" Incorrect Ġuuid Ġused Ġas Ġdocument Ġid Ġon Ġrequest ", Ġcluster Config To Create . uuid , Ġrequest . id ()) ĊĠĠĠĠĠĠĠ ĠassertTrue (" Incorrect Ġrequest Ġtype ", Ġrequest Ġis ĠIndex Request ) ĊĠĠĠĠĠĠĠ Ġval Ġsource Ġ= Ġ( request Ġas ĠIndex Request ). source () ĊĠĠĠĠĠĠĠ Ġval Ġmanaged Index Config Ġ= ĠManaged Index Config . parse WithType ( content Parser ( source )) ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" Incorrect Ġindex Ġon ĠManaged Index Config Ġsource ", Ġcluster Config To Create . index , Ġmanaged Index Config . index ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" Incorrect Ġname Ġon ĠManaged Index Config Ġsource ", Ġcluster Config To Create . index , Ġmanaged Index Config . name ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" Incorrect Ġindex Ġuuid Ġon ĠManaged Index Config Ġsource ", Ġcluster Config To Create . uuid , Ġmanaged Index Config . index Uuid ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" Incorrect Ġpolicy _ id Ġon ĠManaged Index Config Ġsource ", Ġcluster Config To Create . policy ID , Ġmanaged Index Config . policy ID ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ` test Ġget Ġdelete Ġmanaged Ġindex Ġrequests `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġs we pt Config ToDelete Ġ= Ġrandom S we pt Managed Index Config ( policy ID Ġ= Ġ" delete _ me ") ĊĊĠĠĠĠĠĠĠ Ġval Ġcluster Config To Create Ġ= Ġrandom Cluster State Managed Index Config ( policy ID Ġ= Ġ" some _ policy ") ĊĊĠĠĠĠĠĠĠ Ġval Ġcluster Config ToUpdate Ġ= Ġrandom Cluster State Managed Index Config ( policy ID Ġ= Ġ" update _ me ") ĊĠĠĠĠĠĠĠ Ġval Ġs we pt Config ToBe Updated Ġ= Ġrandom S we pt Managed Index Config ( index Ġ= Ġcluster Config ToUpdate . index , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuuid Ġ= Ġcluster Config ToUpdate . uuid , Ġpolicy ID Ġ= Ġ" to _ something _ new ", Ġseq No Ġ= Ġ 5 , Ġprimary Term Ġ= Ġ 1 7 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġcluster Config Being Updated Ġ= Ġrandom Cluster State Managed Index Config ( policy ID Ġ= Ġ" updating ") ĊĠĠĠĠĠĠĠ Ġval Ġs we pt Config Being Updated Ġ= Ġrandom S we pt Managed Index Config ( index Ġ= Ġcluster Config Being Updated . index , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuuid Ġ= Ġcluster Config Being Updated . uuid , Ġpolicy ID Ġ= Ġ" to _ something _ new ", Ġseq No Ġ= Ġ 5 , Ġprimary Term Ġ= Ġ 1 7 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchange Policy Ġ= Ġrandom Change Policy (" updating ")) ĊĊĠĠĠĠĠĠĠ Ġval Ġcluster Config Ġ= Ġrandom Cluster State Managed Index Config ( policy ID Ġ= Ġ" do _ nothing ") ĊĠĠĠĠĠĠĠ Ġval Ġs we pt Config Ġ= Ġrandom S we pt Managed Index Config ( index Ġ= Ġcluster Config . index , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuuid Ġ= Ġcluster Config . uuid , Ġpolicy ID Ġ= Ġcluster Config . policy ID , Ġseq No Ġ= Ġ 5 , Ġprimary Term Ġ= Ġ 1 7 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġrequests Ġ= Ġget Delete Managed Index Requests ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcluster Config To Create . uuid Ġto Ġcluster Config To Create , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcluster Config ToUpdate . uuid Ġto Ġcluster Config ToUpdate , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcluster Config . uuid Ġto Ġcluster Config , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcluster Config Being Updated . uuid Ġto Ġcluster Config Being Updated ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs we pt Config . uuid Ġto Ġs we pt Config , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs we pt Config ToDelete . uuid Ġto Ġs we pt Config ToDelete , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs we pt Config ToBe Updated . uuid Ġto Ġs we pt Config ToBe Updated , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs we pt Config Being Updated . uuid Ġto Ġs we pt Config Being Updated ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" Too Ġmany Ġrequests ", Ġ 1 , Ġrequests . size ) ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= Ġrequests . first () ĊĠĠĠĠĠĠĠ ĠassertEquals (" Incorrect Ġuuid Ġused Ġas Ġdocument Ġid Ġon Ġrequest ", Ġs we pt Config ToDelete . uuid , Ġrequest . id ()) ĊĠĠĠĠĠĠĠ ĠassertTrue (" Incorrect Ġrequest Ġtype ", Ġrequest Ġis ĠDelete Request ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ` test Ġget Ġs we pt Ġmanaged Ġindex Ġsearch Ġrequest `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsearch Request Ġ= ĠgetS we pt Managed Index Search Request () ĊĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= Ġsearch Request . source () ĊĠĠĠĠĠĠĠ Ġval Ġindices Ġ= Ġsearch Request . indices (). toList () ĊĠĠĠĠĠĠĠ ĠassertTrue (" Does Ġnot Ġreturn Ġseq No Ġand ĠPrimary Term ", Ġbuilder . seq No And Primary Term ()) ĊĠĠĠĠĠĠĠ ĠassertEquals (" Wrong Ġindex Ġbeing Ġsearched ", ĠlistOf ( INDEX _ STATE _ MANAGE MENT _ INDEX ), Ġindices ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ` test Ġrol lover Ġaction Ġconfig Ġevaluate Ġconditions `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġno Conditions Config Ġ= ĠR ollo ver Action Config ( min Size Ġ= Ġnull , Ġmin Docs Ġ= Ġnull , Ġmin Age Ġ= Ġnull , Ġindex Ġ= Ġ 0 ) ĊĠĠĠĠĠĠĠ ĠassertTrue (" No Ġconditions Ġshould Ġalways Ġpass ", Ġno Conditions Config ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. evaluate Conditions ( index Age Time Value Ġ= ĠTime Value . time Value Millis ( 0 ), Ġnum Docs Ġ= Ġ 0 , Ġindex Size Ġ= ĠByte Size Value ( 0 ))) ĊĠĠĠĠĠĠĠ ĠassertTrue (" No Ġconditions Ġshould Ġalways Ġpass ", Ġno Conditions Config ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. evaluate Conditions ( index Age Time Value Ġ= ĠTime Value . time Value Millis ( 1 0 0 ), Ġnum Docs Ġ= Ġ 5 , Ġindex Size Ġ= ĠByte Size Value ( 5 ))) ĊĠĠĠĠĠĠĠ ĠassertTrue (" No Ġconditions Ġshould Ġalways Ġpass ", Ġno Conditions Config ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. evaluate Conditions ( index Age Time Value Ġ= ĠTime Value . time Value Millis ( 6 0 0 0 ), Ġnum Docs Ġ= Ġ 5 , Ġindex Size Ġ= ĠByte Size Value ( 5 ))) ĊĊĠĠĠĠĠĠĠ Ġval Ġmin Size Config Ġ= ĠR ollo ver Action Config ( min Size Ġ= ĠByte Size Value ( 5 ), Ġmin Docs Ġ= Ġnull , Ġmin Age Ġ= Ġnull , Ġindex Ġ= Ġ 0 ) ĊĠĠĠĠĠĠĠ ĠassertFalse (" Less Ġbytes Ġshould Ġnot Ġpass ", Ġmin Size Config ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. evaluate Conditions ( index Age Time Value Ġ= ĠTime Value . time Value Millis ( 1 0 0 0 ), Ġnum Docs Ġ= Ġ 0 , Ġindex Size Ġ= ĠByte Size Value . ZERO )) ĊĠĠĠĠĠĠĠ ĠassertTrue (" Equal Ġbytes Ġshould Ġpass ", Ġmin Size Config ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. evaluate Conditions ( index Age Time Value Ġ= ĠTime Value . time Value Millis ( 1 0 0 0 ), Ġnum Docs Ġ= Ġ 0 , Ġindex Size Ġ= ĠByte Size Value ( 5 ))) ĊĠĠĠĠĠĠĠ ĠassertTrue (" More Ġbytes Ġshould Ġpass ", Ġmin Size Config ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. evaluate Conditions ( index Age Time Value Ġ= ĠTime Value . time Value Millis ( 1 0 0 0 ), Ġnum Docs Ġ= Ġ 0 , Ġindex Size Ġ= ĠByte Size Value ( 1 0 ))) ĊĊĠĠĠĠĠĠĠ Ġval Ġmin Docs Config Ġ= ĠR ollo ver Action Config ( min Size Ġ= Ġnull , Ġmin Docs Ġ= Ġ 5 , Ġmin Age Ġ= Ġnull , Ġindex Ġ= Ġ 0 ) ĊĠĠĠĠĠĠĠ ĠassertFalse (" Less Ġdocs Ġshould Ġnot Ġpass ", Ġmin Docs Config ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. evaluate Conditions ( index Age Time Value Ġ= ĠTime Value . time Value Millis ( 1 0 0 0 ), Ġnum Docs Ġ= Ġ 0 , Ġindex Size Ġ= ĠByte Size Value . ZERO )) ĊĠĠĠĠĠĠĠ ĠassertTrue (" Equal Ġdocs Ġshould Ġpass ", Ġmin Docs Config ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. evaluate Conditions ( index Age Time Value Ġ= ĠTime Value . time Value Millis ( 1 0 0 0 ), Ġnum Docs Ġ= Ġ 5 , Ġindex Size Ġ= ĠByte Size Value . ZERO )) ĊĠĠĠĠĠĠĠ ĠassertTrue (" More Ġdocs Ġshould Ġpass ", Ġmin Docs Config ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. evaluate Conditions ( index Age Time Value Ġ= ĠTime Value . time Value Millis ( 1 0 0 0 ), Ġnum Docs Ġ= Ġ 1 0 , Ġindex Size Ġ= ĠByte Size Value . ZERO )) ĊĊĠĠĠĠĠĠĠ Ġval Ġmin Age Config Ġ= ĠR ollo ver Action Config ( min Size Ġ= Ġnull , Ġmin Docs Ġ= Ġnull , Ġmin Age Ġ= ĠTime Value . time Value Seconds ( 5 ), Ġindex Ġ= Ġ 0 ) ĊĠĠĠĠĠĠĠ ĠassertFalse (" Index Ġage Ġthat Ġis Ġtoo Ġyoung Ġshould Ġnot Ġpass ", Ġmin Age Config ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. evaluate Conditions ( index Age Time Value Ġ= ĠTime Value . time Value Millis ( 1 0 0 0 ), Ġnum Docs Ġ= Ġ 0 , Ġindex Size Ġ= ĠByte Size Value . ZERO )) ĊĠĠĠĠĠĠĠ ĠassertTrue (" Index Ġage Ġthat Ġis Ġolder Ġshould Ġpass ", Ġmin Age Config ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. evaluate Conditions ( index Age Time Value Ġ= ĠTime Value . time Value Millis ( 1 0 0 0 0 ), Ġnum Docs Ġ= Ġ 0 , Ġindex Size Ġ= ĠByte Size Value . ZERO )) ĊĊĠĠĠĠĠĠĠ Ġval Ġmulti Config Ġ= ĠR ollo ver Action Config ( min Size Ġ= ĠByte Size Value ( 1 ), Ġmin Docs Ġ= Ġ 1 , Ġmin Age Ġ= ĠTime Value . time Value Seconds ( 5 ), Ġindex Ġ= Ġ 0 ) ĊĠĠĠĠĠĠĠ ĠassertFalse (" No Ġconditions Ġmet Ġshould Ġnot Ġpass ", Ġmulti Config ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. evaluate Conditions ( index Age Time Value Ġ= ĠTime Value . time Value Millis ( 0 ), Ġnum Docs Ġ= Ġ 0 , Ġindex Size Ġ= ĠByte Size Value . ZERO )) ĊĠĠĠĠĠĠĠ ĠassertTrue (" Multi Ġcondition , Ġage Ġshould Ġpass ", Ġmulti Config ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. evaluate Conditions ( index Age Time Value Ġ= ĠTime Value . time Value Millis ( 1 0 0 0 0 ), Ġnum Docs Ġ= Ġ 0 , Ġindex Size Ġ= ĠByte Size Value . ZERO )) ĊĠĠĠĠĠĠĠ ĠassertTrue (" Multi Ġcondition , Ġdocs Ġshould Ġpass ", Ġmulti Config ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. evaluate Conditions ( index Age Time Value Ġ= ĠTime Value . time Value Millis ( 0 ), Ġnum Docs Ġ= Ġ 2 , Ġindex Size Ġ= ĠByte Size Value . ZERO )) ĊĠĠĠĠĠĠĠ ĠassertTrue (" Multi Ġcondition , Ġsize Ġshould Ġpass ", Ġmulti Config ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. evaluate Conditions ( index Age Time Value Ġ= ĠTime Value . time Value Millis ( 0 ), Ġnum Docs Ġ= Ġ 0 , Ġindex Size Ġ= ĠByte Size Value ( 2 ))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ` test Ġtransition Ġevaluate Ġconditions `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġempty Transition Ġ= ĠTransition ( state Name Ġ= Ġ" some _ state ", Ġconditions Ġ= Ġnull ) ĊĠĠĠĠĠĠĠ ĠassertTrue (" No Ġconditions Ġshould Ġpass ", Ġempty Transition ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. evaluate Conditions ( index Creation Date Ġ= ĠInstant . now (), Ġnum Docs Ġ= Ġnull , Ġindex Size Ġ= Ġnull , Ġtransition StartTime Ġ= ĠInstant . now ())) ĊĊĠĠĠĠĠĠĠ Ġval Ġtime Transition Ġ= ĠTransition ( state Name Ġ= Ġ" some _ state ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconditions Ġ= ĠConditions ( index Age Ġ= ĠTime Value . time Value Seconds ( 5 ), Ġdoc Count Ġ= Ġnull , Ġsize Ġ= Ġnull , Ġcron Ġ= Ġnull )) ĊĠĠĠĠĠĠĠ ĠassertFalse (" Index Ġage Ġthat Ġis Ġtoo Ġyoung Ġshould Ġnot Ġpass ", Ġtime Transition ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. evaluate Conditions ( index Creation Date Ġ= ĠInstant . now (), Ġnum Docs Ġ= Ġnull , Ġindex Size Ġ= Ġnull , Ġtransition StartTime Ġ= ĠInstant . now ())) ĊĠĠĠĠĠĠĠ ĠassertTrue (" Index Ġage Ġthat Ġis Ġolder Ġshould Ġpass ", Ġtime Transition ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. evaluate Conditions ( index Creation Date Ġ= ĠInstant . now (). minus Seconds ( 1 0 ), Ġnum Docs Ġ= Ġnull , Ġindex Size Ġ= Ġnull , Ġtransition StartTime Ġ= ĠInstant . now ())) ĊĠĠĠĠĠĠĠ ĠassertFalse (" Index Ġage Ġthat Ġis Ġ- 1 L Ġshould Ġnot Ġpass ", Ġtime Transition ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. evaluate Conditions ( index Creation Date Ġ= ĠInstant . of Epoch Milli (- 1 L ), Ġnum Docs Ġ= Ġnull , Ġindex Size Ġ= Ġnull , Ġtransition StartTime Ġ= ĠInstant . now ())) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcontent Parser ( bytes Reference : ĠBytes Reference ): ĠX Content Parser Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠX Content Helper . create Parser ( x Content Registry (), ĠLogging De precation Handler . INSTANCE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Reference , ĠX ContentType . JSON ) ĊĠĠĠ Ġ} Ċ } Ċ