// ĠCopyright Ġ 2 0 1 9 ĠGoogle ĠLLC Ċ // Ċ // ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ // Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ // ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ // Ċ // ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ // Ċ // ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ // Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ // ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ // ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ // Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ċ package Ġcom . google . firebase . functions . k tx Ċ Ċ import Ġandroidx . test . Instrumentation Registry Ċ import Ġandroidx . test . runner . Android JUnit 4 Ċ import Ġcom . google . android . gms . tasks . Tasks Ċ import Ġcom . google . common . truth . Truth . assertThat Ċ import Ġcom . google . firebase . Firebase App Ċ import Ġcom . google . firebase . k tx . Firebase Ċ import Ġcom . google . firebase . k tx . app Ċ import Ġcom . google . firebase . k tx . initialize Ċ import Ġorg . junit . After Class Ċ import Ġorg . junit . BeforeClass Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ Ċ const Ġval ĠAPP _ ID Ġ= Ġ" APP _ ID " Ċ const Ġval ĠAPI _ KEY Ġ= Ġ" API _ KEY " Ċ Ċ @ RunWith ( Android JUnit 4 :: class ) Ċ class ĠCall Tests Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġlateinit Ġvar Ġapp : ĠFirebase App ĊĊĠĠĠĠĠĠĠ Ġ@ BeforeClass Ġ@ Jvm Static Ġfun Ġsetup () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp Ġ= ĠFirebase . initialize ( Instrumentation Registry . getContext ()) !! ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ After Class Ġ@ Jvm Static Ġfun Ġcleanup () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp . delete () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun ĠtestData Call () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfunctions Ġ= ĠFirebase . functions ( app ) ĊĠĠĠĠĠĠĠ Ġval Ġinput Ġ= Ġhash Map Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" bool " Ġto Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" int " Ġto Ġ 2 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" long " Ġto Ġ 3 L , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" string " Ġto Ġ" four ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" array " Ġto ĠlistOf ( 5 , Ġ 6 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" null " Ġto Ġnull ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġvar Ġfunction Ġ= Ġfunctions . get Https Callable (" data Test ") ĊĠĠĠĠĠĠĠ Ġval Ġactual Ġ= ĠTasks . await ( function . call ( input )). getData () ĊĊĠĠĠĠĠĠĠ ĠassertThat ( actual ). isInstanceOf ( Map :: class . java ) ĊĠĠĠĠĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠĠĠĠĠ Ġval Ġmap Ġ= Ġactual Ġas ĠMap < String , Ġ*> ĊĠĠĠĠĠĠĠ ĠassertThat ( map [" message "]). isEqualTo (" stub Ġresponse ") ĊĠĠĠĠĠĠĠ ĠassertThat ( map [" code "]). isEqualTo ( 4 2 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( map [" long "]). isEqualTo ( 4 2 0 L ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Null Data Call () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfunctions Ġ= ĠFirebase . functions ( app ) ĊĠĠĠĠĠĠĠ Ġvar Ġfunction Ġ= Ġfunctions . get Https Callable (" null Test ") ĊĠĠĠĠĠĠĠ Ġval Ġactual Ġ= ĠTasks . await ( function . call ( null )). getData () ĊĊĠĠĠĠĠĠĠ ĠassertThat ( actual ). isNull () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Empty Data Call () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfunctions Ġ= ĠFirebase . functions ( app ) ĊĠĠĠĠĠĠĠ Ġvar Ġfunction Ġ= Ġfunctions . get Https Callable (" null Test ") ĊĠĠĠĠĠĠĠ Ġval Ġactual Ġ= ĠTasks . await ( function . call ()). getData () ĊĊĠĠĠĠĠĠĠ ĠassertThat ( actual ). isNull () ĊĠĠĠ Ġ} Ċ } Ċ