/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 9 ĠThe ĠAndroid ĠOpen ĠSource ĠProject Ċ Ġ* Ċ Ġ* Ġ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 . android . build . gradle . internal . tasks Ċ Ċ import Ġcom . android . bundle . App Integr ity Config OuterClass Ċ import Ġcom . android . bundle . App Integr ity Config OuterClass . App Integr ity Config Ċ import Ġcom . android . bundle . App Integr ity Config OuterClass . Debugger Check Ċ import Ġcom . android . bundle . App Integr ity Config OuterClass . Em ulator Check Ċ import Ġcom . android . bundle . App Integr ity Config OuterClass . Installer Check Ċ Ċ import Ġcom . android . bundle . App Integr ity Config OuterClass . License Check Ċ import Ġcom . android . bundle . App Integr ity Config OuterClass . Policy Ċ import Ġorg . junit . Assert . assertEquals Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ import Ġorg . xml . sax . Input Source Ċ import Ġjava . io . String Reader Ċ import Ġjavax . xml . parsers . Document Builder Ċ import Ġjavax . xml . parsers . Document BuilderFactory Ċ Ċ class ĠIntegr ity ConfigParser Test Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġdefault Config XML Ġ= Ġ"< Integr ity Config /> " ĊĠĠĠ Ġprivate Ġval Ġdefault Config Proto Ġ= ĠApp Integr ity Config . newBuilder () ĊĠĠĠĠĠĠĠ Ġ. setEnabled ( true ) ĊĠĠĠĠĠĠĠ Ġ. set License Check ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLicense Check . newBuilder (). setEnabled ( false ). set Policy ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPolicy . newBuilder (). setAction ( Policy . Action . WARN ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ. set Installer Check ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠInstall er Check . newBuilder (). setEnabled ( true ). set Policy ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPolicy . newBuilder (). setAction ( Policy . Action . WARN ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ. set Debugger Check ( Debugger Check . newBuilder (). setEnabled ( true )) ĊĠĠĠĠĠĠĠ Ġ. set Em ulator Check ( Em ulator Check . newBuilder (). setEnabled ( true )) ĊĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġprivate Ġval Ġdisabled Config XML Ġ= Ġ""" < Integr ity Config Ġenabled =" false "/> """ ĊĠĠĠ Ġprivate Ġval Ġdisabled Config Proto Ġ= ĊĠĠĠĠĠĠĠ ĠApp Integr ity Config . newBuilder ( default Config Proto ). setEnabled ( false ). build () ĊĊĠĠĠ Ġprivate Ġval Ġcustom Config XML Ġ= Ġ""" ĊĠĠĠĠĠĠĠ Ġ< Integr ity Config > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< License Check > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< Policy Ġaction =" DISABLE "/> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ</ License Check > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< Installer Check > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< Policy Ġaction =" WARN _ THEN _ DISABLE "/> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< Additional Install Source > com . amazon . v ending </ Additional Install Source > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ</ Installer Check > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< Debugger Check Ġenabled =" false "/> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ< Em ulator Check Ġenabled =" false "/> ĊĠĠĠĠĠĠĠ Ġ</ Integr ity Config > ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠ Ġprivate Ġval Ġcustom Config Proto Ġ= ĠApp Integr ity Config . newBuilder ( default Config Proto ) ĊĠĠĠĠĠĠĠ Ġ. setEnabled ( true ) ĊĠĠĠĠĠĠĠ Ġ. set License Check ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLicense Check . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setEnabled ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Policy ( Policy . newBuilder (). setAction ( Policy . Action . DISABLE )) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ. set Installer Check ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠApp Integr ity Config OuterClass . Installer Check . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setEnabled ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Policy ( Policy . newBuilder (). setAction ( Policy . Action . WARN _ THEN _ DISABLE )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Additional Install Source (" com . amazon . v ending ") ĊĠĠĠĠĠĠĠ Ġ). set Debugger Check ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDebugger Check . newBuilder (). setEnabled ( false ) ĊĠĠĠĠĠĠĠ Ġ). set Em ulator Check ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠApp Integr ity Config OuterClass . Em ulator Check . newBuilder (). setEnabled ( false ) ĊĠĠĠĠĠĠĠ Ġ). build () ĊĊĠĠĠ Ġlateinit Ġvar Ġdocument Builder : ĠDocument Builder ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ Ġdocument Builder Ġ= ĠDocument BuilderFactory . newInstance (). new Document Builder () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Parse Default Config () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdefault Config Doc Ġ= Ġdocument Builder . parse ( Input Source ( String Reader ( default Config XML ))) ĊĊĠĠĠĠĠĠĠ Ġval Ġparser Ġ= ĠIntegr ity ConfigParser ( default Config Doc ) ĊĠĠĠĠĠĠĠ Ġval Ġparsed Default Config Proto Ġ= Ġparser . parse Config () ĊĊĠĠĠĠĠĠĠ Ġparsed Default Config Proto . license Check . isInitialized ĊĠĠĠĠĠĠĠ ĠassertEquals ( default Config Proto , Ġparsed Default Config Proto ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Parse Disabled Config () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdisabled Config Doc Ġ= Ġdocument Builder . parse ( Input Source ( String Reader ( disabled Config XML ))) ĊĊĠĠĠĠĠĠĠ Ġval Ġparser Ġ= ĠIntegr ity ConfigParser ( disabled Config Doc ) ĊĠĠĠĠĠĠĠ Ġval Ġdisabled Enabled Config Proto Ġ= Ġparser . parse Config () ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( disabled Config Proto , Ġdisabled Enabled Config Proto ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Parse Custom Config () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcustom Config Doc Ġ= Ġdocument Builder . parse ( Input Source ( String Reader ( custom Config XML ))) ĊĊĠĠĠĠĠĠĠ Ġval Ġparser Ġ= ĠIntegr ity ConfigParser ( custom Config Doc ) ĊĠĠĠĠĠĠĠ Ġval Ġparsed Custom Config Proto Ġ= Ġparser . parse Config () ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( custom Config Proto , Ġparsed Custom Config Proto ) ĊĊĠĠĠ Ġ} Ċ } Ċ