package Ġcom . wallet connect . wallet connect v 2 . relay Ċ Ċ import Ġkotlinx . coroutines . Experimental Cor outines Api Ċ Ċ @ Experimental Cor outines Api Ċ internal Ġclass ĠW aku Relay Repository Test Ġ{ Ċ Ċ // ĠĠĠ Ġ@ get : Rule Ċ // ĠĠĠ Ġval Ġcoroutine Test Rule Ġ= ĠCor outine Test Rule () Ċ // Ċ // ĠĠĠ Ġprivate Ġval Ġrelay Factory Ġ= ĠW aku Network Repository . W aku Network Factory ( true , Ġ" 1 2 7 . 0 . 0 . 1 ", Ġ"", ĠApplication ()) Ċ // ĠĠĠ Ġprivate Ġval Ġsut Ġ= Ġspy k ( W aku Network Repository . init ( relay Factory )) Ċ // Ċ // ĠĠĠ Ġ@ Test Ċ // ĠĠĠ Ġfun Ġ` Publish Ġa Ġpair ing Ġrequest , Ġexpect Ġa Ġsuccessful Ġacknowledge ment `() Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġ// ĠArrange Ċ // ĠĠĠĠĠĠĠ Ġval Ġtopic Ġ= ĠTopic VO ( getRandom 6 4 Byte HexString ()) Ċ // ĠĠĠĠĠĠĠ Ġval Ġset tled Topic Ġ= ĠTopic VO ( getRandom 6 4 Byte HexString ()) Ċ // ĠĠĠĠĠĠĠ Ġval Ġpre Set tlement Pair ing Ġ= ĠPre Set tlement Pair ing VO . Approve ( Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġ 1 L , Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġparams Ġ= ĠPair ing Params VO . Success ( Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset tled Topic Ġ= Ġset tled Topic , Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrelay Ġ= ĠJSONObject (), Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresponder Ġ= ĠPair ing Participant VO ( getRandom 6 4 Byte HexString ()), Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpiry Ġ= ĠExp iry VO ( 1 ), Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstate Ġ= Ġcom . wallet connect . wallet connect v 2 . core . model . vo . client sync . pair ing . before . success . Pair ing State VO () Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ċ // ĠĠĠĠĠĠĠ Ġ) Ċ // ĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġsut . observe Publish Ack nowledge ment Ġ} Ġreturns Ġflow Of ( Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠRelay DTO . Publish . Ack nowledge ment ( Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġpre Set tlement Pair ing . id , Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġtrue Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ċ // ĠĠĠĠĠĠĠ Ġ) Ċ // Ċ // ĠĠĠĠĠĠĠ Ġ// ĠAct Ċ // ĠĠĠĠĠĠĠ Ġsut . publish ( topic , Ġpre Set tlement Pair ing . toString ()) Ċ // Ċ // ĠĠĠĠĠĠĠ Ġ// ĠAssert Ċ // ĠĠĠĠĠĠĠ Ġcoroutine Test Rule . run Test Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġsut . observe Publish Ack nowledge ment . collect Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( pre Set tlement Pair ing . id , Ġit . id ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( true , Ġit . result ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠ Ġ} Ċ }