package Ġuk . gov . just ice . digital . h mp ps . oauth 2 server . resource . api Ċ Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . junit . jupiter . api . extension . Extend With Ċ import Ġorg . springframework . http . MediaType Ċ import Ġorg . springframework . web . reactive . function . Body Inser ters Ċ import Ġuk . gov . just ice . digital . h mp ps . oauth 2 server . resource . Del ius Extension Ċ import Ġuk . gov . just ice . digital . h mp ps . oauth 2 server . resource . IntegrationTest Ċ Ċ @ Extend With ( Del ius Extension :: class ) Ċ class ĠUser Controller Int Test Ġ: ĠIntegration Test () Ġ{ ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` User ĠMe Ġendpoint Ġreturns Ġprincipal Ġuser Ġdata Ġfor Ġclient Ġcredentials Ġgrant `() Ġ{ ĊĠĠĠ Ġweb Test Client ĊĠĠĠĠĠ Ġ. get (). uri ("/ api / user / me ") ĊĠĠĠĠĠ Ġ. headers ( set Author isation (" IT AG _ USER ")) ĊĠĠĠĠĠ Ġ. exchange () ĊĠĠĠĠĠ Ġ. expect Status (). is Ok ĊĠĠĠĠĠ Ġ. expect Body () ĊĠĠĠĠĠ Ġ. json Path ("$ "). value < Map < String , ĠAny >> Ġ{ ĊĠĠĠĠĠĠĠ ĠassertThat ( it ). contains Exactly In Any Order Entries Of ( ĊĠĠĠĠĠĠĠĠĠ Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" username " Ġto Ġ" IT AG _ USER ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" active " Ġto Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" name " Ġto Ġ" It ag ĠUser ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" staff Id " Ġto Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" active Case Load Id " Ġto Ġ" M DI ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" auth Source " Ġto Ġ" nom is ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" userId " Ġto Ġ" 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" uuid " Ġto Ġ" a 0 4 c 7 0 ee - 5 1 c 9 - 4 8 5 2 - 8 d 0 d - 1 3 0 da 5 c 8 5 c 4 2 ", ĊĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` User ĠMe Ġendpoint Ġreturns Ġprincipal Ġuser Ġdata Ġfor Ġauth Ġuser `() Ġ{ ĊĠĠĠ Ġweb Test Client ĊĠĠĠĠĠ Ġ. get (). uri ("/ api / user / me ") ĊĠĠĠĠĠ Ġ. headers ( set Author isation (" AUTH _ USER ")) ĊĠĠĠĠĠ Ġ. exchange () ĊĠĠĠĠĠ Ġ. expect Status (). is Ok ĊĠĠĠĠĠ Ġ. expect Body () ĊĠĠĠĠĠ Ġ. json Path ("$ "). value < Map < String , ĠAny >> Ġ{ ĊĠĠĠĠĠĠĠ ĠassertThat ( it ). contains Exactly In Any Order Entries Of ( ĊĠĠĠĠĠĠĠĠĠ Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" username " Ġto Ġ" AUTH _ USER ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" active " Ġto Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" name " Ġto Ġ" Auth ĠOnly ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" auth Source " Ġto Ġ" auth ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" userId " Ġto Ġ" 6 0 8 9 5 5 ae - 5 2 ed - 4 4 cc - 8 8 4 c - 0 1 1 5 9 7 a 7 7 9 4 9 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" uuid " Ġto Ġ" 6 0 8 9 5 5 ae - 5 2 ed - 4 4 cc - 8 8 4 c - 0 1 1 5 9 7 a 7 7 9 4 9 ", ĊĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` User ĠMe Ġendpoint Ġreturns Ġprincipal Ġuser Ġdata Ġfor Ġdeli us Ġuser `() Ġ{ ĊĠĠĠ Ġweb Test Client ĊĠĠĠĠĠ Ġ. get (). uri ("/ api / user / me ") ĊĠĠĠĠĠ Ġ. headers ( set Author isation (" DE LI US ")) ĊĠĠĠĠĠ Ġ. exchange () ĊĠĠĠĠĠ Ġ. expect Status (). is Ok ĊĠĠĠĠĠ Ġ. expect Body () ĊĠĠĠĠĠ Ġ. json Path ("$ "). value < Map < String , ĠAny >> Ġ{ ĊĠĠĠĠĠĠĠ ĠassertThat ( it ). contains All Entries Of ( ĊĠĠĠĠĠĠĠĠĠ Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" username " Ġto Ġ" DE LI US ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" active " Ġto Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" name " Ġto Ġ" Del ius ĠSmith ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" auth Source " Ġto Ġ" deli us ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" userId " Ġto Ġ" 2 5 0 0 0 7 7 0 2 7 ", ĊĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` User Ġusername Ġendpoint Ġreturns Ġuser Ġdata `() Ġ{ ĊĠĠĠ Ġweb Test Client ĊĠĠĠĠĠ Ġ. get (). uri ("/ api / user / RO _ USER ") ĊĠĠĠĠĠ Ġ. headers ( set Author isation (" IT AG _ USER ")) ĊĠĠĠĠĠ Ġ. exchange () ĊĠĠĠĠĠ Ġ. expect Status (). is Ok ĊĠĠĠĠĠ Ġ. expect Body () ĊĠĠĠĠĠ Ġ. json Path ("$ "). value < Map < String , ĠAny >> Ġ{ ĊĠĠĠĠĠĠĠ ĠassertThat ( it ). contains All Entries Of ( ĊĠĠĠĠĠĠĠĠĠ Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" username " Ġto Ġ" RO _ USER ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" active " Ġto Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" name " Ġto Ġ" Lic ence ĠResp ons ible ĠOffic er ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" auth Source " Ġto Ġ" nom is ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" staff Id " Ġto Ġ 4 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" active Case Load Id " Ġto Ġ" B EL ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" userId " Ġto Ġ" 4 ", ĊĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` User ĠMe Ġendpoint Ġreturns Ġprincipal Ġuser Ġdata `() Ġ{ ĊĠĠĠ Ġweb Test Client ĊĠĠĠĠĠ Ġ. get (). uri ("/ api / user / IT AG _ USER ") ĊĠĠĠĠĠ Ġ. headers ( set Author isation (" IT AG _ USER _ AD M ")) ĊĠĠĠĠĠ Ġ. exchange () ĊĠĠĠĠĠ Ġ. expect Status (). is Ok ĊĠĠĠĠĠ Ġ. expect Header (). contentType ( MediaType . APPLICATION _ JSON ) ĊĠĠĠĠĠ Ġ. expect Body () ĊĠĠĠĠĠ Ġ. json (" user _ data . json ". readFile ()) ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` User Ġusername Ġendpoint Ġreturns Ġuser Ġdata Ġfor Ġauth Ġuser `() Ġ{ ĊĠĠĠ Ġweb Test Client ĊĠĠĠĠĠ Ġ. get (). uri ("/ api / user / AUTH _ USER ") ĊĠĠĠĠĠ Ġ. headers ( set Author isation (" IT AG _ USER ")) ĊĠĠĠĠĠ Ġ. exchange () ĊĠĠĠĠĠ Ġ. expect Status (). is Ok ĊĠĠĠĠĠ Ġ. expect Body () ĊĠĠĠĠĠ Ġ. json Path ("$ "). value < Map < String , ĠAny >> Ġ{ ĊĠĠĠĠĠĠĠ ĠassertThat ( it ). contains Exactly In Any Order Entries Of ( ĊĠĠĠĠĠĠĠĠĠ Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" username " Ġto Ġ" AUTH _ USER ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" active " Ġto Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" name " Ġto Ġ" Auth ĠOnly ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" auth Source " Ġto Ġ" auth ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" userId " Ġto Ġ" 6 0 8 9 5 5 ae - 5 2 ed - 4 4 cc - 8 8 4 c - 0 1 1 5 9 7 a 7 7 9 4 9 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" uuid " Ġto Ġ" 6 0 8 9 5 5 ae - 5 2 ed - 4 4 cc - 8 8 4 c - 0 1 1 5 9 7 a 7 7 9 4 9 ", ĊĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` User Ġusername Ġendpoint Ġreturns Ġuser Ġdata Ġfor Ġdeli us Ġuser `() Ġ{ ĊĠĠĠ Ġweb Test Client ĊĠĠĠĠĠ Ġ. get (). uri ("/ api / user / me ") ĊĠĠĠĠĠ Ġ. headers ( set Author isation (" deli us ")) ĊĠĠĠĠĠ Ġ. exchange () ĊĠĠĠĠĠ Ġ. expect Status (). is Ok ĊĠĠĠĠĠ Ġ. expect Body () ĊĠĠĠĠĠ Ġ. json Path ("$ "). value < Map < String , ĠAny >> Ġ{ ĊĠĠĠĠĠĠĠ ĠassertThat ( it ). contains All Entries Of ( ĊĠĠĠĠĠĠĠĠĠ Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" username " Ġto Ġ" DE LI US ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" active " Ġto Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" name " Ġto Ġ" Del ius ĠSmith ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" auth Source " Ġto Ġ" deli us ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" userId " Ġto Ġ" 2 5 0 0 0 7 7 0 2 7 ", ĊĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` My Ġemail Ġendpoint Ġreturns Ġuser Ġdata Ġfor Ġauth Ġuser `() Ġ{ ĊĠĠĠ Ġweb Test Client ĊĠĠĠĠĠ Ġ. get (). uri ("/ api / me / email ") ĊĠĠĠĠĠ Ġ. headers ( set Author isation (" AUTH _ USER ")) ĊĠĠĠĠĠ Ġ. exchange () ĊĠĠĠĠĠ Ġ. expect Status (). is Ok ĊĠĠĠĠĠ Ġ. expect Body () ĊĠĠĠĠĠ Ġ. json Path ("$ "). value < Map < String , ĠAny >> Ġ{ ĊĠĠĠĠĠĠĠ ĠassertThat ( it ). contains Exactly In Any Order Entries Of ( ĊĠĠĠĠĠĠĠĠĠ Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" username " Ġto Ġ" AUTH _ USER ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" email " Ġto Ġ" auth _ user @ digital . just ice . gov . uk ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" verified " Ġto Ġtrue , ĊĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` User Ġemail Ġendpoint Ġreturns Ġuser Ġdata Ġfor Ġauth Ġuser `() Ġ{ ĊĠĠĠ Ġweb Test Client ĊĠĠĠĠĠ Ġ. get (). uri ("/ api / user / AUTH _ USER / email ") ĊĠĠĠĠĠ Ġ. headers ( set Author isation (" IT AG _ USER ")) ĊĠĠĠĠĠ Ġ. exchange () ĊĠĠĠĠĠ Ġ. expect Status (). is Ok ĊĠĠĠĠĠ Ġ. expect Body () ĊĠĠĠĠĠ Ġ. json Path ("$ "). value < Map < String , ĠAny >> Ġ{ ĊĠĠĠĠĠĠĠ ĠassertThat ( it ). contains Exactly In Any Order Entries Of ( ĊĠĠĠĠĠĠĠĠĠ Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" username " Ġto Ġ" AUTH _ USER ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" email " Ġto Ġ" auth _ user @ digital . just ice . gov . uk ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" verified " Ġto Ġtrue , ĊĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` User Ġemail Ġendpoint Ġreturns Ġno Ġcontent Ġfor Ġun verified Ġauth Ġuser `() Ġ{ ĊĠĠĠ Ġweb Test Client ĊĠĠĠĠĠ Ġ. get (). uri ("/ api / user / AUTH _ UN VER IFI ED / email ") ĊĠĠĠĠĠ Ġ. headers ( set Author isation (" IT AG _ USER ")) ĊĠĠĠĠĠ Ġ. exchange () ĊĠĠĠĠĠ Ġ. expect Status (). is No Content ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` User Ġemail Ġendpoint Ġreturns Ġun verified Ġauth Ġuser Ġemail `() Ġ{ ĊĠĠĠ Ġweb Test Client ĊĠĠĠĠĠ Ġ. get (). uri ("/ api / user / AUTH _ UN VER IFI ED / email ? un verified = true ") ĊĠĠĠĠĠ Ġ. headers ( set Author isation (" IT AG _ USER ")) ĊĠĠĠĠĠ Ġ. exchange () ĊĠĠĠĠĠ Ġ. expect Status (). is Ok ĊĠĠĠĠĠ Ġ. expect Body () ĊĠĠĠĠĠ Ġ. json Path ("$ "). value < Map < String , ĠAny >> Ġ{ ĊĠĠĠĠĠĠĠ ĠassertThat ( it ). contains Exactly In Any Order Entries Of ( ĊĠĠĠĠĠĠĠĠĠ Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" username " Ġto Ġ" AUTH _ UN VER IFI ED ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" email " Ġto Ġ" auth _ un verified @ digital . just ice . gov . uk ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" verified " Ġto Ġfalse , ĊĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` My Ġemail Ġendpoint Ġreturns Ġun verified Ġauth Ġuser Ġemail `() Ġ{ ĊĠĠĠ Ġweb Test Client ĊĠĠĠĠĠ Ġ. get (). uri ("/ api / me / email ? un verified = true ") ĊĠĠĠĠĠ Ġ. headers ( set Author isation (" AUTH _ UN VER IFI ED ")) ĊĠĠĠĠĠ Ġ. exchange () ĊĠĠĠĠĠ Ġ. expect Status (). is Ok ĊĠĠĠĠĠ Ġ. expect Body () ĊĠĠĠĠĠ Ġ. json Path ("$ "). value < Map < String , ĠAny >> Ġ{ ĊĠĠĠĠĠĠĠ ĠassertThat ( it ). contains Exactly In Any Order Entries Of ( ĊĠĠĠĠĠĠĠĠĠ Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" username " Ġto Ġ" AUTH _ UN VER IFI ED ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" email " Ġto Ġ" auth _ un verified @ digital . just ice . gov . uk ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" verified " Ġto Ġfalse , ĊĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` User Ġemail Ġendpoint Ġreturns Ġuser Ġdata Ġfor Ġnom is Ġuser `() Ġ{ ĊĠĠĠ Ġweb Test Client ĊĠĠĠĠĠ Ġ. get (). uri ("/ api / user / IT AG _ USER / email ") ĊĠĠĠĠĠ Ġ. headers ( set Author isation (" IT AG _ USER ")) ĊĠĠĠĠĠ Ġ. exchange () ĊĠĠĠĠĠ Ġ. expect Status (). is Ok ĊĠĠĠĠĠ Ġ. expect Body () ĊĠĠĠĠĠ Ġ. json Path ("$ "). value < Map < String , ĠAny >> Ġ{ ĊĠĠĠĠĠĠĠ ĠassertThat ( it ). contains Exactly In Any Order Entries Of ( ĊĠĠĠĠĠĠĠĠĠ Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" username " Ġto Ġ" IT AG _ USER ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" email " Ġto Ġ" it ag _ user @ digital . just ice . gov . uk ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" verified " Ġto Ġtrue , ĊĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` User Ġemail Ġendpoint Ġreturns Ġempty Ġfor Ġnom is Ġuser Ġwithout Ġemail `() Ġ{ ĊĠĠĠ Ġweb Test Client ĊĠĠĠĠĠ Ġ. get (). uri ("/ api / user / IE P _ USER / email ? un verified = true ") ĊĠĠĠĠĠ Ġ. headers ( set Author isation (" IT AG _ USER ")) ĊĠĠĠĠĠ Ġ. exchange () ĊĠĠĠĠĠ Ġ. expect Status (). is Ok ĊĠĠĠĠĠ Ġ. expect Body () ĊĠĠĠĠĠ Ġ. json Path ("$ "). value < Map < String , ĠAny >> Ġ{ ĊĠĠĠĠĠĠĠ ĠassertThat ( it ). contains Exactly In Any Order Entries Of ( ĊĠĠĠĠĠĠĠĠĠ Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" username " Ġto Ġ" IE P _ USER ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" verified " Ġto Ġfalse , ĊĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` User Ġemail Ġendpoint Ġreturns Ġuser Ġdata Ġfor Ġdeli us Ġuser `() Ġ{ ĊĠĠĠ Ġweb Test Client ĊĠĠĠĠĠ Ġ. get (). uri ("/ api / user / deli us _ email / email ") ĊĠĠĠĠĠ Ġ. headers ( set Author isation (" deli us _ email ")) ĊĠĠĠĠĠ Ġ. exchange () ĊĠĠĠĠĠ Ġ. expect Status (). is Ok ĊĠĠĠĠĠ Ġ. expect Body () ĊĠĠĠĠĠ Ġ. json Path ("$ "). value < Map < String , ĠAny >> Ġ{ ĊĠĠĠĠĠĠĠ ĠassertThat ( it ). contains Exactly In Any Order Entries Of ( ĊĠĠĠĠĠĠĠĠĠ Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" username " Ġto Ġ" DE LI US _ EMAIL ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" email " Ġto Ġ" deli us _ user @ digital . just ice . gov . uk ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" verified " Ġto Ġtrue , ĊĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` User Ġemails Ġendpoint Ġreturns Ġuser Ġdata `() Ġ{ ĊĠĠĠ Ġweb Test Client ĊĠĠĠĠĠ Ġ. post (). uri ("/ api / user / email ") ĊĠĠĠĠĠ Ġ. body ( Body Inser ters . from Value ( listOf (" AUTH _ USER ", Ġ" IT AG _ USER ", Ġ" deli us _ email ", Ġ" DM _ USER ", Ġ" n obody "))) ĊĠĠĠĠĠ Ġ. headers ( set Author isation (" IT AG _ USER ", ĠlistOf (" ROLE _ MA INT AIN _ ACCESS _ RO LES "))) ĊĠĠĠĠĠ Ġ. exchange () ĊĠĠĠĠĠ Ġ. expect Status (). is Ok ĊĠĠĠĠĠ Ġ. expect Body () ĊĠĠĠĠĠ Ġ. json Path ("$ [* ]. email "). value < List < String >> Ġ{ ĊĠĠĠĠĠĠĠ ĠassertThat ( it ). contains Exactly In Any Order Elements Of ( ĊĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" auth _ user @ digital . just ice . gov . uk ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" it ag _ user @ digital . just ice . gov . uk ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" deli us _ user @ digital . just ice . gov . uk ", ĊĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` User Ġemails Ġendpoint Ġreturns Ġuser Ġdata Ġforbidden `() Ġ{ ĊĠĠĠ Ġweb Test Client ĊĠĠĠĠĠ Ġ. post (). uri ("/ api / user / email ") ĊĠĠĠĠĠ Ġ. body ( Body Inser ters . from Value ( listOf (" AUTH _ USER ", Ġ" IT AG _ USER ", Ġ" deli us _ email ", Ġ" DM _ USER ", Ġ" n obody "))) ĊĠĠĠĠĠ Ġ. headers ( set Author isation (" IT AG _ USER ")) ĊĠĠĠĠĠ Ġ. exchange () ĊĠĠĠĠĠ Ġ. expect Status (). is Forbidden ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` User Ġemail Ġendpoint Ġreturns Ġno Ġuser Ġdata Ġfor Ġun verified Ġemail Ġaddress `() Ġ{ ĊĠĠĠ Ġweb Test Client ĊĠĠĠĠĠ Ġ. get (). uri ("/ api / user / DM _ USER / email ") ĊĠĠĠĠĠ Ġ. headers ( set Author isation (" IT AG _ USER ")) ĊĠĠĠĠĠ Ġ. exchange () ĊĠĠĠĠĠ Ġ. expect Status (). is No Content ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` User ĠMe ĠRoles Ġendpoint Ġreturns Ġprincipal Ġuser Ġdata `() Ġ{ ĊĠĠĠ Ġweb Test Client ĊĠĠĠĠĠ Ġ. get (). uri ("/ api / user / me / roles ") ĊĠĠĠĠĠ Ġ. headers ( ĊĠĠĠĠĠĠĠ Ġset Author isation ( ĊĠĠĠĠĠĠĠĠĠ Ġ" IT AG _ USER ", ĊĠĠĠĠĠĠĠĠĠ ĠlistOf (" ROLE _ MA INT AIN _ ACCESS _ RO LES ", Ġ" ROLE _ MA INT AIN _ O AUTH _ USERS ", Ġ" ROLE _ O AUTH _ ADMIN ") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠ Ġ) ĊĠĠĠĠĠ Ġ. exchange () ĊĠĠĠĠĠ Ġ. expect Status (). is Ok ĊĠĠĠĠĠ Ġ. expect Body () ĊĠĠĠĠĠ Ġ. json Path (". [* ]. role Code "). value < List < String >> Ġ{ ĊĠĠĠĠĠĠĠ ĠassertThat ( it ). contains (" MA INT AIN _ O AUTH _ USERS ") ĊĠĠĠĠĠĠĠ ĠassertThat ( it ). contains (" O AUTH _ ADMIN ") ĊĠĠĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` User ĠMe ĠRoles Ġendpoint Ġreturns Ġprincipal Ġuser Ġdata Ġfor Ġauth Ġuser `() Ġ{ ĊĠĠĠ Ġweb Test Client ĊĠĠĠĠĠ Ġ. get (). uri ("/ api / user / me / roles ") ĊĠĠĠĠĠ Ġ. headers ( set Author isation (" AUTH _ AD M ", ĠlistOf (" ROLE _ GLOBAL _ SEARCH "))) ĊĠĠĠĠĠ Ġ. exchange () ĊĠĠĠĠĠ Ġ. expect Status (). is Ok ĊĠĠĠĠĠ Ġ. expect Body () ĊĠĠĠĠĠ Ġ. json Path (". [* ]. role Code "). value < List < String >> Ġ{ ĊĠĠĠĠĠĠĠ ĠassertThat ( it ). contains (" GLOBAL _ SEARCH ") ĊĠĠĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` User ĠMe ĠRoles Ġendpoint Ġreturns Ġprincipal Ġuser Ġdata Ġfor Ġdeli us Ġuser `() Ġ{ ĊĠĠĠ Ġweb Test Client ĊĠĠĠĠĠ Ġ. get (). uri ("/ api / user / me / roles ") ĊĠĠĠĠĠ Ġ. headers ( set Author isation (" DE LI US ", ĠlistOf (" ROLE _ PROB ATION "))) ĊĠĠĠĠĠ Ġ. exchange () ĊĠĠĠĠĠ Ġ. expect Status (). is Ok ĊĠĠĠĠĠ Ġ. expect Body () ĊĠĠĠĠĠ Ġ. json Path (". [* ]. role Code "). value < List < String >> Ġ{ ĊĠĠĠĠĠĠĠ ĠassertThat ( it ). contains (" PROB ATION ") ĊĠĠĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` User ĠRoles Ġendpoint Ġreturns Ġroles Ġfor Ġnom is Ġuser `() Ġ{ ĊĠĠĠ Ġweb Test Client ĊĠĠĠĠĠ Ġ. get (). uri ("/ api / user / IT AG _ USER / roles ") ĊĠĠĠĠĠ Ġ. headers ( set Author isation (" IT AG _ USER ", ĠlistOf (" ROLE _ PP M _ USER _ ADMIN "))) ĊĠĠĠĠĠ Ġ. exchange () ĊĠĠĠĠĠ Ġ. expect Status (). is Ok ĊĠĠĠĠĠ Ġ. expect Body () ĊĠĠĠĠĠ Ġ. json Path (". [* ]. role Code "). value < List < String >> Ġ{ ĊĠĠĠĠĠĠĠ ĠassertThat ( it ). contains (" PR IS ON ") ĊĠĠĠĠĠĠĠ ĠassertThat ( it ). contains (" GLOBAL _ SEARCH ") ĊĠĠĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` User ĠRoles Ġendpoint Ġreturns Ġroles Ġfor Ġauth Ġuser `() Ġ{ ĊĠĠĠ Ġweb Test Client ĊĠĠĠĠĠ Ġ. get (). uri ("/ api / user / AUTH _ AD M / roles ") ĊĠĠĠĠĠ Ġ. headers ( set Author isation (" IT AG _ USER ", ĠlistOf (" ROLE _ PP M _ USER _ ADMIN "))) ĊĠĠĠĠĠ Ġ. exchange () ĊĠĠĠĠĠ Ġ. expect Status (). is Ok ĊĠĠĠĠĠ Ġ. expect Body () ĊĠĠĠĠĠ Ġ. json Path (". [* ]. role Code "). value < List < String >> Ġ{ ĊĠĠĠĠĠĠĠ ĠassertThat ( it ). contains (" O AUTH _ ADMIN ") ĊĠĠĠĠĠĠĠ ĠassertThat ( it ). contains (" MA INT AIN _ O AUTH _ USERS ") ĊĠĠĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` User ĠRoles Ġendpoint Ġreturns Ġroles Ġfor Ġdeli us Ġuser `() Ġ{ ĊĠĠĠ Ġweb Test Client ĊĠĠĠĠĠ Ġ. get (). uri ("/ api / user / DE LI US / roles ") ĊĠĠĠĠĠ Ġ. headers ( set Author isation (" IT AG _ USER ", ĠlistOf (" ROLE _ PP M _ USER _ ADMIN "))) ĊĠĠĠĠĠ Ġ. exchange () ĊĠĠĠĠĠ Ġ. expect Status (). is Ok ĊĠĠĠĠĠ Ġ. expect Body () ĊĠĠĠĠĠ Ġ. json Path (". [* ]. role Code "). value < List < String >> Ġ{ ĊĠĠĠĠĠĠĠ ĠassertThat ( it ). contains (" LIC ENCE _ RO ") ĊĠĠĠĠĠĠĠ ĠassertThat ( it ). contains (" PROB ATION ") ĊĠĠĠĠĠĠĠ ĠassertThat ( it ). contains (" GLOBAL _ SEARCH ") ĊĠĠĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` User ĠRoles Ġendpoint Ġreturns Ġnot Ġfound Ġfor Ġunknown Ġusername `() Ġ{ ĊĠĠĠ Ġweb Test Client ĊĠĠĠĠĠ Ġ. get (). uri ("/ api / user / UNKNOWN / roles ") ĊĠĠĠĠĠ Ġ. headers ( set Author isation (" IT AG _ USER ", ĠlistOf (" ROLE _ PP M _ USER _ ADMIN "))) ĊĠĠĠĠĠ Ġ. exchange () ĊĠĠĠĠĠ Ġ. expect Status (). is NotFound ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` User ĠMe Ġendpoint Ġnot Ġaccessible Ġwithout Ġvalid Ġtoken `() Ġ{ ĊĠĠĠ Ġweb Test Client ĊĠĠĠĠĠ Ġ. get (). uri ("/ api / user / me ") ĊĠĠĠĠĠ Ġ. exchange () ĊĠĠĠĠĠ Ġ. expect Status (). is Unauthorized ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` User ĠMe ĠRoles Ġendpoint Ġnot Ġaccessible Ġwithout Ġvalid Ġtoken `() Ġ{ ĊĠĠĠ Ġweb Test Client ĊĠĠĠĠĠ Ġ. get (). uri ("/ api / user / me / roles ") ĊĠĠĠĠĠ Ġ. exchange () ĊĠĠĠĠĠ Ġ. expect Status (). is Unauthorized ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` User ĠRoles Ġendpoint Ġnot Ġaccessible Ġwithout Ġvalid Ġtoken `() Ġ{ ĊĠĠĠ Ġweb Test Client ĊĠĠĠĠĠ Ġ. get (). uri ("/ api / user / IT AG _ USER / roles ") ĊĠĠĠĠĠ Ġ. exchange () ĊĠĠĠĠĠ Ġ. expect Status (). is Unauthorized ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` User Ġusername Ġendpoint Ġnot Ġaccessible Ġwithout Ġvalid Ġtoken `() Ġ{ ĊĠĠĠ Ġweb Test Client ĊĠĠĠĠĠ Ġ. get (). uri ("/ api / user / bob ") ĊĠĠĠĠĠ Ġ. exchange () ĊĠĠĠĠĠ Ġ. expect Status (). is Unauthorized ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` User Ġemail Ġendpoint Ġnot Ġaccessible Ġwithout Ġvalid Ġtoken `() Ġ{ ĊĠĠĠ Ġweb Test Client ĊĠĠĠĠĠ Ġ. get (). uri ("/ api / user / bob / email ") ĊĠĠĠĠĠ Ġ. exchange () ĊĠĠĠĠĠ Ġ. expect Status (). is Unauthorized ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` User Ġsearch Ġby Ġmultiple Ġauth Ġsources `() Ġ{ ĊĠĠĠ Ġweb Test Client ĊĠĠĠĠĠ Ġ. get () ĊĠĠĠĠĠ Ġ. uri ("/ api / user / search ? name = test 2 & auth Sources = nom is & auth Sources = deli us & auth Sources = auth & auth Sources = nom is ") ĊĠĠĠĠĠ Ġ. headers ( set Author isation (" INTEL _ ADMIN ", ĠlistOf (" ROLE _ INTEL _ ADMIN "))) ĊĠĠĠĠĠ Ġ. exchange () ĊĠĠĠĠĠ Ġ. expect Status (). is Ok ĊĠĠĠĠĠ Ġ. expect Header (). contentType ( MediaType . APPLICATION _ JSON ) ĊĠĠĠĠĠ Ġ. expect Body () ĊĠĠĠĠĠ Ġ. json (" auth _ user _ search _ multiple _ source . json ". readFile ()) ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` User Ġsearch Ġby Ġthe Ġdefault ed Ġauth Ġsource `() Ġ{ ĊĠĠĠ Ġweb Test Client ĊĠĠĠĠĠ Ġ. get (). uri ("/ api / user / search ? name = test 2 ") ĊĠĠĠĠĠ Ġ. headers ( set Author isation (" INTEL _ ADMIN ", ĠlistOf (" ROLE _ INTEL _ ADMIN "))) ĊĠĠĠĠĠ Ġ. exchange () ĊĠĠĠĠĠ Ġ. expect Status (). is Ok ĊĠĠĠĠĠ Ġ. expect Header (). contentType ( MediaType . APPLICATION _ JSON ) ĊĠĠĠĠĠ Ġ. expect Body () ĊĠĠĠĠĠ Ġ. json (" auth _ user _ search _ default _ source . json ". readFile ()) ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` User Ġsearch Ġby Ġmultiple Ġauth Ġsources Ġand Ġstatus Ġfilter `() Ġ{ ĊĠĠĠ Ġweb Test Client ĊĠĠĠĠĠ Ġ. get () ĊĠĠĠĠĠ Ġ. uri ("/ api / user / search ? name = test 2 & status = IN ACTIVE & auth Sources = nom is & auth Sources = deli us ") ĊĠĠĠĠĠ Ġ. headers ( set Author isation (" IT AG _ USER ", ĠlistOf (" ROLE _ INTEL _ ADMIN "))) ĊĠĠĠĠĠ Ġ. exchange () ĊĠĠĠĠĠ Ġ. expect Status (). is Ok ĊĠĠĠĠĠ Ġ. expect Header (). contentType ( MediaType . APPLICATION _ JSON ) ĊĠĠĠĠĠ Ġ. expect Body () ĊĠĠĠĠĠ Ġ. json (" auth _ user _ search _ multiple _ source _ inactive . json ". readFile ()) ĊĠ Ġ} Ċ } Ċ