package Ġbr . com . d ill mann . rest db . core . environment Ċ Ċ import Ġbr . com . d ill mann . rest db . test Utils . random Int Ċ import Ġbr . com . d ill mann . rest db . test Utils . random String Ċ import Ġio . mock k . every Ċ import Ġio . mock k . mock k Object Ċ import Ġio . mock k . un mock k All Ċ import Ġorg . junit . After Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ import Ġkotlin . test . assertEquals Ċ Ċ /** Ċ Ġ* Ġ@ author ĠLuc as ĠD ill mann Ċ Ġ* Ġ@ since Ġ 1 . 0 . 0 , Ġ 2 0 2 0 - 0 5 - 0 2 Ċ Ġ*/ Ċ class ĠEnvironment Variable Resolver UnitTests Ġ{ ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ Ġmock k Object ( Environment Resolver ) ĊĠĠĠĠĠĠĠ Ġevery Ġ{ ĠEnvironment Resolver . values () Ġ} Ġreturns Ġempty Map () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ After ĊĠĠĠ Ġfun ĠtearDown () Ġ{ ĊĠĠĠĠĠĠĠ Ġun mock k All () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` when Ġasked Ġfor Ġan Ġenvironment Ġvalue Ġwithout Ġa Ġcustom Ġconverter , Ġit Ġshould Ġprovide Ġone Ġusing Ġstring Ġconverter `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġscenario ĊĠĠĠĠĠĠĠ Ġval Ġexpected Key Ġ= Ġ" REST DB _ TEST _ RESULT " Ġ// Ġshould Ġbe Ġcode Ġvariable Ġname Ġbut Ġin Ġsnake Ġcase Ġand Ġwith ĠREST DB Ġprefix ĊĠĠĠĠĠĠĠ Ġval Ġexpected Value Ġ= Ġrandom String () ĊĠĠĠĠĠĠĠ Ġevery Ġ{ ĠEnvironment Resolver . values () Ġ} Ġreturns Ġmap Of ( expected Key Ġto Ġexpected Value ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġexecution ĊĠĠĠĠĠĠĠ Ġval Ġtest Result Ġby Ġenv () ĊĊĠĠĠĠĠĠĠ Ġ// Ġvalidation ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected Value , Ġtest Result ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` when Ġasked Ġfor Ġan Ġenvironment Ġvalue Ġwith Ġa Ġcustom Ġconverter , Ġit Ġshould Ġprovide Ġthe Ġconverted Ġvalue `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġscenario ĊĠĠĠĠĠĠĠ Ġval Ġexpected Key Ġ= Ġ" REST DB _ TEST _ RESULT " Ġ// Ġshould Ġbe Ġcode Ġvariable Ġname Ġbut Ġin Ġsnake Ġcase Ġand Ġwith ĠREST DB Ġprefix ĊĠĠĠĠĠĠĠ Ġval Ġexpected Value Ġ= Ġrandom Int () ĊĠĠĠĠĠĠĠ Ġevery Ġ{ ĠEnvironment Resolver . values () Ġ} Ġreturns Ġmap Of ( expected Key Ġto Ġexpected Value . toString ()) ĊĊĠĠĠĠĠĠĠ Ġ// Ġexecution ĊĠĠĠĠĠĠĠ Ġval Ġtest Result Ġby Ġenv Ġ{ Ġit . toInt () Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġvalidation ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected Value , Ġtest Result ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` when Ġasked Ġfor Ġan Ġenvironment Ġvalue Ġwith Ġa Ġdefault Ġvalue Ġand Ġno Ġvalue Ġset , Ġit Ġshould Ġreturn Ġdefault Ġvalue `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġscenario ĊĠĠĠĠĠĠĠ Ġval ĠdefaultValue Ġ= Ġrandom String () ĊĊĠĠĠĠĠĠĠ Ġ// Ġexecution ĊĠĠĠĠĠĠĠ Ġval Ġnon Ex istent EnvironmentVariable Ġby Ġenv ( defaultValue ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġvalidation ĊĠĠĠĠĠĠĠ ĠassertEquals ( non Ex istent EnvironmentVariable , ĠdefaultValue ) ĊĠĠĠ Ġ} Ċ }