package Ġcom . github . ker ub istan . ker ub . planner . steps . storage . block . copy . remote Ċ Ċ import Ġcom . github . ker ub istan . ker ub . host . Host Command Executor Ċ import Ġcom . github . ker ub istan . ker ub . model . dynamic . Virtual Storage L vm Allocation Ċ import Ġcom . github . ker ub istan . ker ub . planner . Step Executor Ċ import Ġcom . github . ker ub istan . ker ub . planner . steps . Abstract Operation al Step Ċ import Ġcom . github . ker ub istan . ker ub . planner . steps . storage . l vm . create . Create Lv Ċ import Ġcom . github . ker ub istan . ker ub . test Disk Ċ import Ġcom . github . ker ub istan . ker ub . test Host Ċ import Ġcom . github . ker ub istan . ker ub . test L vm Capability Ċ import Ġcom . n ha ar man . mockito _ kotlin . eq Ċ import Ġcom . n ha ar man . mockito _ kotlin . mock Ċ import Ġcom . n ha ar man . mockito _ kotlin . verify Ċ import Ġorg . junit . Test Ċ import Ġjava . util . UUID . randomUUID Ċ Ċ class ĠRemote Block Copy Executor Test Ġ{ ĊĊ ĉ @ Test Ċ ĉ fun Ġexecute () Ġ{ Ċĉ ĉ val Ġsource Device Ġ= Ġtest Disk . copy ( id Ġ= Ġrandom UUID ()) Ċĉ ĉ val Ġtarget Device Ġ= Ġtest Disk . copy ( id Ġ= Ġrandom UUID ()) Ċĉ ĉ val Ġhost Command Executor Ġ= Ġmock < Host Command Executor >() Ċĉ ĉ val Ġstep Executor Ġ= Ġmock < Step Executor < Abstract Operation al Step >>() Ċĉ ĉ val Ġstep Ġ= ĠRemote Block Copy ( Ċĉĉĉ ĉ source Device Ġ= Ġsource Device , Ċĉĉĉ ĉ target Device Ġ= Ġtarget Device , Ċĉĉĉ ĉ source Host Ġ= Ġtest Host . copy ( id Ġ= Ġrandom UUID ()), Ċĉĉĉ ĉ allocation Step Ġ= ĠCreate Lv ( Ċĉĉĉĉĉ ĉ host Ġ= Ġtest Host , Ċĉĉĉĉĉ ĉ capability Ġ= Ġtest L vm Capability , Ċĉĉĉĉĉ ĉ disk Ġ= Ġtest Disk Ċĉĉĉ ĉ ), Ċĉĉĉ ĉ source Allocation Ġ= ĠVirtual Storage L vm Allocation ( Ċĉĉĉĉĉ ĉ host Id Ġ= Ġtest Host . id , Ċĉĉĉĉĉ ĉ vg Name Ġ= Ġtest L vm Capability . volume GroupName , Ċĉĉĉĉĉ ĉ actual Size Ġ= Ġtest Disk . size , Ċĉĉĉĉĉ ĉ path Ġ= Ġ"", Ċĉĉĉĉĉ ĉ capability Id Ġ= Ġtest L vm Capability . id Ċĉĉĉ ĉ ) Ċĉ ĉ ) Ċĉ ĉ Remote Block Copy Executor ( host Command Executor , Ġstep Executor ). execute ( step ) ĊĊĉ ĉ verify ( step Executor ). execute ( eq ( step . allocation Step )) Ċ ĉ } Ċ }