package Ġcom . example . my application . repository . database Ċ Ċ import Ġandroidx . annotation . Visible ForTesting Ċ import Ġandroidx . room . Column Info Ċ import Ġandroidx . room . Entity Ċ import Ġandroidx . room . Ignore Ċ import Ġandroidx . room . PrimaryKey Ċ import Ġcom . example . my application . data . Secret Data Wrapper Ċ import Ġcom . example . my application . utils . test helper . Test Constants Ċ import Ġcom . google . gson . Gson ĊĊ Ċ /** Ċ Ġ* ĠTODO : ĠUser Ġcan Ġeither Ġuse Ġunique Ġpassword Ġor Ġset Ġa Ġsingle Ġpassword Ġf for Ġall Ċ Ġ*/ Ċ Ċ data Ġclass ĠCipher Text Wrapper ( val Ġcipher data : ĠByteArray , Ġval Ġinitialization Vector : ĠByteArray ) Ċ Ċ @ Entity Ċ data Ġclass ĠPassword Entity (@ PrimaryKey ( auto Generate Ġ= Ġtrue ) Ġval Ġid Ġ: ĠInt ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Column Info Ġvar Ġwebsite Name : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Column Info Ġvar Ġwebsite : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Column Info Ġvar Ġinitialization Vector : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Column Info ( name Ġ=" encrypted Data ") Ġvar Ġencrypted Data : ĠString ?= null , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Column Info Ġvar Ġicon Bytes : ĠString ){ ĊĊĊĠĠĠ Ġ@ Ignore Ġvar Ġsecret Data Wrapper : ĠSecret Data Wrapper ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠGson (). toJson ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject { Ċ Ċ // ĠĠĠĠĠĠĠ Ġfun Ġfake Query Db (): ĠSparse Array < Password Entity >{ Ċ // Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsparse Array Ġ= ĠSparse Array < Password Entity >(). apply Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( id Ġin Ġ 0 .. 4 Ġ){ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput ( id , ĠPassword Entity ( i , Ġ" Google . com ", Ġ" Google ĠSearch ", Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" some Encrypted Data ", Ġother Info Ġ= Ġ" Hello Ġworld !! ", Ġ" random string ")) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠ Ġ} Ċ // Ċ // ĠĠĠĠĠĠĠ Ġ@ Visible ForTesting Ċ // ĠĠĠĠĠĠĠ Ġfun Ġmock GetAll (){ Ċ // Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġmutable ListOf < Password Entity >(). apply { Ċ // Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Visible ForTesting ĊĠĠĠĠĠĠĠ Ġfun Ġget Mock ( id : ĠInt ? Ġ= Ġnull ) Ġ= ĠPassword Entity ( id , Ġ" Google . com ", ĠTest Constants . WE BS ITE , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" [] ", ĠTest Constants . ENCRYPT ED _ STRING , Ġ Ġ" random string ") ĊĠĠĠ Ġ} Ċ Ċ }