package Ġno . nav . person br uk er . dit tn av . api . login status Ċ Ċ import Ġkotlinx . serialization . decode FromString Ċ import Ġno . nav . person br uk er . dit tn av . api . config . json Ċ import Ġorg . am sh ove . k lu ent .` should Ġbe Ġequal Ġto ` Ċ import Ġorg . junit . jupiter . api . Test Ċ Ċ internal Ġclass ĠIn n log g ings status Response Test Ġ{ ĊĊĠĠĠ Ġval Ġun authenticated Response Ġ= Ġ""" ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" authenticated ": Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" stable ": Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠ Ġval Ġauthenticated With Open Am Only Response Ġ= Ġ""" ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" open AM Token ": Ġ{ ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" auth Level ": Ġ 3 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" authenticated ": Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" auth Level ": Ġ 3 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠ Ġval Ġauthenticated With Both Response Ġ= Ġ""" ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" oidc Token ": Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" subject ": Ġ" 1 2 3 4 5 6 7 8 9 1 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" auth Level ": Ġ 3 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" issue Time ": Ġ" 2 0 2 0 - 1 0 - 1 0 T 0 0 : 0 0 : 0 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" expiry Time ": Ġ" 2 0 2 0 - 1 0 - 1 0 T 0 1 : 0 0 : 0 0 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" open AM Token ": Ġ{ ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" subject ": Ġ" 1 2 3 4 5 6 7 8 9 1 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" auth Level ": Ġ 4 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" authenticated ": Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" auth Level ": Ġ 4 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Can Ġdeserialize Ġun authenticated Ġresponse `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresponse : ĠIn n log g ings status Response Ġ= Ġread Response ( un authenticated Response ) ĊĊĠĠĠĠĠĠĠ Ġresponse . authenticated Ġ` should Ġbe Ġequal Ġto ` Ġfalse ĊĠĠĠĠĠĠĠ Ġresponse . auth Level Ġ` should Ġbe Ġequal Ġto ` Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Can Ġdeserialize Ġresponse Ġwhen Ġauthenticated Ġwith Ġopen AM Ġonly `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresponse : ĠIn n log g ings status Response Ġ= Ġread Response ( authenticated With Open Am Only Response ) ĊĊĠĠĠĠĠĠĠ Ġresponse . authenticated Ġ` should Ġbe Ġequal Ġto ` Ġtrue ĊĠĠĠĠĠĠĠ Ġresponse . auth Level Ġ` should Ġbe Ġequal Ġto ` Ġ 3 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Can Ġdeserialize Ġresponse Ġwhen Ġauthenticated Ġwith Ġopen AM Ġand Ġoid c `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresponse : ĠIn n log g ings status Response Ġ= Ġread Response ( authenticated With Both Response ) ĊĊĠĠĠĠĠĠĠ Ġresponse . authenticated Ġ` should Ġbe Ġequal Ġto ` Ġtrue ĊĠĠĠĠĠĠĠ Ġresponse . auth Level Ġ` should Ġbe Ġequal Ġto ` Ġ 4 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġread Response ( json : ĠString ): ĠIn n log g ings status Response Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġjson ( ignore Unknown Keys Ġ= Ġtrue ). decode FromString ( json ) ĊĠĠĠ Ġ} Ċ } Ċ