118. EPMO Open Source Coordination Office Redaction File Detail Report

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.

118.1 Files compared

# 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

118.2 Comparison summary

Description Between
Files 1 and 2
Text Blocks Lines
Unchanged 8 464
Changed 7 14
Inserted 0 0
Removed 0 0

118.3 Comparison options

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

118.4 Active regular expressions

No regular expressions were active.

118.5 Comparison detail

  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   }