package Ġde . r ki . cor on aw arn app . util . serialization . validation Ċ Ċ import Ġde . r ki . cor on aw arn app . util . serialization . Serialization Module Ċ import Ġio . kot est . matchers . shouldBe Ċ import Ġok io . buffer Ċ import Ġok io . source Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġtest helpers . Base Test Ċ Ċ class ĠJson Schema Validator Test Ġ: ĠBaseTest () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġschema Source Ġ= Ġobject Ġ: ĠJson Schema Source Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġraw Schema : ĠString ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= Ġthis . java Class . class Loader !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. getResource AsStream (" json schema - dcc - 0 6 fe 7 ed . json ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. source () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. buffer () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. read Utf 8 () ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġversion : ĠJson Schema Source . Version Ġ= ĠJson Schema Source . Version . V 2 0 1 9 _ 1 9 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġvalid Json Ġ= Ġ""" ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" ver ": Ġ" 1 . 2 . 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" nam ": Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" fn ": Ġ" M uster f ra u - G \ u 0 0 f 6 \ u 0 0 df inger ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" gn ": Ġ" G ab rie le ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" f nt ": Ġ" M USTER FR AU < GO ESS ING ER ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" g nt ": Ġ" G AB R IE LE " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" dob ": Ġ" 1 9 9 8 - 0 2 - 2 6 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" v ": Ġ[ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" tg ": Ġ" 8 4 0 5 3 9 0 0 6 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" vp ": Ġ" 1 1 1 9 3 4 9 0 0 7 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" mp ": Ġ" EU \/ 1 \/ 2 0 \/ 1 5 2 8 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ma ": Ġ" ORG - 1 0 0 0 3 0 2 1 5 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" dn ": Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" sd ": Ġ 2 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" dt ": Ġ" 2 0 2 1 - 0 2 - 1 8 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" co ": Ġ" AT ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" is ": Ġ" Min ist ry Ġof ĠHealth , ĠA ust ria ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ci ": Ġ" URN : UV CI : 0 1 : AT : 1 0 8 0 7 8 4 3 F 9 4 A EE 0 EE 5 0 9 3 F BC 2 5 4 BD 8 1 3 # B " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ] ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ""" . trim Indent () ĊĠĠĠ Ġprivate Ġval Ġinvalid Json Ġ= Ġ""" ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" ver ": Ġ" 1 . 2 . 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" nam ": Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" fn ": Ġ" M uster f ra u - G \ u 0 0 f 6 \ u 0 0 df inger ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" gn ": Ġ" G ab rie le ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" f nt ": Ġ" M USTER FR AU < GO ESS ING ER ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" g nt ": Ġ" G AB R IE LE " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" dob ": Ġ" 1 9 9 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" v ": Ġ[ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" tg ": Ġ" 8 4 0 5 3 9 0 0 6 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" vp ": Ġ" 1 1 1 9 3 4 9 0 0 7 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" mp ": Ġ" EU \/ 1 \/ 2 0 \/ 1 5 2 8 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ma ": Ġ" ORG - 1 0 0 0 3 0 2 1 5 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" dn ": Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" sd ": Ġ 1 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" co ": Ġ" AT ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" is ": Ġ" Min ist ry Ġof ĠHealth , ĠA ust ria ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ci ": Ġ" URN : UV CI : 0 1 : AT : 1 0 8 0 7 8 4 3 F 9 4 A EE 0 EE 5 0 9 3 F BC 2 5 4 BD 8 1 3 # B " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ] ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠ Ġfun Ġcreate Instance () Ġ= ĠJson Schema Validator ( Serialization Module (). jackson ObjectMapper ()) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` simple Ġpass `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Instance (). validate ( schema Source , Ġvalid Json ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠisValid ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` simple Ġfail `() Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Instance (). validate ( schema Source , Ġinvalid Json ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠisValid ĠshouldBe Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġerrors . size ĠshouldBe Ġ 3 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ