/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 ĠAmazon . com , ĠInc . Ġor Ġits Ġaffiliates . ĠAll ĠRights ĠReserved . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "). Ċ Ġ* ĠYou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠA Ġcopy Ġof Ġthe ĠLicense Ġis Ġlocated Ġat Ċ Ġ* Ċ Ġ* Ġ Ġhttp :// aws . amazon . com / apache 2 . 0 Ċ Ġ* Ċ Ġ* Ġor Ġin Ġthe Ġ" license " Ġfile Ġaccompanying Ġthis Ġfile . ĠThis Ġfile Ġ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 . amazonaws . amplify . amplify _ api Ċ Ċ import Ġcom . amplify framework . api . Api Category Ċ import Ġcom . amplify framework . api . ApiException Ċ import Ġcom . amplify framework . api . aws . Gson Variables Serializer Ċ import Ġcom . amplify framework . api . graphql . Graph Q LO peration Ċ import Ġcom . amplify framework . api . graphql . GraphQL Request Ċ import Ġcom . amplify framework . api . graphql . GraphQL Response Ċ import Ġcom . amplify framework . api . graphql . Simple GraphQL Request Ċ import Ġcom . amplify framework . core . Amp lify Ċ import Ġcom . amplify framework . core . Consumer Ċ import Ġio . flutter . plugin . common . MethodCall Ċ import Ġio . flutter . plugin . common . Method Channel Ċ import Ġorg . junit . Assert Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ import Ġorg . mockito . Mockito .* Ċ import Ġorg . ro bo lectric . Ro bo lectric TestRunner Ċ import Ġjava . lang . reflect . Field Ċ import Ġjava . lang . reflect . Modifier Ċ Ċ @ RunWith ( Ro bo lectric TestRunner :: class ) Ċ class ĠGraphQL Api UnitTests Ġ{ ĊĠĠĠ Ġlateinit Ġvar Ġflutter Plugin : ĠAmp lify Api Plugin ĊĠĠĠ Ġprivate Ġvar Ġmock Api Ġ= Ġmock ( Api Category :: class . java ) ĊĠĠĠ Ġprivate Ġval Ġmock Result : ĠMethod Channel . Result Ġ= Ġmock ( Method Channel . Result :: class . java ) ĊĠĠĠ Ġprivate Ġval Ġmock Graph Q LO peration Ġ= Ġmock ( Graph Q LO peration :: class . java ) ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun Ġsetup () Ġ{ ĊĠĠĠĠĠĠĠ Ġflutter Plugin Ġ= ĠAmp lify Api Plugin () ĊĠĠĠĠĠĠĠ Ġset Final Static ( Amp lify :: class . java . getDeclared Field (" API "), Ġmock Api ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest _ query _ returns _ success () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtest Request Ġ= ĠHashMap < String , ĠAny >(); ĊĠĠĠĠĠĠĠ Ġtest Request [" document "] Ġ= Ġ""" query ĠMy Query Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist B logs Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitems Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠcreatedAt ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} """ ĊĠĠĠĠĠĠĠ Ġtest Request [" variables "] Ġ= ĠHashMap < String , ĠAny >(); ĊĠĠĠĠĠĠĠ Ġtest Request [" cancel Token "] Ġ= Ġ" some Code " ĊĊĠĠĠĠĠĠĠ Ġval Ġgraph QL Response : ĠGraphQL Response < String > Ġ= ĠGraphQL Response (" result ", Ġnull ) ĊĊĠĠĠĠĠĠĠ Ġdo Answer Ġ{ Ġinvocation Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSimple GraphQL Request < String >( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest Request [" document "] Ġas ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest Request [" variables "] Ġas ĠMap < String , ĠAny >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠString :: class . java , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGson Variables Serializer () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation . arguments [ 0 ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( invocation . arguments [ 1 ] Ġas ĠConsumer < GraphQL Response < String >> ). accept ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgraph QL Response ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmock Graph Q LO peration ĊĠĠĠĠĠĠĠ Ġ}. ` when `( mock Api ). query ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġany < GraphQL Request < String >> (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġany (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġany ()) ĊĊĠĠĠĠĠĠĠ Ġflutter Plugin . on MethodCall ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMethod Call (" query ", Ġtest Request ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmock Result ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġverify ( mock Result ). success ( map Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" data " Ġto Ġ" result ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" errors " Ġto ĠlistOf < String >() ĊĠĠĠĠĠĠĠ Ġ)) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest _ query _ mal formed _ request _ cast ing _ error () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtest Request Ġ= ĠHashMap < String , ĠAny >() ĊĊĠĠĠĠĠĠĠ Ġflutter Plugin . on MethodCall ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMethod Call (" query ", Ġtest Request ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmock Result ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġverify ( mock Result ). error ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmatches (" Amp lify Exception "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmatches ( Flutter Api ErrorMessage . AMP LI FY _ REQUEST _ MAL FOR MED . toString ()), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġany () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest _ query _ api _ error () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġapi Exception Ġ= ĠApiException (" Amp lify Exception ", ĠApiException . REPORT _ BUG _ TO _ AWS _ SU G GEST ION ) ĊĊĠĠĠĠĠĠĠ Ġval Ġtest Request Ġ= ĠHashMap < String , ĠAny >() ĊĠĠĠĠĠĠĠ Ġtest Request [" document "] Ġ= Ġ""" query ĠMy Query Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist B logs Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitems Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠcreatedAt ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} """ ĊĠĠĠĠĠĠĠ Ġtest Request [" variables "] Ġ= ĠHashMap < String , ĠAny >() ĊĠĠĠĠĠĠĠ Ġtest Request [" cancel Token "] Ġ= Ġ" some Code " ĊĊĠĠĠĠĠĠĠ Ġdo Answer Ġ{ Ġinvocation Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSimple GraphQL Request < String >( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest Request [" document "] Ġas ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest Request [" variables "] Ġas ĠMap < String , ĠAny >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠString :: class . java , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGson Variables Serializer () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation . arguments [ 0 ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( invocation . arguments [ 2 ] Ġas ĠConsumer < ApiException >). accept ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapi Exception ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmock Graph Q LO peration ĊĠĠĠĠĠĠĠ Ġ}. ` when `( mock Api ). query ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġany < GraphQL Request < String >> (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġany (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġany ()) ĊĊĊĠĠĠĠĠĠĠ Ġflutter Plugin . on MethodCall ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMethod Call (" query ", Ġtest Request ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmock Result ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġverify ( mock Result ). error ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Amp lify Exception ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFlutter Api ErrorMessage . AMP LI FY _ API _ QUERY _ FAILED . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" PLATFORM _ EXCEPTION S " Ġto ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" platform " Ġto Ġ" Android ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" localized ErrorMessage " Ġto Ġ" Amp lify Exception ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" recovery Suggestion " Ġto ĠApiException . REPORT _ BUG _ TO _ AWS _ SU G GEST ION , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" error String " Ġto Ġapi Exception . toString ())) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest _ mutate _ returns _ success () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtest Request Ġ= ĠHashMap < String , ĠAny >() ĊĊĠĠĠĠĠĠĠ Ġtest Request [" document "] Ġ= Ġ(" mutation ĠMy Mutation (\ $ name : ĠString !) Ġ{" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ Ġ" create Blog ( input : Ġ{ name : Ġ\$ name }) Ġ{" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ Ġ" id " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ Ġ" name " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ Ġ" createdAt " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ Ġ" }" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ Ġ" }") ĊĊĠĠĠĠĠĠĠ Ġtest Request [" variables "] Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" name " Ġto Ġ" Test ĠApp ĠBlog " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġtest Request [" cancel Token "] Ġ= Ġ" some Code " ĊĊĠĠĠĠĠĠĠ Ġval Ġgraph QL Response : ĠGraphQL Response < String > Ġ= ĠGraphQL Response (" mutate Ġresult ", Ġnull ) ĊĊĠĠĠĠĠĠĠ Ġdo Answer Ġ{ Ġinvocation Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSimple GraphQL Request < String >( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest Request [" document "] Ġas ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest Request [" variables "] Ġas ĠMap < String , ĠAny >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠString :: class . java , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGson Variables Serializer () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation . arguments [ 0 ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( invocation . arguments [ 1 ] Ġas ĠConsumer < GraphQL Response < String >> ). accept ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgraph QL Response ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmock Graph Q LO peration ĊĠĠĠĠĠĠĠ Ġ}. ` when `( mock Api ). mutate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġany < GraphQL Request < String >> (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġany < Consumer < GraphQL Response < String >>> (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġany ()) ĊĊĊĠĠĠĠĠĠĠ Ġflutter Plugin . on MethodCall ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMethod Call (" mutate ", Ġtest Request ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmock Result ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġverify ( mock Result ). success ( map Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" data " Ġto Ġ" mutate Ġresult ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" errors " Ġto ĠlistOf < String >() ĊĠĠĠĠĠĠĠ Ġ)) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest _ mutate _ mal formed _ request _ cast ing _ error () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtest Request Ġ= ĠHashMap < String , ĠAny >() ĊĊĠĠĠĠĠĠĠ Ġflutter Plugin . on MethodCall ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMethod Call (" mutate ", Ġtest Request ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmock Result ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġverify ( mock Result ). error ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmatches (" Amp lify Exception "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmatches ( Flutter Api ErrorMessage . AMP LI FY _ REQUEST _ MAL FOR MED . toString ()), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġany () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest _ mutate _ api _ error () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġapi Exception Ġ= ĠApiException (" Amp lify Exception ", ĠApiException . REPORT _ BUG _ TO _ AWS _ SU G GEST ION ) ĊĠĠĠĠĠĠĠ Ġval Ġtest Request Ġ= ĠHashMap < String , ĠAny >() ĊĊĠĠĠĠĠĠĠ Ġtest Request [" document "] Ġ= Ġ(" mutation ĠMy Mutation (\ $ name : ĠString !) Ġ{" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ Ġ" create Blog ( input : Ġ{ name : Ġ\$ name }) Ġ{" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ Ġ" id " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ Ġ" name " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ Ġ" createdAt " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ Ġ" }" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ Ġ" }") ĊĊĠĠĠĠĠĠĠ Ġtest Request [" variables "] Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" name " Ġto Ġ" Test ĠApp ĠBlog " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġtest Request [" cancel Token "] Ġ= Ġ" some Code " ĊĊĠĠĠĠĠĠĠ Ġdo Answer Ġ{ Ġinvocation Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSimple GraphQL Request < String >( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest Request [" document "] Ġas ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest Request [" variables "] Ġas ĠMap < String , ĠAny >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠString :: class . java , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGson Variables Serializer () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinvocation . arguments [ 0 ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( invocation . arguments [ 2 ] Ġas ĠConsumer < ApiException >). accept ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapi Exception ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmock Graph Q LO peration ĊĠĠĠĠĠĠĠ Ġ}. ` when `( mock Api ). mutate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġany < GraphQL Request < String >> (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġany (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġany ()) ĊĊĊĠĠĠĠĠĠĠ Ġflutter Plugin . on MethodCall ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMethod Call (" mutate ", Ġtest Request ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmock Result ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġverify ( mock Result ). error ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Amp lify Exception ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFlutter Api ErrorMessage . AMP LI FY _ API _ MUT ATE _ FAILED . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" PLATFORM _ EXCEPTION S " Ġto ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" platform " Ġto Ġ" Android ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" localized ErrorMessage " Ġto Ġ" Amp lify Exception ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" recovery Suggestion " Ġto ĠApiException . REPORT _ BUG _ TO _ AWS _ SU G GEST ION , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" error String " Ġto Ġapi Exception . toString ())) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Final Static ( field : ĠField , ĠnewValue : ĠAny ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġfield . is Accessible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġval Ġmodifiers Field : ĠField Ġ= ĠField :: class . java . getDeclared Field (" modifiers ") ĊĠĠĠĠĠĠĠ Ġmodifiers Field . is Accessible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġmodifiers Field . setInt ( field , Ġfield . modifiers Ġand ĠModifier . FINAL . inv ()) ĊĠĠĠĠĠĠĠ Ġfield . set ( null , ĠnewValue ) ĊĠĠĠ Ġ} Ċ }