package Ġorg . ost el co . auth Ċ Ċ import Ġcom . google . gson . Json Parser Ċ import Ġio . drop wizard . testing . Resource Helpers Ċ import Ġio . drop wizard . testing . junit . Drop wizard App Rule Ċ import Ġorg . glass fish . j ersey . client . J ersey Client Builder Ċ import Ġorg . junit . Class Rule Ċ import Ġorg . junit . Test Ċ import Ġjava . util .* Ċ import Ġkotlin . test . assertEquals ĊĊ Ċ class ĠAuth Server Test Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġms is dn Ġ= Ġ" MS IS DN " ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Field ĊĠĠĠĠĠĠĠ Ġ@ Class Rule ĊĠĠĠĠĠĠĠ Ġval ĠRULE Ġ= ĠDrop wizard App Rule ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAuth Server Application :: class . java , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠResource Helpers . resource FilePath (" config . yaml ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Auth Server () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= ĠJ ersey Client Builder (). build () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . target (" http :// 0 . 0 . 0 . 0 :${ RULE . getLocal Port () }/ auth / token ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . request () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . header (" X - MS IS DN ", Ġms is dn ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . get () ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 0 0 , Ġresponse ?. status ) ĊĊĠĠĠĠĠĠĠ Ġval Ġcustom Token Ġ= ĠString ( response ?. read Entity ( java . lang . String :: class . java )?. toCharArray () Ġ?: ĠChar Array ( 0 )). split (".") ĊĊĠĠĠĠĠĠĠ Ġ// Ġprintln ( String ( Base 6 4 . get Decoder (). decode ( custom Token [ 0 ]))) ĊĠĠĠĠĠĠĠ Ġval Ġheader Ġ= ĠJson Parser (). parse ( String ( Base 6 4 . get Decoder (). decode ( custom Token [ 0 ])) ). as JsonObject ĊĠĠĠĠĠĠĠ ĠassertEquals (" RS 2 5 6 ", Ġheader . get (" alg "). asString ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġprintln ( String ( Base 6 4 . get Decoder (). decode ( custom Token [ 1 ]))) ĊĠĠĠĠĠĠĠ Ġval Ġpayload Ġ= ĠJson Parser (). parse ( String ( Base 6 4 . get Decoder (). decode ( custom Token [ 1 ])) ). as JsonObject ĊĠĠĠĠĠĠĠ ĠassertEquals ( ms is dn , Ġpayload . get (" uid "). asString ) ĊĠĠĠ Ġ} Ċ } Ċ