package Ġorg . z al ando . z ally . core Ċ Ċ import Ġcom . fasterxml . jackson . core . Json Pointer Ċ import Ġcom . types afe . config . Config Factory Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . intellij . lang . annotations . Language Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . z al ando . z ally . rule . api . Check Ċ import Ġorg . z al ando . z ally . rule . api . Context Ċ import Ġorg . z al ando . z ally . rule . api . Rule Ċ import Ġorg . z al ando . z ally . rule . api . Severity Ċ import Ġorg . z al ando . z ally . rule . api . Violation Ċ Ċ class ĠOpen Api Rules Validator Test Ġ{ ĊĠĠĠ Ġclass ĠRules Validator Test Rule Set Ġ: ĠAbstract Rule Set () ĊĊĠĠĠ Ġ@ Rule ( ĊĠĠĠĠĠĠĠ Ġrule Set Ġ= ĠRules Validator Test Rule Set :: class , ĊĠĠĠĠĠĠĠ Ġid Ġ= Ġ" Test Extension Rule ", ĊĠĠĠĠĠĠĠ Ġseverity Ġ= ĠSeverity . MUST , ĊĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ" Test Extension Rule " ĊĠĠĠ Ġ) ĊĠĠĠ Ġclass ĠTest Extension Rule Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Check ( severity Ġ= ĠSeverity . MUST ) ĊĠĠĠĠĠĠĠ Ġfun Ġvalidate ( context : ĠContext ): ĠList < Violation > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtest Extension Ġ= Ġcontext ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. api ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. info ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . extensions ?. get (" x - test - extension ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . let Ġ{ Ġit Ġas ? ĠMap < *, Ġ* >? Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtest Extension ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . values ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . filter NotNull () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . map Ġ{ Ġvalue Ġ-> Ġcontext . violation (" Invalid Ġvalue ", Ġvalue ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: ĠlistOf () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcheck Correct Line Numbers For Extension Violation () Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Language (" yaml ") ĊĠĠĠĠĠĠĠ Ġval Ġopen Api Content Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġopen api : Ġ' 3 . 0 . 0 ' ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinfo : ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġx - test - extension : ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnested : Ġ 4 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpaths : Ġtest - string ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġand : ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsome : ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmore : Ġ 1 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle : ĠLorem ĠIpsum ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpaths : Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠĠĠ Ġval Ġvalidator Ġ= Ġopen Api Rules Validator ( listOf ( Test Extension Rule ()), ĠDefault Context Factory ()) ĊĠĠĠĠĠĠĠ Ġval Ġresults Ġ= Ġvalidator . validate ( open Api Content , ĠRules Policy ( emptyList ())) ĊĠĠĠĠĠĠĠ ĠassertThat ( results . map Ġ{ Ġit . pointer Ġ}). contains Exactly ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJson Pointer . compile ("/ info / x - test - extension / nested "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJson Pointer . compile ("/ info / x - test - extension / paths "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJson Pointer . compile ("/ info / x - test - extension / and ") ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( results . map Ġ{ Ġit . lines Ġ}). contains Exactly ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠInt Range ( 4 , Ġ 4 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠInt Range ( 5 , Ġ 5 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠInt Range ( 6 , Ġ 9 ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġopen Api Rules Validator ( rules : ĠList < Any >, Ġcontext : ĠDefault Context Factory ): ĠRules Validator < Context > Ġ= ĊĠĠĠĠĠĠĠ Ġobject Ġ: ĠRules Validator < Context >( Rules Manager . from Instances ( Config Factory . empty (), Ġrules )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġparse ( content : ĠString , Ġauthorization : ĠString ?): ĠContent Parse Result < Context > Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . parse Open Api Context ( content , Ġauthorization ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġignore ( root : ĠContext , Ġpointer : ĠJson Pointer , Ġrule Id : ĠString ): ĠBoolean Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ} Ċ } Ċ