package Ġorg . oso . core . controller Ċ Ċ import Ġorg . springframework . http . MediaType Ċ import Ġorg . springframework . test . web . servlet . MockMvc Ċ import Ġorg . springframework . test . web . servlet . request . MockMvc Request Builders Ċ import Ġorg . springframework . test . web . servlet . result . MockMvc Result Matchers Ċ import Ġjava . nio . charset . StandardCharsets Ċ Ċ fun Ġtest Fail On Missing Parameters ( mock Mvc : ĠMock Mvc , Ġurl Template : ĠString , Ġparameters : ĠList < Pair < String , ĠString >>) Ġ{ ĊĠĠĠ Ġfor ( size Ġin Ġ 1 .. ( parameters . size Ġ- Ġ 1 )) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtemp Ġ= Ġmutable ListOf < Pair < String , ĠString >>() ĊĠĠĠĠĠĠĠ Ġtest Fail On Missing Parameters ( mock Mvc , Ġurl Template , Ġparameters , Ġsize , Ġtemp ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun Ġtest Fail On Missing Parameters ( mock Mvc : ĠMock Mvc , Ġurl Template : ĠString , Ġparameters : ĠList < Pair < String , ĠString >>, Ġsize : ĠInt , Ġtemp : ĠMutable List < Pair < String , ĠString >>) Ġ{ ĊĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠ Ġsize Ġ== Ġ 0 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson Ġ= Ġ" {" Ġ+ Ġtemp . map Ġ{ Ġ""" Ġ"${ it . first } ":" ${ it . second }" Ġ""" Ġ}. join ToString (",") Ġ+ Ġ" }" ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġmock Mvc ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. perform ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMock Mvc Request Builders ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. post ( url Template ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. contentType ( MediaType . APPLICATION _ JSON ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. character Encoding ( StandardCharsets . UTF _ 8 . name ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. content ( json ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. andExpect ( MockMvc Result Matchers . status (). is BadRequest ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġparameters . size Ġ< Ġsize Ġ-> Ġreturn ĊĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġparameters . indices ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtemp New Ġ= Ġtemp . to Mutable List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtemp New . add ( parameters [ i ]) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest Fail On Missing Parameters ( mock Mvc , Ġurl Template , Ġparameters . sub List ( i Ġ+ Ġ 1 , Ġparameters . size ), Ġsize Ġ- Ġ 1 , Ġtemp New ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }