package Ġdan b roid . ipfs . api . test Ċ Ċ import Ġdan b roid . ipfs . api . Types Ċ import Ġdan b roid . ipfs . api . blocking Ċ import Ġdan b roid . ipfs . api . flow Ċ import Ġdan b roid . ipfs . api . parse Json Ċ import Ġkotlinx . coroutines . flow . collect Ċ import Ġkotlinx . coroutines . flow . toList Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ Ċ class ĠAdd Test Ġ{ ĊĊĠ Ġ@ Before ĊĠ Ġfun Ġsetup () Ġ{ ĊĠĠĠ ĠTest Data . Test Directory . create Test Dir () ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġtest 1 () Ġ{ ĊĠĠĠ Ġlog . debug (" test 1 () Ġadding Ġhello Ġworld Ġmessage .. ") ĊĠĠĠ Ġapi . blocking Ġ{ ĊĠĠĠĠĠ Ġbasic . add ( ĊĠĠĠĠĠĠĠ Ġdata Ġ= ĠTest Data . HelloWorld . data , ĊĠĠĠĠĠĠĠ ĠfileName Ġ= ĠTest Data . HelloWorld . name ĊĠĠĠĠĠ Ġ). invoke Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdata : ĠString Ġ= Ġit . reader . read Text () ĊĠĠĠĠĠĠĠ Ġlog . debug (" data : Ġ< ${ data }> ") ĊĠĠĠĠĠĠĠ Ġval Ġfile Ġ= Ġdata . parse Json < Types . File >() ĊĠĠĠĠĠĠĠ Ġlog . debug (" file : Ġ$ file ") ĊĠĠĠĠĠĠĠ Ġrequire ( file . Hash Ġ== ĠTest Data . HelloWorld . cid ) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġ" file . Hash Ġ!= ĠTest Data . HelloWorld . cid " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġrequire ( file . Name Ġ== ĠTest Data . HelloWorld . name ) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġ" file . Name Ġ!= ĠTest Data . HelloWorld . name " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġtest 2 () Ġ{ ĊĠĠĠ Ġlog . debug (" test 2 () Ġadding Ġhello Ġworld Ġmessage Ġin Ġdirectory .. ") ĊĠĠĠ Ġapi . blocking Ġ{ ĊĠĠĠĠĠ Ġbasic . add ( ĊĠĠĠĠĠĠĠ Ġdata Ġ= ĠTest Data . HelloWorld . data , ĊĠĠĠĠĠĠĠ ĠfileName Ġ= ĠTest Data . HelloWorld . name , ĊĠĠĠĠĠĠĠ Ġwrap With Directory Ġ= Ġtrue ĊĠĠĠĠĠ Ġ). flow (). toList (). also Ġ{ ĊĠĠĠĠĠĠĠ Ġrequire ( it . size Ġ== Ġ 2 ) Ġ{ Ġ" invalid Ġsize : Ġ${ it . size }" Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġfile Ġ= Ġit [ 0 ] ĊĠĠĠĠĠĠĠ Ġrequire ( file . Hash Ġ== ĠTest Data . HelloWorld . cid ) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġ" file . Hash Ġ!= ĠTest Data . HelloWorld . cid " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġrequire ( file . Name Ġ== ĠTest Data . HelloWorld . name ) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġ" file . Name Ġ!= ĠTest Data . HelloWorld . name " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġrequire ( it [ 1 ]. Hash Ġ== ĠTest Data . HelloWorld . cid _ with _ directory ) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġ" Invalid Ġcid Ġ${ it [ 1 ]. Hash } Ġexpecting Ġ${ TestData . HelloWorld . cid _ with _ directory }" ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġtest 3 () Ġ{ ĊĠĠĠ Ġlog . debug (" test 3 () Ġdirectory Ġtest ") ĊĠĠĠ Ġapi . blocking Ġ{ ĊĠĠĠĠĠ Ġbasic . add (). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġadd Directory (" a "). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġadd ( TestData . Test Directory . msg 1 , Ġ" message . txt ") ĊĠĠĠĠĠĠĠĠĠ Ġadd Directory (" b "). add ( TestData . Test Directory . msg 2 , Ġ" message . txt ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ}. flow (). collect Ġ{ ĊĠĠĠĠĠĠĠ Ġlog . info (" file : Ġ$ it ") ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĊĠ Ġ@ Test ĊĠ Ġfun Ġtest 5 () Ġ{ ĊĠĠĠ Ġlog . info (" test 5 () Ġadding Ġtest Ġdir : Ġ${ TestData . Test Directory . test Path }") ĊĠĠĠ Ġapi . blocking Ġ{ ĊĠĠĠĠĠ Ġbasic . add ( file Ġ= ĠTest Data . Test Directory . test Path . to File (), Ġrecurse Directory Ġ= Ġtrue ). flow () ĊĠĠĠĠĠĠĠ Ġ. collect Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġlog . info (" file : Ġ$ it ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ Ċ } ĊĊĊ