package Ġno . sk at te et aten . aur ora . b oo ber . unit Ċ Ċ import Ġassert k . assertThat Ċ import Ġassert k . assertions . isEqualTo Ċ import Ġassert k . assertions . isNotNull Ċ import Ġcom . fasterxml . jackson . databind . node . Text Node Ċ import Ġio . mock k . every Ċ import Ġio . mock k . mock k Ċ import Ġno . sk at te et aten . aur ora . b oo ber . service . openshift . Open Shift Resource Client Ċ import Ġno . sk at te et aten . aur ora . b oo ber . service . openshift . Open Shift Rest Template Wrapper Ċ import Ġno . sk at te et aten . aur ora . b oo ber . service . openshift . token . Token Provider Ċ import Ġno . sk at te et aten . aur ora . mock mvc . extensions . mock webserver . execute Ċ import Ġokhttp 3 . mock webserver . Mock WebServer Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . springframework . boot . web . client . Rest Template Builder Ċ import Ġorg . springframework . http . HttpHeaders Ċ Ċ class ĠOpen Shift Resource Client Test Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġserver Ġ= ĠMock WebServer () ĊĠĠĠ Ġprivate Ġval ĠbaseUrl Ġ= Ġserver . url ("/") ĊĊĠĠĠ Ġprivate Ġval Ġtoken Provider Ġ= Ġmock k < Token Provider >(). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġevery Ġ{ ĠgetToken () Ġ} Ġreturns Ġ" token " ĊĠĠĠ Ġ} ĊĠĠĠ Ġprivate Ġval Ġrest Template Ġ= ĠRest Template Builder (). root Uri ( baseUrl . toString ()). build () ĊĠĠĠ Ġprivate Ġval Ġopen Shift Rest Template Wrapper Ġ= ĊĠĠĠĠĠĠĠ ĠOpen Shift Rest Template Wrapper ( rest Template ) ĊĊĠĠĠ Ġprivate Ġval Ġopen Shift Resource Client Ġ= ĠOpen Shift Resource Client ( ĊĠĠĠĠĠĠĠ Ġtoken Provider , ĊĠĠĠĠĠĠĠ Ġopen Shift Rest Template Wrapper ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Patch Ġuser Ġannotation `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġ""" { Ġ" metadata ": Ġ{ Ġ" annotations ": Ġ{ Ġ" foo ": Ġ" bar " Ġ} Ġ} Ġ} """ ĊĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= Ġserver . execute ( response ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresponse Entity Ġ= Ġopen Shift Resource Client . str ateg ic Merge Patch (" user ", Ġ" username ", ĠText Node ("{} ")) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( response Entity . statusCode . value ()). isEqualTo ( 2 0 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThat ( request . first ()?. headers ?. get ( HttpHeaders . CONTENT _ TYPE )). isNotNull () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo (" application / str ateg ic - merge - patch + json ") ĊĠĠĠĠĠĠĠ ĠassertThat ( request . first ()?. path ). isNotNull (). isEqualTo ("/ apis / user . openshift . io / v 1 / users / username ") ĊĠĠĠ Ġ} Ċ } Ċ