package Ġno . nav . su . person . p dl Ċ Ċ import Ġno . nav . su . person . P dl Stub Ċ import Ġno . nav . su . person . P dl Stub . Companion . p dl Id enter Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġkotlin . test . assertEquals Ċ import Ġkotlin . test . fail Ċ Ċ class ĠP DL S var T olk Test Ġ{ ĊĠĠ Ġ@ Test ĊĠĠ Ġfun Ġ` Ok Ġs var Ġf ra ĠP DL Ġskal Ġkun ne Ġparses Ġsom Ġen Ġperson `() Ġ{ ĊĠĠĠĠĠ Ġval Ġs var Ġ= ĠP DL S var T olk ( P dl Stub . p dl H ent Person Ok Json ). result at ĊĊĠĠĠĠĠ Ġwhen Ġ( s var ) Ġ{ ĊĠĠĠĠĠĠĠĠ Ġis ĠFe il F ra P DL Ġ-> Ġfail (" Sk ul le Ġv Ã¦ rt ĠPerson F ra P DL ") ĊĠĠĠĠĠĠĠĠ Ġis ĠPerson F ra P DL Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" OLA ", Ġs var . for nav n ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" NORM AN N ", Ġs var . et tern av n ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" 1 2 3 4 5 6 7 8 9 1 0 ", Ġs var . fn r ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" 1 0 9 8 7 6 5 4 3 2 1 ", Ġs var . ak tor Id ) ĊĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠ Ġ} ĊĊĠĠ Ġ@ Test ĊĠĠ Ġfun Ġ` Un authenticated Ġf ra ĠP DL Ġskal Ġgi Ġfe il - obj ek t Ġf ra Ġtol ken `() Ġ{ ĊĠĠĠĠĠ Ġval Ġs var Ġ= ĠP DL S var T olk ( P dl Stub . p dl Un authenticated Json ). result at ĊĠĠĠĠĠ Ġwhen Ġ( s var ) Ġ{ ĊĠĠĠĠĠĠĠĠ Ġis ĠPerson F ra P DL Ġ-> Ġfail (" Sk ul le Ġv Ã¦ rt ĠFe il F ra P DL ") ĊĠĠĠĠĠĠĠĠ Ġis ĠFe il F ra P DL Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 4 0 1 , Ġs var . http Code ) ĊĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠ Ġ} ĊĊĠĠ Ġ@ Test ĊĠĠ Ġfun Ġ` vel g Ġperson Ġmed Ġmaster ĠF REG Ġh vis Ġe ks ister er `() Ġ{ ĊĠĠĠĠĠ Ġval Ġs var : ĠPerson F ra P DL Ġ= ĠP DL S var T olk ( P dl Stub . p dl H ent Person Ok Json ). result at Ġas ĠPerson F ra P DL ĊĠĠĠĠĠ ĠassertEquals (" OLA ", Ġs var . for nav n ) ĊĠĠĠĠĠ ĠassertEquals (" OT TO ", Ġs var . mel lom nav n ) ĊĠĠĠĠĠ ĠassertEquals (" NORM AN N ", Ġs var . et tern av n ) ĊĠĠ Ġ} ĊĊĠĠ Ġ@ Test ĊĠĠ Ġfun Ġ` vel g Ġperson Ġmed Ġmaster ĠP DL Ġh vis ĠF REG Ġik ke Ġe ks ister er `() Ġ{ ĊĠĠĠĠĠ Ġval Ġs var : ĠPerson F ra P DL Ġ= ĠP DL S var T olk (""" ĊĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" data ": Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" h ent Person ": Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" nav n ": Ġ[ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" for nav n ": Ġ" AL O ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" mel lom nav n ": Ġ" OT TO ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" et tern av n ": Ġ" N NA MR ON ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" metadata ": Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" master ": Ġ" P DL " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ$ p dl Id enter ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠ Ġ""" . trim Indent ()). result at Ġas ĠPerson F ra P DL ĊĠĠĠĠĠ ĠassertEquals (" AL O ", Ġs var . for nav n ) ĊĠĠĠĠĠ ĠassertEquals (" OT TO ", Ġs var . mel lom nav n ) ĊĠĠĠĠĠ ĠassertEquals (" N NA MR ON ", Ġs var . et tern av n ) ĊĠĠ Ġ} ĊĊĠĠ Ġ@ Test ĊĠĠ Ġfun Ġ` h Ã¥ nd ter er Ġval gf rie Ġret ur ver dier `() Ġ{ ĊĠĠĠĠĠ Ġval Ġs var : ĠPerson F ra P DL Ġ= ĠP DL S var T olk (""" ĊĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" data ": Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" h ent Person ": Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" nav n ": Ġ[ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" for nav n ": Ġ" AL O ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" mel lom nav n ": Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" et tern av n ": Ġ" N NA MR ON ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" metadata ": Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" master ": Ġ" P DL " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ$ p dl Id enter ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠ Ġ""" . trim Indent ()). result at Ġas ĠPerson F ra P DL ĊĊĠĠĠĠĠ ĠassertEquals (" AL O ", Ġs var . for nav n ) ĊĠĠĠĠĠ ĠassertEquals ("", Ġs var . mel lom nav n ) ĊĠĠĠĠĠ ĠassertEquals (" N NA MR ON ", Ġs var . et tern av n ) ĊĠĠ Ġ} ĊĊĠĠ Ġ@ Test ĊĠĠ Ġfun Ġ` ign orer er Ġcase Ġn Ã¥r Ġsam men l ign er Ġdata k ilde Ġfor Ġperson Ġ( F REG Ġvs ĠF reg Ġetc )` () Ġ{ ĊĠĠĠĠĠ Ġval Ġs var : ĠPerson F ra P DL Ġ= ĠP DL S var T olk (""" ĊĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" data ": Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" h ent Person ": Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" nav n ": Ġ[ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" for nav n ": Ġ" D ONT ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" mel lom nav n ": ĠP ICK , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" et tern av n ": Ġ" THIS ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" metadata ": Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" master ": Ġ" P DL " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" for nav n ": Ġ" P ICK ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" mel lom nav n ": Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" et tern av n ": Ġ" ME ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" metadata ": Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" master ": Ġ" Fr Eg " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ$ p dl Id enter ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠ Ġ""" . trim Indent ()). result at Ġas ĠPerson F ra P DL ĊĊĠĠĠĠĠ ĠassertEquals (" P ICK ", Ġs var . for nav n ) ĊĠĠĠĠĠ ĠassertEquals (" ME ", Ġs var . et tern av n ) ĊĠĠ Ġ} Ċ } Ċ