/* Ċ Ġ* ĠCopyright ĠOpen Search ĠContributors Ċ Ġ* ĠSPDX - License - Identifier : ĠApache - 2 . 0 Ċ Ġ*/ Ċ Ċ package Ġorg . opense arch . inte gtest . config Ċ Ċ import Ġorg . junit . Assert Ċ import Ġorg . opense arch . commons . notifications . model . Ch ime Ċ import Ġorg . opense arch . commons . notifications . model . Config Type Ċ import Ġorg . opense arch . commons . notifications . model . Notification Config Ċ import Ġorg . opense arch . inte gtest . Plugin Rest TestCase Ċ import Ġorg . opense arch . notifications . Notification Plugin . Companion . PLUGIN _ BASE _ URI Ċ import Ġorg . opense arch . notifications . verify Multi Config Id Equals Ċ import Ġorg . opense arch . notifications . verify Ordered Config List Ċ import Ġorg . opense arch . notifications . verify Single Config Equals Ċ import Ġorg . opense arch . notifications . verify Single Config Id Equals Ċ import Ġorg . opense arch . rest . Rest Request Ċ import Ġorg . opense arch . rest . Rest Status Ċ import Ġjava . time . Instant Ċ import Ġkotlin . random . Random Ċ Ċ class ĠQuery Notification Config IT Ġ: ĠPlugin Rest TestCase () Ġ{ ĊĠĠĠ Ġprivate Ġval Ġchar Pool : ĠList < Char > Ġ= Ġ(' a ' .. ' z ') Ġ+ Ġ(' A ' .. ' Z ') Ġ+ Ġ(' 0 ' .. ' 9 ') ĊĊĠĠĠ Ġprivate Ġfun Ġget CreateRequest Json String ( ĊĠĠĠĠĠĠĠ Ġname Substring : ĠString , ĊĠĠĠĠĠĠĠ Ġconfig Type : ĠConfig Type , ĊĠĠĠĠĠĠĠ Ġis Enabled : ĠBoolean ĊĠĠĠ Ġ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrandom String Ġ= Ġ( 1 .. 2 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ ĠRandom . nextInt ( 0 , Ġchar Pool . size ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map ( char Pool :: get ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. join ToString ("") ĊĠĠĠĠĠĠĠ Ġval Ġconfig Object String Ġ= Ġwhen Ġ( config Type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConfig Type . SL ACK Ġ-> Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" slack ":{" url ":" https :// slack . domain . com / sample _ slack _ url #$ random String "} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConfig Type . CH IME Ġ-> Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ch ime ":{" url ":" https :// ch ime . domain . com / sample _ ch ime _ url #$ random String "} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConfig Type . WEB HOOK Ġ-> Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" webhook ":{" url ":" https :// web . domain . com / sample _ web _ url #$ random String "} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConfig Type . SMTP _ ACCOUNT Ġ-> Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" smtp _ account ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" host ":" smtp . domain . com ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" port ":" 4 3 2 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" method ":" ssl ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" from _ address ":" $ random String @ from . com " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConfig Type . EMAIL _ GROUP Ġ-> Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" email _ group ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" recipient _ list ":[ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{" recipient ":" $ random String + recipient 1 @ from . com "}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{" recipient ":" $ random String + recipient 2 @ from . com "} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalArgumentException (" Unsupported Ġconfig Type =$ config Type ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġ""" ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" config _ id ":" $ random String ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" config ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" name ":" $ name Substring : this Ġis Ġa Ġsample Ġconfig Ġname Ġ$ random String ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" description ":" this Ġis Ġa Ġsample Ġconfig Ġdescription Ġ$ random String ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" config _ type ":" $ config Type ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" is _ enabled ": $ isEnabled , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ$ config Object String ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Config ( ĊĠĠĠĠĠĠĠ Ġname Substring : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġconfig Type : ĠConfig Type Ġ= ĠConfig Type . SL ACK , ĊĠĠĠĠĠĠĠ Ġis Enabled : ĠBoolean Ġ= Ġtrue ĊĠĠĠ Ġ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcreate Request Json String Ġ= Ġget CreateRequest Json String ( name Substring , Ġconfig Type , Ġis Enabled ) ĊĠĠĠĠĠĠĠ Ġval Ġcreate Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . POST . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Request Json String , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġconfig Id Ġ= Ġcreate Response . get (" config _ id "). asString ĊĠĠĠĠĠĠĠ ĠAssert . assertNotNull ( config Id ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 ) ĊĠĠĠĠĠĠĠ Ġreturn Ġconfig Id ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ` test ĠGet Ġsingle Ġnotification Ġconfig Ġas Ġpart Ġof Ġpath `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconfig Id Ġ= Ġcreate Config () ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 0 ) ĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġnotification Ġconfig ĊĠĠĠĠĠĠĠ Ġval ĠgetConfig Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs /$ config Id ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Single Config Id Equals ( config Id , ĠgetConfig Response ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ` test ĠGet Ġsingle Ġabsent Ġnotification Ġconfig Ġshould Ġfail Ġas Ġpart Ġof Ġpath `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconfig Id Ġ= Ġcreate Config () ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 0 ) ĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġnotification Ġconfig Ġwith Ġabsent Ġid ĊĠĠĠĠĠĠĠ Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs /${ config Id } extra ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . NOT _ FOUND . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ` test ĠGet Ġsingle Ġnotification Ġconfig Ġas Ġpart Ġof Ġquery `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconfig Id Ġ= Ġcreate Config () ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 0 ) ĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġnotification Ġconfig Ġwith Ġquery Ġparameter ĊĠĠĠĠĠĠĠ Ġval ĠgetConfig Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? config _ id =$ config Id ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Single Config Id Equals ( config Id , ĠgetConfig Response ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ` test ĠGet Ġsingle Ġabsent Ġnotification Ġconfig Ġshould Ġfail Ġas Ġpart Ġof Ġquery `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconfig Id Ġ= Ġcreate Config () ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 0 ) ĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġnotification Ġconfig Ġwith Ġquery Ġparameter Ġwith Ġabsent Ġid ĊĠĠĠĠĠĠĠ Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? config _ id =${ config Id } extra ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . NOT _ FOUND . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ` test ĠGet Ġmultiple Ġnotification Ġconfig Ġas Ġpart Ġof Ġquery `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ( 1 .. 5 ). map Ġ{ Ġcreate Config () Ġ}. toSet () ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 ) ĊĠĠĠĠĠĠĠ Ġ( 1 .. 5 ). map Ġ{ Ġcreate Config () Ġ}. toSet () ĊĠĠĠĠĠĠĠ Ġval Ġconfig Ids : ĠSet < String > Ġ= Ġ( 1 .. 5 ). map Ġ{ Ġcreate Config () Ġ}. toSet () ĊĠĠĠĠĠĠĠ Ġ( 1 .. 5 ). map Ġ{ Ġcreate Config () Ġ}. toSet () ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 0 ) ĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġnotification Ġconfig Ġwith Ġquery Ġparameter ĊĠĠĠĠĠĠĠ Ġval ĠgetConfig Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? config _ id _ list =${ config Ids . join ToString (",") }", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Multi Config Id Equals ( config Ids , ĠgetConfig Response , Ġconfig Ids . size ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ` test ĠGet Ġall Ġnotification Ġconfig `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconfig Ids : ĠSet < String > Ġ= Ġ( 1 .. 2 0 ). map Ġ{ Ġcreate Config () Ġ}. toSet () ĊĠĠĠĠĠĠĠ Ġrefresh All Indices () ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġall Ġnotification Ġconfigs ĊĠĠĠĠĠĠĠ Ġval ĠgetAll Config Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Multi Config Id Equals ( config Ids , ĠgetAll Config Response , Ġconfig Ids . size ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ` test ĠGet Ġpag inated Ġnotification Ġconfig Ġusing Ġfrom _ index Ġand Ġmax _ items `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfirst Config Ids : ĠSet < String > Ġ= Ġ( 1 .. 1 0 ). map Ġ{ Ġcreate Config () Ġ}. toSet () ĊĠĠĠĠĠĠĠ Ġval Ġsecond Config Ids : ĠSet < String > Ġ= Ġ( 1 .. 1 0 ). map Ġ{ Ġcreate Config () Ġ}. toSet () ĊĠĠĠĠĠĠĠ Ġval Ġthird Config Ids : ĠSet < String > Ġ= Ġ( 1 .. 1 0 ). map Ġ{ Ġcreate Config () Ġ}. toSet () ĊĠĠĠĠĠĠĠ Ġval Ġall Config Ids Ġ= Ġfirst Config Ids . union ( second Config Ids ). union ( third Config Ids ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġall Ġnotification Ġconfigs ĊĠĠĠĠĠĠĠ Ġval ĠgetAll Config Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Multi Config Id Equals ( all Config Ids , ĠgetAll Config Response , Ġall Config Ids . size ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġfirst Ġ 1 0 Ġnotification Ġconfigs ĊĠĠĠĠĠĠĠ Ġval Ġget First Config Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? from _ index = 0 & max _ items = 1 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Multi Config Id Equals ( first Config Ids , Ġget First Config Response , Ġall Config Ids . size ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġfirst Ġ 1 0 Ġnotification Ġconfigs Ġwithout Ġfrom _ index ĊĠĠĠĠĠĠĠ Ġval Ġget First Config Response Without From Index Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? max _ items = 1 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Multi Config Id Equals ( first Config Ids , Ġget First Config Response Without From Index , Ġall Config Ids . size ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġsecond Ġ 1 0 Ġnotification Ġconfigs ĊĠĠĠĠĠĠĠ Ġval Ġget Second Config Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? from _ index = 1 0 & max _ items = 1 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Multi Config Id Equals ( second Config Ids , Ġget Second Config Response , Ġall Config Ids . size ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġthird Ġ 1 0 Ġnotification Ġconfigs ĊĠĠĠĠĠĠĠ Ġval Ġget Third Config Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? from _ index = 2 0 & max _ items = 1 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Multi Config Id Equals ( third Config Ids , Ġget Third Config Response , Ġall Config Ids . size ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġall Ġitems Ġafter Ġ 1 0 Ġnotification Ġconfigs ĊĠĠĠĠĠĠĠ Ġval Ġget After 1 0 Config Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? from _ index = 1 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Multi Config Id Equals ( second Config Ids . union ( third Config Ids ), Ġget After 1 0 Config Response , Ġall Config Ids . size ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ` test ĠGet Ġdescending Ġpag inated Ġnotification Ġconfig Ġusing Ġfrom _ index Ġand Ġmax _ items `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfirst Config Ids : ĠSet < String > Ġ= Ġ( 1 .. 1 0 ). map Ġ{ Ġcreate Config () Ġ}. toSet () ĊĠĠĠĠĠĠĠ Ġval Ġsecond Config Ids : ĠSet < String > Ġ= Ġ( 1 .. 1 0 ). map Ġ{ Ġcreate Config () Ġ}. toSet () ĊĠĠĠĠĠĠĠ Ġval Ġthird Config Ids : ĠSet < String > Ġ= Ġ( 1 .. 1 0 ). map Ġ{ Ġcreate Config () Ġ}. toSet () ĊĠĠĠĠĠĠĠ Ġval Ġall Config Ids Ġ= Ġfirst Config Ids . union ( second Config Ids ). union ( third Config Ids ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġall Ġnotification Ġconfigs ĊĠĠĠĠĠĠĠ Ġval ĠgetAll Config Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Multi Config Id Equals ( all Config Ids , ĠgetAll Config Response , Ġall Config Ids . size ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġfirst Ġ 1 0 Ġnotification Ġconfigs ĊĠĠĠĠĠĠĠ Ġval Ġget First Config Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? from _ index = 0 & max _ items = 1 0 & sort _ order = desc ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Multi Config Id Equals ( third Config Ids , Ġget First Config Response , Ġall Config Ids . size ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġlast Ġ 1 0 Ġnotification Ġconfigs ĊĠĠĠĠĠĠĠ Ġval Ġget Third Config Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? from _ index = 2 0 & max _ items = 1 0 & sort _ order = desc ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Multi Config Id Equals ( first Config Ids , Ġget Third Config Response , Ġall Config Ids . size ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġall Ġitems Ġafter Ġ 1 0 Ġnotification Ġconfigs ĊĠĠĠĠĠĠĠ Ġval Ġget After 1 0 Config Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? from _ index = 1 0 & sort _ order = desc ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Multi Config Id Equals ( second Config Ids . union ( first Config Ids ), Ġget After 1 0 Config Response , Ġall Config Ids . size ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ` test ĠGet Ġsorted Ġnotification Ġconfig Ġusing Ġmetadata Ġkeyword Ġsort _ field ( created _ time _ ms )` () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġid 1 Ġ= Ġcreate Config () ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġid 2 Ġ= Ġcreate Config () ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġid 3 Ġ= Ġcreate Config () ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġid 4 Ġ= Ġcreate Config () ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġid 5 Ġ= Ġcreate Config () ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġsorted Config Ids Ġ= ĠlistOf ( id 1 , Ġid 2 , Ġid 3 , Ġid 4 , Ġid 5 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġall Ġnotification Ġconfigs Ġwith Ġdefault Ġsort _ order ( asc ) ĊĠĠĠĠĠĠĠ Ġval ĠgetDefault Order Config Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? sort _ field = created _ time _ ms ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Ordered Config List ( sorted Config Ids , ĠgetDefault Order Config Response , Ġsorted Config Ids . size ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġall Ġnotification Ġconfigs Ġwith Ġsort _ order = asc ĊĠĠĠĠĠĠĠ Ġval Ġget Asc Config Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? sort _ field = created _ time _ ms & sort _ order = asc ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Ordered Config List ( sorted Config Ids , Ġget Asc Config Response , Ġsorted Config Ids . size ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġall Ġnotification Ġconfigs Ġwith Ġsort _ order = desc ĊĠĠĠĠĠĠĠ Ġval Ġget Desc Config Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? sort _ field = created _ time _ ms & sort _ order = desc ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Ordered Config List ( sorted Config Ids . as Re versed (), Ġget Desc Config Response , Ġsorted Config Ids . size ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ` test ĠGet Ġsorted Ġnotification Ġconfig Ġusing Ġsingle Ġkeyword Ġsort _ field ( config _ type )` () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġslack Id Ġ= Ġcreate Config ( config Type Ġ= ĠConfig Type . SL ACK ) ĊĠĠĠĠĠĠĠ Ġval Ġch ime Id Ġ= Ġcreate Config ( config Type Ġ= ĠConfig Type . CH IME ) ĊĠĠĠĠĠĠĠ Ġval Ġwebhook Id Ġ= Ġcreate Config ( config Type Ġ= ĠConfig Type . WEB HOOK ) ĊĠĠĠĠĠĠĠ Ġval Ġemail GroupId Ġ= Ġcreate Config ( config Type Ġ= ĠConfig Type . EMAIL _ GROUP ) ĊĠĠĠĠĠĠĠ Ġval Ġsmtp AccountId Ġ= Ġcreate Config ( config Type Ġ= ĠConfig Type . SMTP _ ACCOUNT ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġsorted Config Ids Ġ= ĠlistOf ( ch ime Id , Ġemail GroupId , Ġslack Id , Ġsmtp AccountId , Ġwebhook Id ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġall Ġnotification Ġconfigs Ġwith Ġdefault Ġsort _ order ( asc ) ĊĠĠĠĠĠĠĠ Ġval ĠgetDefault Order Config Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? sort _ field = config _ type ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Ordered Config List ( sorted Config Ids , ĠgetDefault Order Config Response , Ġsorted Config Ids . size ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġall Ġnotification Ġconfigs Ġwith Ġsort _ order = asc ĊĠĠĠĠĠĠĠ Ġval Ġget Asc Config Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? sort _ field = config _ type & sort _ order = asc ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Ordered Config List ( sorted Config Ids , Ġget Asc Config Response , Ġsorted Config Ids . size ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġall Ġnotification Ġconfigs Ġwith Ġsort _ order = desc ĊĠĠĠĠĠĠĠ Ġval Ġget Desc Config Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? sort _ field = config _ type & sort _ order = desc ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Ordered Config List ( sorted Config Ids . as Re versed (), Ġget Desc Config Response , Ġsorted Config Ids . size ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ` test ĠGet Ġsorted Ġnotification Ġconfig Ġusing Ġtext Ġsort _ field ( slack _ url )` () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconfig Ids : ĠSet < String > Ġ= Ġ( 1 .. 1 0 ). map Ġ{ Ġcreate Config ( config Type Ġ= ĠConfig Type . SL ACK ) Ġ}. toSet () ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġsorted Config Ids Ġ= Ġconfig Ids . sorted () ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġall Ġnotification Ġconfigs Ġwith Ġdefault Ġsort _ order ( asc ) ĊĠĠĠĠĠĠĠ Ġval ĠgetDefault Order Config Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? sort _ field = slack . url ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Ordered Config List ( sorted Config Ids , ĠgetDefault Order Config Response , Ġconfig Ids . size ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġall Ġnotification Ġconfigs Ġwith Ġsort _ order = asc ĊĠĠĠĠĠĠĠ Ġval Ġget Asc Config Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? sort _ field = slack . url & sort _ order = asc ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Ordered Config List ( sorted Config Ids , Ġget Asc Config Response , Ġconfig Ids . size ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġall Ġnotification Ġconfigs Ġwith Ġsort _ order = desc ĊĠĠĠĠĠĠĠ Ġval Ġget Desc Config Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? sort _ field = slack . url & sort _ order = desc ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Ordered Config List ( sorted Config Ids . as Re versed (), Ġget Desc Config Response , Ġconfig Ids . size ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ` test ĠGet Ġfiltered Ġnotification Ġconfig Ġusing Ġkeyword Ġfilter _ param _ list ( config _ type )` () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġslack Id Ġ= Ġcreate Config ( config Type Ġ= ĠConfig Type . SL ACK ) ĊĠĠĠĠĠĠĠ Ġval Ġch ime Id Ġ= Ġcreate Config ( config Type Ġ= ĠConfig Type . CH IME ) ĊĠĠĠĠĠĠĠ Ġval Ġwebhook Id Ġ= Ġcreate Config ( config Type Ġ= ĠConfig Type . WEB HOOK ) ĊĠĠĠĠĠĠĠ Ġval Ġemail GroupId Ġ= Ġcreate Config ( config Type Ġ= ĠConfig Type . EMAIL _ GROUP ) ĊĠĠĠĠĠĠĠ Ġval Ġsmtp AccountId Ġ= Ġcreate Config ( config Type Ġ= ĠConfig Type . SMTP _ ACCOUNT ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġnotification Ġconfigs Ġwith Ġone Ġitem Ġtype ĊĠĠĠĠĠĠĠ Ġval Ġget Slack Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? config _ type = slack ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Single Config Id Equals ( slack Id , Ġget Slack Response , Ġ 1 ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġnotification Ġconfigs Ġwith Ġ 2 Ġitem Ġtype ĊĠĠĠĠĠĠĠ Ġval Ġget Slack Or Ch ime Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? config _ type = slack , ch ime ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Multi Config Id Equals ( set Of ( slack Id , Ġch ime Id ), Ġget Slack Or Ch ime Response , Ġ 2 ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġnotification Ġconfigs Ġwith Ġ 3 Ġitem Ġtype ĊĠĠĠĠĠĠĠ Ġval Ġget Webhook Email Group Or Sm tp Account Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? config _ type = webhook , email _ group , smtp _ account ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Multi Config Id Equals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Of ( webhook Id , Ġemail GroupId , Ġsmtp AccountId ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Webhook Email Group Or Sm tp Account Response , ĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ` test ĠGet Ġfiltered Ġnotification Ġconfig Ġusing Ġtext Ġfilter _ param _ list ( name )` () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconfig Ids : ĠSet < String > Ġ= Ġ( 1 .. 1 0 ). map Ġ{ Ġcreate Config () Ġ}. toSet () ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġnotification Ġconfigs Ġwith Ġcommon Ġtext Ġ" sample Ġconfig Ġname " ĊĠĠĠĠĠĠĠ Ġval Ġget Common Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? name = sample + config + name ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Multi Config Id Equals ( config Ids , Ġget Common Response , Ġconfig Ids . size ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġnotification Ġconfigs Ġwith Ġrandom Ġgenerated Ġtext Ġ( id ) ĊĠĠĠĠĠĠĠ Ġval Ġpartial String Ġ= Ġconfig Ids . first () ĊĠĠĠĠĠĠĠ Ġval Ġpartial Config Ids Ġ= Ġconfig Ids . filter Ġ{ Ġit . contains ( partial String ) Ġ}. toSet () ĊĠĠĠĠĠĠĠ Ġval Ġget Partial Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? name =$ partial String ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Multi Config Id Equals ( partial Config Ids , Ġget Partial Response , Ġpartial Config Ids . size ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ` test ĠGet Ġfiltered Ġnotification Ġconfig Ġusing Ġkeyword Ġfilter _ param _ list ( is _ enabled )` () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġenabled Config Ids : ĠSet < String > Ġ= Ġ( 1 .. 1 0 ). map Ġ{ Ġcreate Config ( isEnabled Ġ= Ġtrue ) Ġ}. toSet () ĊĠĠĠĠĠĠĠ Ġval Ġdisabled Config Ids : ĠSet < String > Ġ= Ġ( 1 .. 1 0 ). map Ġ{ Ġcreate Config ( isEnabled Ġ= Ġfalse ) Ġ}. toSet () ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġnotification Ġconfigs Ġwith Ġis _ enabled = true ĊĠĠĠĠĠĠĠ Ġval Ġget Enabled Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? is _ enabled = true ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Multi Config Id Equals ( enabled Config Ids , Ġget Enabled Response , Ġenabled Config Ids . size ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġnotification Ġconfigs Ġwith Ġis _ enabled = false ĊĠĠĠĠĠĠĠ Ġval Ġget Disabled Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? is _ enabled = false ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Multi Config Id Equals ( disabled Config Ids , Ġget Disabled Response , Ġdisabled Config Ids . size ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ` test ĠGet Ġfiltered Ġnotification Ġconfig Ġusing Ġtext Ġfilter _ param _ list ( description )` () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconfig Ids : ĠSet < String > Ġ= Ġ( 1 .. 1 0 ). map Ġ{ Ġcreate Config () Ġ}. toSet () ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġnotification Ġconfigs Ġwith Ġcommon Ġtext Ġ" sample Ġdescription " ĊĠĠĠĠĠĠĠ Ġval Ġget Common Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? description = sample + description ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Multi Config Id Equals ( config Ids , Ġget Common Response , Ġconfig Ids . size ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġnotification Ġconfigs Ġwith Ġrandom Ġgenerated Ġtext Ġ( id ) ĊĠĠĠĠĠĠĠ Ġval Ġpartial String Ġ= Ġconfig Ids . first () ĊĠĠĠĠĠĠĠ Ġval Ġpartial Config Ids Ġ= Ġconfig Ids . filter Ġ{ Ġit . contains ( partial String ) Ġ}. toSet () ĊĠĠĠĠĠĠĠ Ġval Ġget Partial Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? description =$ partial String ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Multi Config Id Equals ( partial Config Ids , Ġget Partial Response , Ġpartial Config Ids . size ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ` test ĠGet Ġfiltered Ġnotification Ġconfig Ġusing Ġkeyword Ġfilter _ param _ list ( last _ updated _ time _ ms )` () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinitial Time Ġ= ĠInstant . now () ĊĠĠĠĠĠĠĠ Ġval Ġinitial Config Ids : ĠSet < String > Ġ= Ġ( 1 .. 1 0 ). map Ġ{ Ġcreate Config () Ġ}. toSet () ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġmiddle Time Ġ= ĠInstant . now () ĊĠĠĠĠĠĠĠ Ġval Ġmiddle Config Ids : ĠSet < String > Ġ= Ġ( 1 .. 1 0 ). map Ġ{ Ġcreate Config () Ġ}. toSet () ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġfinal Time Ġ= ĠInstant . now () ĊĠĠĠĠĠĠĠ Ġval Ġfinal Config Ids : ĠSet < String > Ġ= Ġ( 1 .. 1 0 ). map Ġ{ Ġcreate Config () Ġ}. toSet () ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 0 ) ĊĠĠĠĠĠĠĠ Ġval ĠendTime Ġ= ĠInstant . now () ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġnotification Ġconfigs Ġbetween Ġinitial Time .. middle Time ĊĠĠĠĠĠĠĠ Ġval Ġget First Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? last _ updated _ time _ ms =${ initial Time . to Epoch Milli ()} .. ${ middle Time . to Epoch Milli () }", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Multi Config Id Equals ( initial Config Ids , Ġget First Response , Ġinitial Config Ids . size ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġnotification Ġconfigs Ġbetween Ġmiddle Time .. final Time ĊĠĠĠĠĠĠĠ Ġval Ġget Second Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? last _ updated _ time _ ms =${ middle Time . to Epoch Milli ()} .. ${ final Time . to Epoch Milli () }", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Multi Config Id Equals ( middle Config Ids , Ġget Second Response , Ġmiddle Config Ids . size ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġnotification Ġconfigs Ġbetween Ġfinal Time .. endTime ĊĠĠĠĠĠĠĠ Ġval Ġget Third Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? last _ updated _ time _ ms =${ final Time . to Epoch Milli ()} .. ${ endTime . to Epoch Milli () }", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Multi Config Id Equals ( final Config Ids , Ġget Third Response , Ġfinal Config Ids . size ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ` test ĠGet Ġfiltered Ġnotification Ġconfig Ġusing Ġkeyword Ġfilter _ param _ list ( created _ time _ ms )` () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinitial Time Ġ= ĠInstant . now () ĊĠĠĠĠĠĠĠ Ġval Ġinitial Config Ids : ĠSet < String > Ġ= Ġ( 1 .. 1 0 ). map Ġ{ Ġcreate Config () Ġ}. toSet () ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġmiddle Time Ġ= ĠInstant . now () ĊĠĠĠĠĠĠĠ Ġval Ġmiddle Config Ids : ĠSet < String > Ġ= Ġ( 1 .. 1 0 ). map Ġ{ Ġcreate Config () Ġ}. toSet () ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġfinal Time Ġ= ĠInstant . now () ĊĠĠĠĠĠĠĠ Ġval Ġfinal Config Ids : ĠSet < String > Ġ= Ġ( 1 .. 1 0 ). map Ġ{ Ġcreate Config () Ġ}. toSet () ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 0 ) ĊĠĠĠĠĠĠĠ Ġval ĠendTime Ġ= ĠInstant . now () ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġnotification Ġconfigs Ġbetween Ġinitial Time .. middle Time ĊĠĠĠĠĠĠĠ Ġval Ġget First Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? created _ time _ ms =${ initial Time . to Epoch Milli ()} .. ${ middle Time . to Epoch Milli () }", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Multi Config Id Equals ( initial Config Ids , Ġget First Response , Ġinitial Config Ids . size ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġnotification Ġconfigs Ġbetween Ġmiddle Time .. final Time ĊĠĠĠĠĠĠĠ Ġval Ġget Second Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? created _ time _ ms =${ middle Time . to Epoch Milli ()} .. ${ final Time . to Epoch Milli () }", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Multi Config Id Equals ( middle Config Ids , Ġget Second Response , Ġmiddle Config Ids . size ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġnotification Ġconfigs Ġbetween Ġfinal Time .. endTime ĊĠĠĠĠĠĠĠ Ġval Ġget Third Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? created _ time _ ms =${ final Time . to Epoch Milli ()} .. ${ endTime . to Epoch Milli () }", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Multi Config Id Equals ( final Config Ids , Ġget Third Response , Ġfinal Config Ids . size ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ` test ĠGet Ġfiltered Ġnotification Ġconfig Ġusing Ġkeyword Ġfilter _ param _ list ( internal Ġconfig Ġfields )` () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġslack Id Ġ= Ġcreate Config ( config Type Ġ= ĠConfig Type . SL ACK ) ĊĠĠĠĠĠĠĠ Ġval Ġch ime Id Ġ= Ġcreate Config ( config Type Ġ= ĠConfig Type . CH IME ) ĊĠĠĠĠĠĠĠ Ġval Ġwebhook Id Ġ= Ġcreate Config ( config Type Ġ= ĠConfig Type . WEB HOOK ) ĊĠĠĠĠĠĠĠ Ġval Ġemail GroupId Ġ= Ġcreate Config ( config Type Ġ= ĠConfig Type . EMAIL _ GROUP ) ĊĠĠĠĠĠĠĠ Ġval Ġsmtp AccountId Ġ= Ġcreate Config ( config Type Ġ= ĠConfig Type . SMTP _ ACCOUNT ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġnotification Ġconfigs Ġusing Ġslack . url ĊĠĠĠĠĠĠĠ Ġval Ġget Slack Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? slack . url =$ slack Id ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Single Config Id Equals ( slack Id , Ġget Slack Response , Ġ 1 ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġnotification Ġconfigs Ġusing Ġch ime . url ĊĠĠĠĠĠĠĠ Ġval Ġget Ch ime Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? ch ime . url =$ ch ime Id ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Single Config Id Equals ( ch ime Id , Ġget Ch ime Response , Ġ 1 ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġnotification Ġconfigs Ġusing Ġwebhook . url ĊĠĠĠĠĠĠĠ Ġval Ġget Webhook Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? webhook . url =$ webhook Id ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Single Config Id Equals ( webhook Id , Ġget Webhook Response , Ġ 1 ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġnotification Ġconfigs Ġusing Ġemail _ group . recipient _ list . recipient ĊĠĠĠĠĠĠĠ Ġval Ġget Email Group Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? email _ group . recipient _ list . recipient =$ email GroupId ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Single Config Id Equals ( email GroupId , Ġget Email Group Response , Ġ 1 ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġnotification Ġconfigs Ġusing Ġsmtp _ account . from _ address ĊĠĠĠĠĠĠĠ Ġval Ġget Sm tp Account Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? smtp _ account . from _ address =$ smtp AccountId ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Single Config Id Equals ( smtp AccountId , Ġget Sm tp Account Response , Ġ 1 ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ` test ĠGet Ġfiltered Ġnotification Ġconfig Ġusing Ġquery `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġslack Id Ġ= Ġcreate Config ( config Type Ġ= ĠConfig Type . SL ACK ) ĊĠĠĠĠĠĠĠ Ġval Ġch ime Id Ġ= Ġcreate Config ( config Type Ġ= ĠConfig Type . CH IME ) ĊĠĠĠĠĠĠĠ Ġval Ġwebhook Id Ġ= Ġcreate Config ( config Type Ġ= ĠConfig Type . WEB HOOK ) ĊĠĠĠĠĠĠĠ Ġval Ġemail GroupId Ġ= Ġcreate Config ( config Type Ġ= ĠConfig Type . EMAIL _ GROUP ) ĊĠĠĠĠĠĠĠ Ġval Ġsmtp AccountId Ġ= Ġcreate Config ( config Type Ġ= ĠConfig Type . SMTP _ ACCOUNT ) ĊĠĠĠĠĠĠĠ Ġval Ġall Ids Ġ= Ġset Of ( slack Id , Ġch ime Id , Ġwebhook Id , Ġemail GroupId , Ġsmtp AccountId ) ĊĠĠĠĠĠĠĠ Ġval Ġurl Ids Ġ= Ġset Of ( slack Id , Ġch ime Id , Ġwebhook Id ) ĊĠĠĠĠĠĠĠ Ġval Ġrecipient Ids Ġ= Ġset Of ( email GroupId ) ĊĠĠĠĠĠĠĠ Ġval Ġfrom Ids Ġ= Ġset Of ( email GroupId , Ġsmtp AccountId ) ĊĠĠĠĠĠĠĠ Ġval Ġdomain Ids Ġ= Ġset Of ( slack Id , Ġch ime Id , Ġwebhook Id , Ġsmtp AccountId ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġnotification Ġconfigs Ġusing Ġquery = slack ĊĠĠĠĠĠĠĠ Ġval Ġget Slack Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? query = slack ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Single Config Id Equals ( slack Id , Ġget Slack Response ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġnotification Ġconfigs Ġusing Ġquery = sample ĊĠĠĠĠĠĠĠ Ġval ĠgetAll Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? query = sample ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Multi Config Id Equals ( all Ids , ĠgetAll Response , Ġall Ids . size ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġnotification Ġconfigs Ġusing Ġquery = sample _* ĊĠĠĠĠĠĠĠ Ġval ĠgetUrl Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? query = sample _* ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Multi Config Id Equals ( url Ids , ĠgetUrl Response , Ġurl Ids . size ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġnotification Ġconfigs Ġusing Ġquery = recipient 1 ĊĠĠĠĠĠĠĠ Ġval Ġget Recipient Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? query = recipient 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Multi Config Id Equals ( recipient Ids , Ġget Recipient Response , Ġrecipient Ids . size ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġnotification Ġconfigs Ġusing Ġquery = from . com ĊĠĠĠĠĠĠĠ Ġval Ġget From Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? query = from . com ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Multi Config Id Equals ( from Ids , Ġget From Response , Ġfrom Ids . size ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġnotification Ġconfigs Ġusing Ġquery = *. domain .* ĊĠĠĠĠĠĠĠ Ġval Ġget Domain Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? query = *. domain .* ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Multi Config Id Equals ( domain Ids , Ġget Domain Response , Ġdomain Ids . size ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ` test ĠGet Ġfiltered Ġnotification Ġconfig Ġusing Ġtext _ query `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġslack Id Ġ= Ġcreate Config ( config Type Ġ= ĠConfig Type . SL ACK ) ĊĠĠĠĠĠĠĠ Ġval Ġch ime Id Ġ= Ġcreate Config ( config Type Ġ= ĠConfig Type . CH IME ) ĊĠĠĠĠĠĠĠ Ġval Ġwebhook Id Ġ= Ġcreate Config ( config Type Ġ= ĠConfig Type . WEB HOOK ) ĊĠĠĠĠĠĠĠ Ġval Ġemail GroupId Ġ= Ġcreate Config ( config Type Ġ= ĠConfig Type . EMAIL _ GROUP ) ĊĠĠĠĠĠĠĠ Ġval Ġsmtp AccountId Ġ= Ġcreate Config ( config Type Ġ= ĠConfig Type . SMTP _ ACCOUNT ) ĊĠĠĠĠĠĠĠ Ġval Ġall Ids Ġ= Ġset Of ( slack Id , Ġch ime Id , Ġwebhook Id , Ġemail GroupId , Ġsmtp AccountId ) ĊĠĠĠĠĠĠĠ Ġval Ġurl Ids Ġ= Ġset Of ( slack Id , Ġch ime Id , Ġwebhook Id ) ĊĠĠĠĠĠĠĠ Ġval Ġrecipient Ids Ġ= Ġset Of ( email GroupId ) ĊĠĠĠĠĠĠĠ Ġval Ġfrom Ids Ġ= Ġset Of ( email GroupId , Ġsmtp AccountId ) ĊĠĠĠĠĠĠĠ Ġval Ġdomain Ids Ġ= Ġset Of ( slack Id , Ġch ime Id , Ġwebhook Id , Ġsmtp AccountId ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġnotification Ġconfigs Ġusing Ġtext _ query = slack Ġshould Ġnot Ġreturn Ġany Ġitem ĊĠĠĠĠĠĠĠ Ġval Ġget Slack Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? text _ query = slack ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Multi Config Id Equals ( set Of (), Ġget Slack Response , Ġ 0 ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġnotification Ġconfigs Ġusing Ġtext _ query = sample ĊĠĠĠĠĠĠĠ Ġval ĠgetAll Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? text _ query = sample ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Multi Config Id Equals ( all Ids , ĠgetAll Response , Ġall Ids . size ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġnotification Ġconfigs Ġusing Ġtext _ query = sample _* ĊĠĠĠĠĠĠĠ Ġval ĠgetUrl Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? text _ query = sample _* ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Multi Config Id Equals ( url Ids , ĠgetUrl Response , Ġurl Ids . size ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġnotification Ġconfigs Ġusing Ġtext _ query = recipient 1 ĊĠĠĠĠĠĠĠ Ġval Ġget Recipient Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? text _ query = recipient 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Multi Config Id Equals ( recipient Ids , Ġget Recipient Response , Ġrecipient Ids . size ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġnotification Ġconfigs Ġusing Ġtext _ query = from . com ĊĠĠĠĠĠĠĠ Ġval Ġget From Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? text _ query = from . com ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Multi Config Id Equals ( from Ids , Ġget From Response , Ġfrom Ids . size ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġnotification Ġconfigs Ġusing Ġtext _ query = *. domain .* ĊĠĠĠĠĠĠĠ Ġval Ġget Domain Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ? text _ query = *. domain .* ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Multi Config Id Equals ( domain Ids , Ġget Domain Response , Ġdomain Ids . size ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ` test ĠGet Ġsingle Ġabsent Ġconfig Ġshould Ġfail Ġand Ġthen Ġcreate Ġa Ġconfig Ġusing Ġabsent Ġid Ġshould Ġpass `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġabsent Id Ġ= Ġ" abs ent _ id " ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 0 ) ĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġnotification Ġconfig Ġwith Ġabsent Ġid ĊĠĠĠĠĠĠĠ Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs /$ abs ent Id ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . NOT _ FOUND . status ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠCreate Ġsample Ġconfig Ġrequest Ġreference ĊĠĠĠĠĠĠĠ Ġval Ġsample Ch ime Ġ= ĠCh ime (" https :// domain . com / sample _ ch ime _ url # 1 2 3 4 5 6 7 8 9 0 ") ĊĠĠĠĠĠĠĠ Ġval Ġreference Object Ġ= ĠNotification Config ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" this Ġis Ġa Ġsample Ġconfig Ġname ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" this Ġis Ġa Ġsample Ġconfig Ġdescription ", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConfig Type . CH IME , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Enabled Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconfig Data Ġ= Ġsample Ch ime ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠCreate Ġch ime Ġnotification Ġconfig ĊĠĠĠĠĠĠĠ Ġval Ġcreate Request Json String Ġ= Ġ""" ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" config _ id ":" $ abs ent Id ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" config ":{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" name ":" ${ reference Object . name }", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" description ":" ${ reference Object . description }", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" config _ type ":" ch ime ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" is _ enabled ": ${ reference Object . isEnabled }, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ch ime ":{" url ":" ${ ( reference Object . config Data Ġas ĠCh ime ). url } "} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ Ġval Ġcreate Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . POST . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Request Json String , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( abs ent Id , Ġcreate Response . get (" config _ id "). asString ) ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġch ime Ġnotification Ġconfig ĊĊĠĠĠĠĠĠĠ Ġval ĠgetConfig Response Ġ= Ġexecute Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Request . Method . GET . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ PLUGIN _ BASE _ URI / configs /$ abs ent Id ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Status . OK . status ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġverify Single Config Equals ( abs ent Id , Ġreference Object , ĠgetConfig Response ) ĊĠĠĠ Ġ} Ċ } Ċ