package Ġcom . wh ist le b lower . flows Ċ Ċ import Ġcom . wh ist le b lower . B low Wh ist le State Ċ import Ġnet . cord a . core . node . services . query By Ċ import Ġorg . junit . Test Ċ import Ġkotlin . test . assertEquals Ċ import Ġkotlin . test . assertNotNull Ċ import Ġkotlin . test . assertNull Ċ Ċ class ĠB low Wh ist le Flow Tests Ġ: ĠFlow Tests Base () Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` flow Ġcompletes Ġsuccessfully `() Ġ{ ĊĠĠĠĠĠĠĠ Ġblow Wh ist le () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` both Ġparties Ġrecorded Ġtransaction Ġand Ġstate `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġst x Ġ= Ġblow Wh ist le () ĊĊĠĠĠĠĠĠĠ ĠlistOf ( wh ist le B lower , Ġfirst Invest ig ator ). forEach Ġ{ Ġnode Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrecorded Tx Ġ= Ġnode . services . validated Transactions . getTransaction ( st x . id ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertNotNull ( re corded Tx ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrecorded States Ġ= Ġnode . transaction Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnode . services . vault Service . query By < B low Wh ist le State >(). states ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġrecorded States . size ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( st x . id , Ġrecorded States . single (). ref . tx hash ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` in Ġcreated Ġstate , Ġneither Ġparty Ġis Ġusing Ġa Ġwell - known Ġidentity `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġst x Ġ= Ġblow Wh ist le () ĊĊĠĠĠĠĠĠĠ Ġval Ġstate Ġ= Ġwh ist le B lower . transaction Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġst x . to Ledger Transaction ( wh ist le B lower . services ). outputs OfType < B low Wh ist le State >(). single () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġassert ( state . wh ist le B lower . own ing Key Ġ! in Ġwh ist le B lower . legal Identity Keys ) ĊĠĠĠĠĠĠĠ Ġassert ( state . invest ig ator . own ing Key Ġ! in Ġfirst Invest ig ator . legal Identity Keys ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` part ies Ġhave Ġex changed Ġcerts Ġlinking Ġconf idential ĠIDs Ġto Ġwell - known ĠIDs `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġst x Ġ= Ġblow Wh ist le () ĊĊĠĠĠĠĠĠĠ Ġval Ġstate Ġ= Ġwh ist le B lower . transaction Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġst x . to Ledger Transaction ( wh ist le B lower . services ). outputs OfType < B low Wh ist le State >(). single () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġwh ist le B lower . transaction Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertNotNull ( wh ist le B lower . party From Anonymous ( state . invest ig ator )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfirst Invest ig ator . transaction Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertNotNull ( first Invest ig ator . party From Anonymous ( state . wh ist le B lower )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` third - party Ġcannot Ġlink Ġthe Ġconf idential ĠIDs Ġto Ġwell - known ĠIDs `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġst x Ġ= Ġblow Wh ist le () ĊĊĠĠĠĠĠĠĠ Ġval Ġstate Ġ= Ġwh ist le B lower . transaction Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġst x . to Ledger Transaction ( wh ist le B lower . services ). outputs OfType < B low Wh ist le State >(). single () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbad Company . transaction Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( state . invest ig ator , Ġstate . wh ist le B lower ). forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertNull ( bad Company . party From Anonymous ( it )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }