/* Ċ Ġ* ĠĠĠ ĠCopyright Ġ 2 0 2 0 ĠC rite o Ċ Ġ* Ċ Ġ* ĠĠĠ Ġ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 . c rite o . publisher . model Ċ Ċ import Ġcom . c rite o . publisher . mock . Mock ed Dependencies Rule Ċ import Ġcom . c rite o . publisher . privacy . gd pr . Gd pr Data Ċ import Ġcom . c rite o . publisher . util . Json Serializer Ċ import Ġcom . c rite o . publisher . util . write In toString Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . junit . Rule Ċ import Ġorg . junit . Test Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠC db Request Test Ġ{ ĊĊĠ Ġ@ Rule ĊĠ Ġ@ Jvm Field ĊĠ Ġval Ġmocked Dependencies Rule Ġ= ĠMock ed Dependencies Rule () ĊĊĠ Ġ@ Inject ĊĠ Ġprivate Ġlateinit Ġvar Ġserializer : ĠJsonSerializer ĊĊĠ Ġ@ Test ĊĠ Ġfun ĠtoJson _ Given All Information _ Map The m ToJson () Ġ{ ĊĠĠĠ Ġval Ġrequest Ġ= ĠC db Request . create ( ĊĠĠĠĠĠĠĠ Ġ" my RequestId ", ĊĠĠĠĠĠĠĠ ĠPublisher . create ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" my Bundle Id ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" my Cp Id ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" content " Ġto Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" url " Ġto Ġ" https :// www . c rite o . com " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" data " Ġto Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" a " Ġto ĠlistOf ( 1 , Ġ 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" b " Ġto Ġ 4 2 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠ ĠUser . create ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" data " Ġto Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" a " Ġto ĠlistOf ( 1 , Ġ 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" b " Ġto Ġ 4 2 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" device " Ġto Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" make " Ġto Ġ" Manufacturer ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" model " Ġto Ġ" Dummy Model " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠ Ġ" 1 . 2 . 3 ", ĊĠĠĠĠĠĠĠĠ 4 5 6 , ĊĠĠĠĠĠĠĠ ĠG d pr Data . create (" consent ", Ġtrue , Ġ 4 2 ), ĊĠĠĠĠĠĠĠ ĠlistOf () ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġval Ġjson Ġ= Ġserializer . write In toString ( request ) ĊĊĠĠĠ ĠassertThat ( json ). isEqualTo Ign oring Whitespace ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġ" id ": Ġ" my RequestId ", ĊĠĠĠĠĠĠĠ Ġ" publisher ": Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġ" bundle Id ": Ġ" my Bundle Id ", ĊĠĠĠĠĠĠĠĠĠ Ġ" cp Id ": Ġ" my Cp Id ", ĊĠĠĠĠĠĠĠĠĠ Ġ" ext ": Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" content ": Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" url ": Ġ" https :// www . c rite o . com " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" data ": Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" a ": Ġ[ 1 , Ġ 2 ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" b ": Ġ 4 2 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ Ġ" user ": Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġ" deviceId Type ": Ġ" ga id ", ĊĠĠĠĠĠĠĠĠĠ Ġ" device Os ": Ġ" android ", ĊĠĠĠĠĠĠĠĠĠ Ġ" ext ": Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" data ": Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" a ": Ġ[ 1 , Ġ 2 ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" b ": Ġ 4 2 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" device ": Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" make ": Ġ" Manufacturer ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" model ": Ġ" Dummy Model " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ Ġ" sdk Version ": Ġ" 1 . 2 . 3 ", ĊĠĠĠĠĠĠĠ Ġ" profile Id ": Ġ 4 5 6 , ĊĠĠĠĠĠĠĠ Ġ" gd pr Consent ": Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġ" consent Data ": Ġ" consent ", ĊĠĠĠĠĠĠĠĠĠ Ġ" gd pr App lies ": Ġtrue , ĊĠĠĠĠĠĠĠĠĠ Ġ" version ": Ġ 4 2 ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ Ġ" slots ": Ġ[] ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ""" . trim Indent () ĊĠĠĠ Ġ) ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun ĠtoJson _ Given No Gd pr _ DoesNot Map It () Ġ{ ĊĠĠĠ Ġval Ġrequest Ġ= ĠC db Request . create ( ĊĠĠĠĠĠĠĠ Ġ" my RequestId ", ĊĠĠĠĠĠĠĠ ĠPublisher . create (" my Bundle Id ", Ġ" my Cp Id ", Ġmap Of ()), ĊĠĠĠĠĠĠĠ ĠUser . create ( null , Ġnull , Ġnull , Ġnull , Ġmap Of ()), ĊĠĠĠĠĠĠĠ Ġ" 1 . 2 . 3 ", ĊĠĠĠĠĠĠĠĠ 4 5 6 , ĊĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠ ĠlistOf () ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġval Ġjson Ġ= Ġserializer . write In toString ( request ) ĊĊĠĠĠ ĠassertThat ( json ). does Not Contain (" gd pr Consent ") ĊĠ Ġ} Ċ } Ċ