package Ġcom . template Ċ Ċ import Ġcom . v enc imento . flow . Ace itar V enc imento Flow Ċ import Ġcom . v enc imento . flow . Emit ir V enc imento Flow Ċ import Ġcom . v enc imento . state . Status V enc imento Ċ import Ġcom . v enc imento . state . V enc imento State Ċ import Ġnet . cord a . core . contracts . Transaction Verification Exception Ċ import Ġnet . cord a . core . node . services . query By Ċ import Ġnet . cord a . core . utilities . get OrThrow Ċ import Ġnet . cord a . node . internal . Started Node Ċ import Ġnet . cord a . testing . node . Mock Network Ċ import Ġnet . cord a . testing . node . Mock Network . Mock Node Ċ import Ġnet . cord a . testing . set C ord app Packages Ċ import Ġnet . cord a . testing . unset C ord app Packages Ċ import Ġorg . junit . After Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ import Ġjava . time . Instant Ċ import Ġkotlin . test . assertEquals Ċ import Ġkotlin . test . assert Fails With Ċ Ċ class ĠFlow Tests Ġ{ ĊĠĠĠ Ġlateinit Ġvar Ġnetwork : ĠMock Network ĊĠĠĠ Ġlateinit Ġvar Ġa : ĠStarted Node < Mock Node > ĊĠĠĠ Ġlateinit Ġvar Ġb : ĠStarted Node < Mock Node > ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun Ġsetup () Ġ{ ĊĠĠĠĠĠĠĠ Ġset C ord app Packages (" com . v enc imento ") ĊĠĠĠĠĠĠĠ Ġnetwork Ġ= ĠMock Network () ĊĠĠĠĠĠĠĠ Ġval Ġnodes Ġ= Ġnetwork . create Some Nodes ( 2 ) ĊĠĠĠĠĠĠĠ Ġa Ġ= Ġnodes . party Nodes [ 0 ] ĊĠĠĠĠĠĠĠ Ġb Ġ= Ġnodes . party Nodes [ 1 ] ĊĠĠĠĠĠĠĠ Ġnodes . party Nodes . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . register Initi ated Flow ( Emit ir V enc imento Flow . Accept or :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . register Initi ated Flow ( Ace itar V enc imento Flow . Accept or :: class . java ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġnetwork . run Network () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ After ĊĠĠĠ Ġfun ĠtearDown () Ġ{ ĊĠĠĠĠĠĠĠ Ġnetwork . stop Nodes () ĊĠĠĠĠĠĠĠ Ġunset C ord app Packages () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` de ve Ġemit ir Ġum Ġnovo Ġv enc imento `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpara Ġ= Ġb . info . legal Id entities . first () ĊĠĠĠĠĠĠĠ Ġval Ġvalor Ġ= Ġ 1 0 0 ĊĠĠĠĠĠĠĠ Ġval Ġdata V enc imento Ġ= ĠInstant . now () ĊĊĠĠĠĠĠĠĠ Ġval Ġflow Ġ= ĠEmit ir V enc imento Flow . Init iator ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpara , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalor , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata V enc imento ) ĊĊĠĠĠĠĠĠĠ Ġval Ġfuture Ġ= Ġa . services . start Flow ( flow ) ĊĠĠĠĠĠĠĠ Ġnetwork . run Network () ĊĠĠĠĠĠĠĠ Ġfuture . result Future . get OrThrow () ĊĊĠĠĠĠĠĠĠ ĠlistOf ( a , Ġb ). forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . database . transaction Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstate Ġ= Ġit . services . vault Service . query By < V enc imento State >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. states . single (). state . data ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġde Ġ= Ġa . info . legal Id entities . first () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( de , Ġstate . de ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( para , Ġstate . para ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( valor , Ġstate . valor ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( data V enc imento , Ġstate . data V enc imento ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( Status V enc imento . Emit ido , Ġstate . status V enc imento ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` n Ã£o Ġdeve Ġser Ġposs ivel Ġemit ir Ġum Ġv enc imento Ġpara Ġsi Ġmesmo `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġflow Ġ= ĠEmit ir V enc imento Flow . Init iator ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġa . info . legal Id entities . first (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 0 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠInstant . now ()) ĊĠĠĠĠĠĠĠ Ġval Ġfuture Ġ= Ġa . services . start Flow ( flow ) ĊĠĠĠĠĠĠĠ Ġnetwork . run Network () ĊĠĠĠĠĠĠĠ Ġassert Fails With < Transaction Verification Exception . Contract Rejection > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfuture . result Future . get OrThrow () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` de ve Ġace itar Ġum Ġv enc imento `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpara Ġ= Ġb . info . legal Id entities . first () ĊĠĠĠĠĠĠĠ Ġval Ġvalor Ġ= Ġ 1 0 0 ĊĠĠĠĠĠĠĠ Ġval Ġdata V enc imento Ġ= ĠInstant . now () ĊĊĠĠĠĠĠĠĠ Ġval Ġflow Ġ= ĠEmit ir V enc imento Flow . Init iator ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpara , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalor , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata V enc imento ) ĊĊĠĠĠĠĠĠĠ Ġval Ġfuture Ġ= Ġa . services . start Flow ( flow ) ĊĠĠĠĠĠĠĠ Ġnetwork . run Network () ĊĊĠĠĠĠĠĠĠ Ġval Ġtx Ġ= Ġfuture . result Future . get OrThrow () ĊĊĠĠĠĠĠĠĠ Ġval Ġace itar Flow Ġ= ĠA ce itar V enc imento Flow . Init iator ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtx . tx . outputs OfType < V enc imento State >(). single (). linear Id . id Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġace itar Future Ġ= Ġb . services . start Flow ( ace itar Flow ) ĊĠĠĠĠĠĠĠ Ġnetwork . run Network () ĊĊĠĠĠĠĠĠĠ Ġace itar Future . result Future . get OrThrow () ĊĊĠĠĠĠĠĠĠ ĠlistOf ( a , Ġb ). forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . database . transaction Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstate Ġ= Ġit . services . vault Service . query By < V enc imento State >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. states . single (). state . data ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġde Ġ= Ġa . info . legal Id entities . first () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( de , Ġstate . de ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( para , Ġstate . para ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( valor , Ġstate . valor ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( data V enc imento , Ġstate . data V enc imento ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( Status V enc imento . AP ag ar , Ġstate . status V enc imento ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ }