/* Ċ Ġ* ĠCopyright Ġ 2 0 2 1 Ġoriginal Ġauthors Ċ Ġ* Ċ Ġ* Ġ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 Ċ Ġ* Ċ Ġ* Ġhttps :// 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 . Ċ Ġ*/ Ċ package Ġinfo . nov ate c . mic ronaut . camunda . bpm . feature . test Ċ Ċ import Ġinfo . nov ate c . mic ronaut . camunda . bpm . feature . test . Process Util . Companion . deploy Ċ import Ġio . mic ronaut . test . extensions . junit 5 . annotation . Mic ronaut Test Ċ import Ġjak arta . inject . Inject Ċ import Ġjak arta . inject . Named Ċ import Ġjak arta . inject . Singleton Ċ import Ġorg . camunda . bpm . engine . Repository Service Ċ import Ġorg . camunda . bpm . engine . Runtime Service Ċ import Ġorg . camunda . bpm . engine . Script Evaluation Exception Ċ import Ġorg . camunda . bpm . model . bpmn . B pmn Ċ import Ġorg . junit . jupiter . api . Assertions . assertEquals Ċ import Ġorg . junit . jupiter . api . Assertions . assert Throws Ċ import Ġorg . junit . jupiter . api . Test Ċ Ċ /** Ċ Ġ* ĠTests Ġfor Ġ[ info . nov ate c . mic ronaut . camunda . bpm . feature . Mn Beans Resolver Factory ] Ċ Ġ* Ċ Ġ* Ġ@ author ĠT it us ĠM ey er Ċ Ġ*/ Ċ @ Mic ronaut Test Ċ class ĠM n Beans Resolver Factory Test Ġ{ ĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġruntime Service : ĠRuntime Service ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġrepository Service : ĠRepository Service ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġmic ronaut Bean : ĠM ic ronaut Bean ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġmy Named Bean : ĠM ic ronaut Named Bean ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` service Ġtask Ġwith Ġgro ovy Ġscript Ġand Ġbean `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġprocess Id Ġ= Ġ" process With Script Task And Bean " ĊĠĠĠĠĠĠĠ Ġdeploy ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrepository Service , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠB pmn . create Process ( process Id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. executable () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. start Event () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. script Task (). script Format (" groovy "). script Text ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmic ronaut Bean . set Sum ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( int Ġi Ġin Ġ 1 .. 5 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġint ĠnewValue Ġ= Ġmic ronaut Bean . get Sum () Ġ+ Ġi ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmic ronaut Bean . set Sum ( newValue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. end Event () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġruntime Service . start Process Instance ByKey ( process Id ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 5 , Ġmic ronaut Bean . get Sum ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` service Ġtask Ġwith Ġgro ovy Ġscript Ġand Ġnamed Ġbean `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġprocess Id Ġ= Ġ" process With Script Task And Named Bean " ĊĠĠĠĠĠĠĠ Ġdeploy ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrepository Service , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠB pmn . create Process ( process Id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. executable () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. start Event () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. script Task (). script Format (" groovy "). script Text ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmy Named Bean . set Sum ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( int Ġi Ġin Ġ 1 .. 5 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġint ĠnewValue Ġ= Ġmy Named Bean . get Sum () Ġ+ Ġi ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmy Named Bean . set Sum ( newValue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. end Event () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġruntime Service . start Process Instance ByKey ( process Id ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 5 , Ġmy Named Bean . get Sum ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` service Ġtask Ġwith Ġgro ovy Ġscript Ġand Ġunknown Ġbean `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġprocess Id Ġ= Ġ" process With Script Task And Unknown Bean " ĊĠĠĠĠĠĠĠ Ġdeploy ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrepository Service , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠB pmn . create Process ( process Id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. executable () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. start Event () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. script Task (). script Format (" groovy "). script Text (" unknown Bean . do Something () ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. end Event () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertThrows ( Script Evaluation Exception :: class . java ) Ġ{ Ġruntime Service . start Process Instance ByKey ( process Id ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġopen Ġclass ĠM ic ronaut Bean Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġsum : ĠInt Ġ= Ġ 0 ĊĊĠĠĠĠĠĠĠ Ġfun Ġget Sum (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġsum ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġset Sum ( sum : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . sum Ġ= Ġsum ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġreset () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsum Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġ@ Named (" my Named Bean ") ĊĠĠĠ Ġclass ĠM ic ronaut Named Bean Ġ: ĠM ic ronaut Bean () Ċ }