Produced by Araxis Merge on 4/27/2018 2:59:15 PM Central Daylight Time. See www.araxis.com for information about Merge. This report uses XHTML and CSS2, and is best viewed with a modern standards-compliant browser. For optimum results when printing this report, use landscape orientation and enable printing of background images and colours in your browser.
| # | Location | File | Last Modified |
|---|---|---|---|
| 1 | v2.0_Sprint_15_Build_5.zip\v2.0_Sprint_15_Build_5\Unredacted\ARS_Backend\ars_app\src\test\java\gov\va\med\ars\controller | UserAdministrationRestControllerTest.java | Tue Apr 24 14:49:58 2018 UTC |
| 2 | v2.0_Sprint_15_Build_5..zip\v2.0_Sprint_15_Build_5\Unredacted\ARS_Backend\ars_app\src\test\java\gov\va\med\ars\controller | UserAdministrationRestControllerTest.java | Thu Apr 26 16:39:36 2018 UTC |
| Description | Between Files 1 and 2 |
|
|---|---|---|
| Text Blocks | Lines | |
| Unchanged | 8 | 464 |
| Changed | 7 | 14 |
| Inserted | 0 | 0 |
| Removed | 0 | 0 |
| Whitespace | |
|---|---|
| Character case | Differences in character case are significant |
| Line endings | Differences in line endings (CR and LF characters) are ignored |
| CR/LF characters | Not shown in the comparison detail |
No regular expressions were active.
| 1 | package go v.va.med.a rs.control ler; | |
| 2 | ||
| 3 | import jav a.nio.char set.Charse t; | |
| 4 | import jav a.util.Arr ayList; | |
| 5 | import jav a.util.Lis t; | |
| 6 | ||
| 7 | import org .apache.lo gging.log4 j.LogManag er; | |
| 8 | import org .apache.lo gging.log4 j.Logger; | |
| 9 | import org .junit.Bef ore; | |
| 10 | import org .junit.Tes t; | |
| 11 | import org .junit.run ner.RunWit h; | |
| 12 | import org .mockito.I njectMocks ; | |
| 13 | import org .mockito.M atchers; | |
| 14 | import org .mockito.M ock; | |
| 15 | import org .mockito.M ockito; | |
| 16 | import org .mockito.M ockitoAnno tations; | |
| 17 | import org .springfra mework.htt p.HttpStat us; | |
| 18 | import org .springfra mework.htt p.MediaTyp e; | |
| 19 | import org .springfra mework.tes t.context. ContextCon figuration ; | |
| 20 | import org .springfra mework.tes t.context. junit4.Spr ingJUnit4C lassRunner ; | |
| 21 | import org .springfra mework.tes t.context. web.WebApp Configurat ion; | |
| 22 | import org .springfra mework.tes t.web.serv let.MockMv c; | |
| 23 | import org .springfra mework.tes t.web.serv let.Result Actions; | |
| 24 | import org .springfra mework.tes t.web.serv let.setup. MockMvcBui lders; | |
| 25 | ||
| 26 | import com .fasterxml .jackson.d atabind.Ob jectMapper ; | |
| 27 | import com .fasterxml .jackson.d atabind.Ob jectWriter ; | |
| 28 | import com .fasterxml .jackson.d atabind.Se rializatio nFeature; | |
| 29 | ||
| 30 | import gov .va.med.ar s.configur ation.AppC onfig; | |
| 31 | import gov .va.med.ar s.configur ation.spri ng.SpringM vcConfig; | |
| 32 | import gov .va.med.ar s.constant s.ErrorMes sages; | |
| 33 | import gov .va.med.ar s.exceptio ns.Generic Exception; | |
| 34 | import gov .va.med.ar s.filter.C ORSFilter; | |
| 35 | import gov .va.med.ar s.model.re quest.User SearchRequ est; | |
| 36 | import gov .va.med.ar s.model.re sponse.Gen ericRespon se; | |
| 37 | import gov .va.med.ar s.model.re sponse.Use rDetailsRe sponse; | |
| 38 | import gov .va.med.ar s.service. IUserAdmin istrationS ervice; | |
| 39 | import gov .va.med.ar s.service. impl.UserA dministrat ionService Impl; | |
| 40 | import net .minidev.j son.JSONOb ject; | |
| 41 | ||
| 42 | import sta tic org.mo ckito.Mock ito.when; | |
| 43 | import sta tic org.sp ringframew ork.test.w eb.servlet .request.M ockMvcRequ estBuilder s.put; | |
| 44 | ||
| 45 | import sta tic org.sp ringframew ork.test.w eb.servlet .request.M ockMvcRequ estBuilder s.post; | |
| 46 | import sta tic org.sp ringframew ork.test.w eb.servlet .request.M ockMvcRequ estBuilder s.get; | |
| 47 | ||
| 48 | import sta tic org.sp ringframew ork.test.w eb.servlet .result.Mo ckMvcResul tHandlers. print; | |
| 49 | import sta tic org.sp ringframew ork.test.w eb.servlet .result.Mo ckMvcResul tMatchers. content; | |
| 50 | import sta tic org.sp ringframew ork.test.w eb.servlet .result.Mo ckMvcResul tMatchers. status; | |
| 51 | import sta tic org.sp ringframew ork.test.w eb.servlet .result.Mo ckMvcResul tMatchers. jsonPath; | |
| 52 | import sta tic org.ha mcrest.Mat chers.is; | |
| 53 | import sta tic org.mo ckito.Mock ito.times; | |
| 54 | import sta tic org.mo ckito.Mock ito.verify ; | |
| 55 | import sta tic org.mo ckito.Mock ito.verify NoMoreInte ractions; | |
| 56 | ||
| 57 | import sta tic org.mo ckito.Matc hers.any; | |
| 58 | ||
| 59 | @WebAppCon figuration | |
| 60 | @RunWith(S pringJUnit 4ClassRunn er.class) | |
| 61 | @ContextCo nfiguratio n(classes = { AppCon fig.class, SpringMvc Config.cla ss }) | |
| 62 | public cla ss UserAdm inistratio nRestContr ollerTest { | |
| 63 | pr ivate stat ic final L ogger logg er = LogMa nager.getL ogger(User Administra tionRestCo ntrollerTe st.class); | |
| 64 | pr ivate Mock Mvc mockMv c; | |
| 65 | pu blic stati c final Me diaType AP PLICATION_ JSON_UTF8 = new Medi aType(Medi aType.APPL ICATION_JS ON.getType (), | |
| 66 | MediaT ype.APPLIC ATION_JSON .getSubtyp e(), Chars et.forName ("utf8")); | |
| 67 | ||
| 68 | @M ock | |
| 69 | pr ivate IUse rAdministr ationServi ce userAdm inistratio nService; | |
| 70 | ||
| 71 | @M ock | |
| 72 | pr ivate Gene ricExcepti on generic Exception = new Gene ricExcepti on(ErrorMe ssages.INV ALID_REQUE ST, | |
| 73 | "At le ast one fi eld inform ation need s to be ad ded", Http Status.NOT _FOUND); | |
| 74 | ||
| 75 | @I njectMocks | |
| 76 | pr ivate User Administra tionRestCo ntroller u serAdminis trationRes tControlle r; | |
| 77 | ||
| 78 | @B efore | |
| 79 | pu blic void init() thr ows Except ion { | |
| 80 | Mock itoAnnotat ions.initM ocks(this) ; | |
| 81 | mock Mvc = Mock MvcBuilder s.standalo neSetup(us erAdminist rationRest Controller ).addFilte rs(new COR SFilter()) | |
| 82 | .build() ; | |
| 83 | } | |
| 84 | ||
| 85 | @T est | |
| 86 | pu blic void testsearch AllUsers() throws Ex ception { | |
| 87 | User SearchRequ est userSe archReques t = new Us erSearchRe quest(); | |
| 88 | user SearchRequ est.setAdm in("true") ; | |
| 89 | user SearchRequ est.setCre atedBy("") ; | |
| 90 | user SearchRequ est.setDes cending(fa lse); | |
| 91 | user SearchRequ est.setDom ain(""); | |
| 92 | user SearchRequ est.setEdi t(""); | |
| 93 | user SearchRequ est.setEma il(""); | |
| 94 | user SearchRequ est.setExp ort(""); | |
| 95 | user SearchRequ est.setFir stName("") ; | |
| 96 | user SearchRequ est.setLas tName(""); | |
| 97 | user SearchRequ est.setPag eNumber(1) ; | |
| 98 | user SearchRequ est.setPag eSize(10); | |
| 99 | user SearchRequ est.setPho ne(""); | |
| 100 | user SearchRequ est.setSor tColumn("" ); | |
| 101 | user SearchRequ est.setSta tus(""); | |
| 102 | userSearch Request.se tUserName( " PI I
|
|
| 103 | user SearchRequ est.setExp ort("Y"); | |
| 104 | user SearchRequ est.setEdi t("Y"); | |
| 105 | user SearchRequ est.setAdm in("Y"); | |
| 106 | ||
| 107 | User DetailsRes ponse user DetailsRes ponse = ne w UserDeta ilsRespons e(); | |
| 108 | List <UserDetai lsResponse > listuser Details = new ArrayL ist<>(); | |
| 109 | user DetailsRes ponse.setS tatus("act ive"); | |
| 110 | user DetailsRes ponse.setD omain("Bas e"); | |
| 111 | userDetail sResponse. setUserNam e(" PI I
|
|
| 112 | user DetailsRes ponse.setE xport("y") ; | |
| 113 | user DetailsRes ponse.setA dmin("y"); | |
| 114 | user DetailsRes ponse.setE dit("y"); | |
| 115 | list userDetail s.add(user DetailsRes ponse); | |
| 116 | ||
| 117 | Gene ricRespons e genericR esponse = new Generi cResponse( ); | |
| 118 | gene ricRespons e.setpageN umber(1); | |
| 119 | gene ricRespons e.setpageS ize(10); | |
| 120 | gene ricRespons e.setsortC olumn("use rName"); | |
| 121 | gene ricRespons e.settotal NumberOfRe sults((lon g) 3); | |
| 122 | gene ricRespons e.setRespo nse(listus erDetails) ; | |
| 123 | ||
| 124 | when (userAdmin istrationS ervice.get AllUserDet ails(any(U serSearchR equest.cla ss))).then Return(gen ericRespon se); | |
| 125 | ||
| 126 | Obje ctMapper m apper = ne w ObjectMa pper(); | |
| 127 | mapp er.configu re(Seriali zationFeat ure.WRAP_R OOT_VALUE, false); | |
| 128 | Obje ctWriter o w = mapper .writer(). withDefaul tPrettyPri nter(); | |
| 129 | Stri ng request Json = ow. writeValue AsString(u serSearchR equest); | |
| 130 | mock Mvc.perfor m(post("/a pi/v1/user Search").c ontentType (MediaType .APPLICATI ON_JSON).c ontent(req uestJson)) | |
| 131 | .andDo(p rint()).an dExpect(st atus().isO k()) | |
| 132 | .andExpe ct(content ().content Type("appl ication/js on;charset =UTF-8")) | |
| 133 | .andExpe ct(jsonPat h("$.pageN umber", is (1))).andE xpect(json Path("$.pa geSize", i s(10))) | |
| 134 | .andExpe ct(jsonPat h("$.sortC olumn", is ("userName "))) | |
| 135 | .andExpe ct(jsonPat h("$.total NumberOfRe sults", is (3))) | |
| 136 | .andExpe ct(jsonPat h("$.respo nse[0].sta tus", is(" active"))) | |
| 137 | .andExpe ct(jsonPat h("$.respo nse[0].dom ain", is(" Base"))) | |
| 138 | .andExpect (jsonPath( "$.respons e[0].userN ame", is(" PI I
|
|
| 139 | .andExpe ct(jsonPat h("$.respo nse[0].exp ort", is(" y"))) | |
| 140 | .andExpe ct(jsonPat h("$.respo nse[0].adm in", is("y "))).andEx pect(jsonP ath("$.res ponse[0].e dit", is(" y"))); | |
| 141 | ||
| 142 | veri fy(userAdm inistratio nService, times(1)). getAllUser Details(Ma tchers.ref Eq(userSea rchRequest )); | |
| 143 | veri fyNoMoreIn teractions (userAdmin istrationS ervice); | |
| 144 | ||
| 145 | } | |
| 146 | ||
| 147 | @T est | |
| 148 | pu blic void testEditUs erSuccess( ) throws E xception { | |
| 149 | User SearchRequ est userSe archReques t = new Us erSearchRe quest(); | |
| 150 | user SearchRequ est.setAdm in("true") ; | |
| 151 | user SearchRequ est.setCre atedBy("") ; | |
| 152 | user SearchRequ est.setDes cending(fa lse); | |
| 153 | user SearchRequ est.setDom ain(""); | |
| 154 | user SearchRequ est.setEdi t(""); | |
| 155 | user SearchRequ est.setEma il(""); | |
| 156 | user SearchRequ est.setExp ort(""); | |
| 157 | user SearchRequ est.setFir stName("") ; | |
| 158 | user SearchRequ est.setLas tName(""); | |
| 159 | user SearchRequ est.setPag eNumber(1) ; | |
| 160 | user SearchRequ est.setPag eSize(10); | |
| 161 | user SearchRequ est.setPho ne(""); | |
| 162 | user SearchRequ est.setSor tColumn("" ); | |
| 163 | user SearchRequ est.setSta tus(""); | |
| 164 | userSearch Request.se tUserName( " PI I
|
|
| 165 | user SearchRequ est.setExp ort("Y"); | |
| 166 | user SearchRequ est.setEdi t("Y"); | |
| 167 | user SearchRequ est.setAdm in("Y"); | |
| 168 | ||
| 169 | when (userAdmin istrationS ervice.edi tUserByUse rName(user SearchRequ est)).then Return(tru e); | |
| 170 | ||
| 171 | Obje ctMapper m apper = ne w ObjectMa pper(); | |
| 172 | mapp er.configu re(Seriali zationFeat ure.WRAP_R OOT_VALUE, false); | |
| 173 | Obje ctWriter o w = mapper .writer(). withDefaul tPrettyPri nter(); | |
| 174 | Stri ng request Json = ow. writeValue AsString(u serSearchR equest); | |
| 175 | Resu ltActions andExpect = mockMvc | |
| 176 | .perform (post("/ap i/v1/editU ser").cont entType(Me diaType.AP PLICATION_ JSON).cont ent(reques tJson)) | |
| 177 | .andDo(p rint()).an dExpect(st atus().is( 200)); | |
| 178 | logg er.info("s tatus resu lts:" + an dExpect.an dReturn(). getRespons e().getCon tentAsStri ng()); | |
| 179 | ||
| 180 | veri fy(userAdm inistratio nService, times(1)). editUserBy UserName(M atchers.re fEq(userSe archReques t)); | |
| 181 | veri fyNoMoreIn teractions (userAdmin istrationS ervice); | |
| 182 | ||
| 183 | } | |
| 184 | ||
| 185 | /* @Test | |
| 186 | pu blic void testgetUse rByIdSucce ss() throw s Exceptio n { | |
| 187 | Stri ng userId = "100"; | |
| 188 | User DetailsRes ponse user DetailsRes ponse = ne w UserDeta ilsRespons e(); | |
| 189 | user DetailsRes ponse.setS tatus("Use r"); | |
| 190 | user DetailsRes ponse.setD omain("Bas e"); | |
| 191 | userDetail sResponse. setUserNam e(" PI I
|
|
| 192 | user DetailsRes ponse.setE xport("y") ; | |
| 193 | user DetailsRes ponse.setA dmin("y"); | |
| 194 | user DetailsRes ponse.setE dit("y"); | |
| 195 | ||
| 196 | when (userAdmin istrationS ervice.get UserById(u serId)).th enReturn(u serDetails Response); | |
| 197 | Obje ctMapper m apper = ne w ObjectMa pper(); | |
| 198 | mapp er.configu re(Seriali zationFeat ure.WRAP_R OOT_VALUE, false); | |
| 199 | Obje ctWriter o w = mapper .writer(). withDefaul tPrettyPri nter(); | |
| 200 | Stri ng request Json = ow. writeValue AsString(u serId); | |
| 201 | mock Mvc.perfor m( | |
| 202 | get("/ap i/v1/userD etails/" + userId).c ontentType (MediaType .APPLICATI ON_JSON).c ontent(req uestJson)) | |
| 203 | .andDo(p rint()).an dExpect(st atus().isO k()) | |
| 204 | .andExpe ct(jsonPat h("$.domai n", is("Ba se"))) | |
| 205 | .andExpect (jsonPath( "$.userNam e", is(" PI I
|
|
| 206 | .andExpe ct(jsonPat h("$.expor t", is("y" ))) | |
| 207 | .andExpe ct(jsonPat h("$.admin ", is("y") )) | |
| 208 | .andExpe ct(jsonPat h("$.edit" , is("y")) ) | |
| 209 | .andExpe ct(jsonPat h("$.statu s", is("Us er"))); | |
| 210 | ||
| 211 | veri fy(userAdm inistratio nService, times(1)). getUserByI d(Matchers .refEq(use rId)); | |
| 212 | veri fyNoMoreIn teractions (userAdmin istrationS ervice); | |
| 213 | ||
| 214 | }* / | |
| 215 | ||
| 216 | @T est | |
| 217 | pu blic void testdelete UserSucces s() throws Exception { | |
| 218 | Long userId = (long) 100 ; | |
| 219 | User DetailsRes ponse user DetailsRes ponse = ne w UserDeta ilsRespons e(); | |
| 220 | user DetailsRes ponse.setS tatus("Use r"); | |
| 221 | user DetailsRes ponse.setD omain("Bas e"); | |
| 222 | userDetail sResponse. setUserNam e(" PI I
|
|
| 223 | user DetailsRes ponse.setE xport("1") ; | |
| 224 | user DetailsRes ponse.setA dmin("!"); | |
| 225 | user DetailsRes ponse.setE dit("2"); | |
| 226 | ||
| 227 | when (userAdmin istrationS ervice.del eteUserByU serName(us erId)).the nReturn(tr ue); | |
| 228 | Obje ctMapper m apper = ne w ObjectMa pper(); | |
| 229 | mapp er.configu re(Seriali zationFeat ure.WRAP_R OOT_VALUE, false); | |
| 230 | Obje ctWriter o w = mapper .writer(). withDefaul tPrettyPri nter(); | |
| 231 | Stri ng request Json = ow. writeValue AsString(u serId); | |
| 232 | mock Mvc.perfor m( | |
| 233 | get("/ap i/v1/userD elete/" + userId).co ntentType( MediaType. APPLICATIO N_JSON).co ntent(requ estJson)) | |
| 234 | .andDo(p rint()).an dExpect(st atus().isO k()); | |
| 235 | veri fy(userAdm inistratio nService, times(1)). deleteUser ByUserName (Matchers. refEq(user Id)); | |
| 236 | veri fyNoMoreIn teractions (userAdmin istrationS ervice); | |
| 237 | } | |
| 238 | ||
| 239 | } |
Araxis Merge (but not the data content of this report) is Copyright © 1993-2016 Araxis Ltd (www.araxis.com). All rights reserved.