package Ġno . nav . security . mock . oauth 2 Ċ Ċ import Ġcom . fasterxml . jackson . databind . exc . Invalid FormatException Ċ import Ġio . kot est . assertions . throw ables . should Throw Ċ import Ġio . kot est . matchers . collections . should Contain All Ċ import Ġio . kot est . matchers . should Ċ import Ġio . kot est . matchers . shouldBe Ċ import Ġio . kot est . matchers . types . be InstanceOf Ċ import Ġno . nav . security . mock . oauth 2 . Full Config . config Json Ċ import Ġno . nav . security . mock . oauth 2 . HttpServer Config . with Mock WebServer Wrapper Ċ import Ġno . nav . security . mock . oauth 2 . HttpServer Config . with Net ty HttpServer Ċ import Ġno . nav . security . mock . oauth 2 . HttpServer Config . with Unknown HttpServer Ċ import Ġno . nav . security . mock . oauth 2 . http . Mock WebServer Wrapper Ċ import Ġno . nav . security . mock . oauth 2 . http . Net ty Wrapper Ċ import Ġorg . intellij . lang . annotations . Language Ċ import Ġorg . junit . jupiter . api . Test Ċ Ċ internal Ġclass ĠOAuth 2 Config Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` create Ġhttp Server Ġfrom Ġjson `() Ġ{ ĊĠĠĠĠĠĠĠ ĠOAuth 2 Config . fromJson ( with Net ty HttpServer ). http Server Ġshould Ġbe InstanceOf < Net ty Wrapper >() ĊĠĠĠĠĠĠĠ ĠOAuth 2 Config . fromJson ( with Mock WebServer Wrapper ). http Server Ġshould Ġbe InstanceOf < Mock WebServer Wrapper >() ĊĠĠĠĠĠĠĠ Ġshould Throw < Invalid FormatException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠOAuth 2 Config . fromJson ( with Unknown HttpServer ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` create Ġfull Ġconfig Ġfrom Ġjson Ġwith Ġmultiple Ġtoken Callbacks `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconfig Ġ= ĠOAuth 2 Config . fromJson ( config Json ) ĊĠĠĠĠĠĠĠ Ġconfig . interactive Login ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠ Ġconfig . http Server Ġshould Ġbe InstanceOf < Net ty Wrapper >() ĊĠĠĠĠĠĠĠ Ġconfig . token Callbacks . size ĠshouldBe Ġ 2 ĊĠĠĠĠĠĠĠ Ġconfig . token Callbacks . map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . issuer Id () ĊĠĠĠĠĠĠĠ Ġ}. toList () Ġshould Contain All ĠlistOf (" issuer 1 ", Ġ" issuer 2 ") ĊĠĠĠ Ġ} Ċ } Ċ Ċ object ĠFull Config Ġ{ ĊĠĠĠ Ġ@ Language (" json ") ĊĠĠĠ Ġval Ġconfig Json Ġ= Ġ""" { ĊĠĠĠĠĠ Ġ" interactive Login " Ġ: Ġtrue , ĊĠĠĠĠĠ Ġ" http Server ": Ġ" Net ty Wrapper ", ĊĠĠĠĠĠ Ġ" token Callbacks ": Ġ[ ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġ" issuer Id ": Ġ" issuer 1 ", ĊĠĠĠĠĠĠĠĠĠ Ġ" token Expiry ": Ġ 1 2 0 , ĊĠĠĠĠĠĠĠĠĠ Ġ" request Mappings ": Ġ[ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" request Param ": Ġ" scope ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" match ": Ġ" scope 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" claims ": Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" sub ": Ġ" sub By Scope ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" aud ": Ġ[ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" aud By Scope " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠ Ġ] ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġ" issuer Id ": Ġ" issuer 2 ", ĊĠĠĠĠĠĠĠĠĠ Ġ" request Mappings ": Ġ[ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" request Param ": Ġ" some param ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" match ": Ġ" some value ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" claims ": Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" sub ": Ġ" sub By Some Param ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" aud ": Ġ[ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" aud By Some Param " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠ Ġ] ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ] ĊĠĠĠ Ġ} ĊĠĠĠ Ġ""" . trim Indent () Ċ } Ċ Ċ object ĠHttp Server Config Ġ{ ĊĠĠĠ Ġ@ Language (" json ") ĊĠĠĠ Ġval Ġwith Mock WebServer Wrapper Ġ= Ġ""" ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġ" http Server ": Ġ" Mock WebServer Wrapper " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠ Ġ@ Language (" json ") ĊĠĠĠ Ġval Ġwith Net ty HttpServer Ġ= Ġ""" ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġ" http Server ": Ġ" Net ty Wrapper " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠ Ġ@ Language (" json ") ĊĠĠĠ Ġval Ġwith Unknown HttpServer Ġ= Ġ""" ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġ" http Server ": Ġ" Unknown Server " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ""" . trim Indent () Ċ } Ċ