package Ġorg . my ddd . vertx . media . q cloud Ċ Ċ import Ġio . vertx . junit 5 . Vert x TestContext Ċ import Ġio . vertx . kotlin . coroutines . await Ċ import Ġorg . junit . jupiter . api . Assertions Ċ import Ġorg . junit . jupiter . api . Disabled Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . my ddd . vertx . ioc . Instance Factory Ċ import Ġorg . my ddd . vertx . junit . execute Ċ import Ġorg . my ddd . vertx . media . domain . Media File Ċ import Ġorg . my ddd . vertx . media . domain . Media Storage Ċ import Ġorg . my ddd . vertx . media . storage . Q Cloud Media Extra Ċ Ċ @ Disabled Ċ class ĠQ Cloud Media Storage Test : Abstract Test () Ġ{ ĊĊĊĠĠĠ Ġprivate Ġval Ġmedia Storage Ġby Ġlazy Ġ{ ĠInstance Factory . getInstance ( Media Storage :: class . java ) Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Key For FilePath ( test Context : ĠVert x TestContext ){ ĊĠĠĠĠĠĠĠ Ġtest Context . execute { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġq Cloud Media Storage Ġ= Ġmedia Storage Ġas ĠQ Cloud Media Storage ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġq Cloud Media Storage . key For FilePath ( random ID String . randomUUID ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} catch Ġ( t : Throwable ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest Context . verify Ġ{ ĠAssertions . assertNotNull ( t ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlocal File Ġ= ĠQ Cloud Test :: class . java . class Loader . getResource (" my _ avatar . png ") !!. path ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfile Key Ġ= Ġq Cloud Media Storage . key For FilePath ( local File ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest Context . verify Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAssertions . assertNotNull ( file Key ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} catch Ġ( t : Throwable ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest Context . fail Now ( t ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Context . complete Now () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Upload File ( test Context : ĠVert x TestContext ){ ĊĠĠĠĠĠĠĠ Ġtest Context . execute Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġabsolute Path Ġ= ĠQ Cloud Media Storage Test :: class . java . class Loader . getResource (" my _ avatar . png ") !!. path ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmedia File Ġ= ĠMedia File . of ( absolute Path ). await () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġextra Ġ= Ġmedia Storage . upload To Storage ( media File ). await () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest Context . verify Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAssertions . assertNotNull ( extra ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} catch Ġ( t : Throwable ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest Context . fail Now ( t ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Context . complete Now () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Download Media ( test Context : ĠVert x TestContext ){ ĊĠĠĠĠĠĠĠ Ġtest Context . execute Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmedia Storage . download From Storage ( extra Ġ= ĠQ Cloud Media Extra ( key Ġ= Ġrandom ID String . random String ())). await () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest Context . fail Now (" ä¸į åı¯èĥ½ åĪ° è¿Ļ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} catch Ġ( t : Throwable ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest Context . verify Ġ{ ĠAssertions . assertNotNull ( t ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġabsolute Path Ġ= ĠQ Cloud Media Storage Test :: class . java . class Loader . getResource (" my _ avatar . png ") !!. path ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmedia File Ġ= ĠMedia File . of ( absolute Path ). await () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġextra Ġ= Ġmedia Storage . upload To Storage ( media File ). await () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest Context . verify Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAssertions . assertNotNull ( extra ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdownload Path Ġ= Ġmedia Storage . download From Storage ( extra ). await () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest Context . verify Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAssertions . assertNotNull ( download Path ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} catch Ġ( t : Throwable ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest Context . fail Now ( t ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Context . complete Now () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }