/* Ċ Ġ* Ġ============ LICENSE _ START ================================================ ======= Ċ Ġ* Ġd cae gen 2 - collect ors - ves hv Ċ Ġ* Ġ================================================================= =============== Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 9 ĠN OK IA Ċ Ġ* Ġ================================================================= =============== Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġ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 . Ċ Ġ* Ġ============ LICENSE _ END ================================================ ========= Ċ Ġ*/ Ċ package Ġorg . on ap . dca e . collect ors . ves hv . main Ċ Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . any Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . in Order Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . mock Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . verify Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . wh enever Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . jetbrains . spe k . api . Spe k Ċ import Ġorg . jetbrains . spe k . api . dsl . describe Ċ import Ġorg . jetbrains . spe k . api . dsl . given Ċ import Ġorg . jetbrains . spe k . api . dsl . it Ċ import Ġorg . jetbrains . spe k . api . dsl . on Ċ import Ġorg . on ap . dca e . collect ors . ves hv . health check . api . Health Description Ċ import Ġorg . on ap . dca e . collect ors . ves hv . health check . api . Health State Ċ import Ġorg . on ap . dca e . collect ors . ves hv . utils . Server Handle Ċ import Ġreactor . core . publisher . Mono Ċ Ċ /** Ċ Ġ* Ġ@ author Ġ< a Ġhref =" mailto : pio tr . jas zc zy k @ nok ia . com "> P io tr ĠJ as zc zy k </ a > Ċ Ġ* Ġ@ since ĠJanuary Ġ 2 0 1 9 Ċ Ġ*/ Ċ internal Ġobject ĠMain Test Ġ: ĠSpe k ({ ĊĠĠĠ Ġdescribe (" close Server Ġshutdown Ġhook ") Ġ{ ĊĠĠĠĠĠĠĠ Ġgiven (" server Ġhandles Ġand Ġhealth Ġstate ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhandle : ĠServer Handle Ġ= Ġmock () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġclosed Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhenever ( handle . close ()). thenReturn ( Mono . empty < Void >(). do On Success Ġ{ Ġclosed Ġ= Ġtrue Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhealth State : ĠHealth State Ġ= Ġmock () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġon (" shutdown Grace fully ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshutdown Grace fully ( handle , Ġhealth State Ġ= Ġhealth State ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit (" should Ġclose Ġall Ġhandles ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( closed ). isTrue () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit (" should Ġchange Ġstate Ġto ĠSH UT TING _ DOWN ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( health State ). change State ( Health Description . SHUT TING _ DOWN ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit (" should Ġfirst Ġchange Ġstate Ġand Ġthen Ġclose Ġservers ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġin Order ( handle , Ġhealth State ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( health State ). change State ( any ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( handle ). close () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }) Ċ