Produced by Araxis Merge on 4/26/2019 10:01:15 AM 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 | C:\AraxisMergeCompare\Pri_un\CCCC\CCCC\seoc-api1.8\seoc-reactor\seoc-rest-api\src\test\java\gov\va\oneconsult\seoc\api\service | UserServiceTest.java | Wed Apr 10 13:32:48 2019 UTC |
2 | C:\AraxisMergeCompare\Pri_re\CCCC\CCCC\seoc-api1.8\seoc-reactor\seoc-rest-api\src\test\java\gov\va\oneconsult\seoc\api\service | UserServiceTest.java | Wed Apr 24 20:12:53 2019 UTC |
Description | Between Files 1 and 2 |
|
---|---|---|
Text Blocks | Lines | |
Unchanged | 10 | 664 |
Changed | 9 | 50 |
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 | /* | |
2 | * UserSer viceTest.j ava | |
3 | * Copyrig ht (c) 201 7 Veterans Affairs. | |
4 | */ | |
5 | package go v.va.oneco nsult.seoc .api.servi ce; | |
6 | ||
7 | import sta tic org.as sertj.core .api.Asser tions.asse rtThat; | |
8 | ||
9 | import jav a.util.Dat e; | |
10 | import jav a.util.Has hSet; | |
11 | import jav a.util.Set ; | |
12 | ||
13 | import org .junit.Bef ore; | |
14 | import org .junit.Tes t; | |
15 | import org .mockito.A rgumentCap tor; | |
16 | import org .mockito.I njectMocks ; | |
17 | import org .mockito.M ock; | |
18 | import org .mockito.M ockito; | |
19 | import org .mockito.M ockitoAnno tations; | |
20 | import org .springfra mework.htt p.HttpStat us; | |
21 | ||
22 | import gov .va.onecon sult.seoc. api.contro ller.SeocO bjectGener ator; | |
23 | import gov .va.onecon sult.seoc. api.except ions.Busin essExcepti on; | |
24 | import gov .va.onecon sult.seoc. api.except ions.SeocC onstraintV iolationEx ception; | |
25 | import gov .va.onecon sult.seoc. api.json.C reateUserR equest; | |
26 | import gov .va.onecon sult.seoc. api.json.S eocGeneric Response; | |
27 | import gov .va.onecon sult.seoc. api.model. User; | |
28 | import gov .va.onecon sult.seoc. api.reposi tory.UserR epository; | |
29 | import gov .va.onecon sult.seoc. api.servic e.impl.Use rServiceIm pl; | |
30 | import gov .va.onecon sult.seoc. api.util.A piUtil; | |
31 | import gov .va.onecon sult.seoc. api.util.C onstants; | |
32 | ||
33 | /** | |
34 | * | |
35 | * @author AbleVets | |
36 | * | |
37 | */ | |
38 | public cla ss UserSer viceTest | |
39 | { | |
40 | @M ock | |
41 | pr ivate User Repository userRepos itory; | |
42 | ||
43 | @I njectMocks | |
44 | pr ivate User Service us erService = new User ServiceImp l(); | |
45 | ||
46 | @B efore | |
47 | pu blic void setUp() | |
48 | { | |
49 | ||
50 | Mock itoAnnotat ions.initM ocks(this) ; | |
51 | ||
52 | //Po werMockito .mockStati c(ApiUtil. class); | |
53 | } | |
54 | ||
55 | /* * | |
56 | * Descripti on: Return role if t he user ex ists | |
57 | * / | |
58 | @T est | |
59 | pu blic void getRoleByV aUserId_us erExists() | |
60 | { | |
61 | Stri ng role = "Administr ator"; | |
62 | String dom ain = " EXT "; | |
63 | String vaN etworkId = " AI "; | |
64 | String use rName = " AI "; | |
65 | ||
66 | User user = Se ocObjectGe nerator.ge tUser(1, u serName, v aNetworkId , domain, role, nu ll, new Da te(), null ); | |
67 | Stri ng vaUserI d = user.a ppendDomai nToNetwork Id(); | |
68 | ||
69 | Mock ito.when(u serReposit ory.findBy VaUserId(v aUserId)). thenReturn (user); | |
70 | ||
71 | Stri ng foundRo le = userS ervice.get RoleByVaUs erId(vaUse rId); | |
72 | ||
73 | asse rtThat(use r.getRole( )).isEqual To(foundRo le); | |
74 | ||
75 | Mock ito.verify (userRepos itory, Moc kito.times (1)).findB yVaUserId( Mockito.an yString()) ; | |
76 | Mock ito.verify NoMoreInte ractions(u serReposit ory); | |
77 | } | |
78 | ||
79 | /* * | |
80 | * Descripti on: Return null if n o user exi sts | |
81 | * / | |
82 | @T est | |
83 | pu blic void getRoleByV aUserId_us erDoesNotE xist() | |
84 | { | |
85 | String vaU serId = " EXT "+Constant s.DOMAIN_S EPARATOR+" Sys"; | |
86 | ||
87 | User user = nu ll; | |
88 | ||
89 | Mock ito.when(u serReposit ory.findBy VaUserId(v aUserId)). thenReturn (user); | |
90 | ||
91 | Stri ng foundRo le = userS ervice.get RoleByVaUs erId(vaUse rId); | |
92 | ||
93 | asse rtThat(fou ndRole).is Null(); | |
94 | ||
95 | Mock ito.verify (userRepos itory, Moc kito.times (1)).findB yVaUserId( Mockito.an yString()) ; | |
96 | Mock ito.verify NoMoreInte ractions(u serReposit ory); | |
97 | } | |
98 | ||
99 | /* * | |
100 | * Descripti on: Save n ew user su ccessfully | |
101 | * / | |
102 | @T est | |
103 | pu blic void saveUser_n ewUser() | |
104 | { | |
105 | Stri ng role = "Administr ator"; | |
106 | String vaN etworkId = " AI "; | |
107 | String use rName = " AI "; | |
108 | String dom ain = " EXT "; | |
109 | Date today = A piUtil.get UTCZoneDat eTime(new Date()); | |
110 | ||
111 | User beforeUse r = SeocOb jectGenera tor.getUse r(0, userN ame, vaNet workId, do main, rol e, null, t oday, null ); | |
112 | ||
113 | User afterUser = SeocObj ectGenerat or.getUser (1, userNa me, vaNetw orkId, dom ain, role , null, to day, null) ; | |
114 | ||
115 | Crea teUserRequ est userRe q = Create UserReques t.Builder. create() | |
116 | .withDom ain(domain ) | |
117 | .withUse rName(user Name) | |
118 | .withVaN etworkId(v aNetworkId ) | |
119 | .withRol e(role) | |
120 | .build() ; | |
121 | ||
122 | Mock ito.when(u serReposit ory.save(b eforeUser) ).thenRetu rn(afterUs er); | |
123 | Mock ito.when(u serReposit ory.findAc tiveUsers( )).thenRet urn(null); | |
124 | ||
125 | ||
126 | Seoc GenericRes ponse resp onse = use rService.s aveUser(us erReq); | |
127 | asse rtThat(res ponse.getS tatus()).i sEqualTo(C onstants.C REATED); | |
128 | asse rtThat(res ponse.getM essage()). isEqualTo( "Successfu lly saved User data" ); | |
129 | ||
130 | Argu mentCaptor <User> arg Captor = A rgumentCap tor.forCla ss(User.cl ass); | |
131 | Mock ito.verify (userRepos itory, Moc kito.times (1)).save( argCaptor. capture()) ; | |
132 | Mock ito.verify (userRepos itory, Moc kito.times (1)).findA ctiveUsers (); | |
133 | Mock ito.verify NoMoreInte ractions(u serReposit ory); | |
134 | ||
135 | } | |
136 | ||
137 | /* * | |
138 | * Descripti on: Update a user su ccessfully | |
139 | * / | |
140 | @T est | |
141 | pu blic void saveUser_u pdateUser( ) | |
142 | { | |
143 | Stri ng role = "Administr ator"; | |
144 | String vaN etworkIdBe fore = " A I
|
|
145 | String vaN etworkIdAf ter = " A I
|
|
146 | String use rNameBefor e = " AI "; | |
147 | String use rNameAfter = " AI "; | |
148 | String dom ain = " EXT "; | |
149 | Date today = A piUtil.get UTCZoneDat eTime(new Date()); | |
150 | ||
151 | User activeUse r = SeocOb jectGenera tor.getUse r(2, "User ", "VaNetw orkID", do main, rol e, null, t oday, null ); | |
152 | User beforeUse r = SeocOb jectGenera tor.getUse r(1, userN ameBefore, vaNetwork IdBefore, domain, ro le, null, today, nul l); | |
153 | ||
154 | Set< User> acti veUsers = new HashSe t<User>(); | |
155 | acti veUsers.ad d(activeUs er); | |
156 | acti veUsers.ad d(beforeUs er); | |
157 | ||
158 | User afterUser = SeocObj ectGenerat or.getUser (1, userNa meAfter, v aNetworkId After, dom ain, role , null, to day, today ); | |
159 | ||
160 | Crea teUserRequ est userRe q = Create UserReques t.Builder. create() | |
161 | .withPre vNetworkId (vaNetwork IdBefore) | |
162 | .withDom ain(domain ) | |
163 | .withUse rName(user NameAfter) | |
164 | .withVaN etworkId(v aNetworkId After) | |
165 | .withRol e(role) | |
166 | .build() ; | |
167 | ||
168 | Mock ito.when(u serReposit ory.save(b eforeUser) ).thenRetu rn(afterUs er); | |
169 | Mock ito.when(u serReposit ory.findBy VaNetworkI d(Constant s.DOMAIN_S EPARATOR+v aNetworkId Before)).t henReturn( beforeUser ); | |
170 | Mock ito.when(u serReposit ory.findAc tiveUsers( )).thenRet urn(active Users); | |
171 | ||
172 | Seoc GenericRes ponse resp onse = use rService.s aveUser(us erReq); | |
173 | asse rtThat(res ponse.getS tatus()).i sEqualTo(C onstants.U PDATED); | |
174 | asse rtThat(res ponse.getM essage()). isEqualTo( "Successfu lly saved User data" ); | |
175 | ||
176 | Argu mentCaptor <User> arg Captor = A rgumentCap tor.forCla ss(User.cl ass); | |
177 | Mock ito.verify (userRepos itory, Moc kito.times (1)).save( argCaptor. capture()) ; | |
178 | Mock ito.verify (userRepos itory, Moc kito.times (1)).findB yVaNetwork Id(Mockito .anyString ()); | |
179 | Mock ito.verify (userRepos itory, Moc kito.times (1)).findA ctiveUsers (); | |
180 | Mock ito.verify NoMoreInte ractions(u serReposit ory); | |
181 | ||
182 | } | |
183 | ||
184 | /* * | |
185 | * Descripti on: Saving user vali dation fai led. Valid ation is d one one ro le, domain , vaNetwor kId and us ername fie lds. | |
186 | * / | |
187 | @T est(expect ed = SeocC onstraintV iolationEx ception.cl ass) | |
188 | pu blic void saveUser_v alidationF ailure() | |
189 | { | |
190 | Stri ng role = "Admin"; | |
191 | Stri ng vaNetwo rkId = nul l; | |
192 | String use rName = " AI "; | |
193 | Stri ng domain = null; | |
194 | Date today = A piUtil.get UTCZoneDat eTime(new Date()); | |
195 | ||
196 | User beforeUse r = SeocOb jectGenera tor.getUse r(0, userN ame, vaNet workId, do main, role , null, to day, null) ; | |
197 | ||
198 | User afterUser = SeocObj ectGenerat or.getUser (1, userNa me, vaNetw orkId, dom ain, role , null, to day, null) ; | |
199 | ||
200 | Crea teUserRequ est userRe q = Create UserReques t.Builder. create() | |
201 | .withDom ain(domain ) | |
202 | .withUse rName(user Name) | |
203 | .withVaN etworkId(v aNetworkId ) | |
204 | .withRol e(role) | |
205 | .build() ; | |
206 | ||
207 | Mock ito.when(u serReposit ory.save(b eforeUser) ).thenRetu rn(afterUs er); | |
208 | ||
209 | Seoc GenericRes ponse resp onse = use rService.s aveUser(us erReq); | |
210 | ||
211 | asse rtThat(res ponse.getS tatus()).i sEqualTo(H ttpStatus. BAD_REQUES T); | |
212 | ||
213 | Argu mentCaptor <User> arg Captor = A rgumentCap tor.forCla ss(User.cl ass); | |
214 | Mock ito.verify (userRepos itory, Moc kito.times (1)).save( argCaptor. capture()) ; | |
215 | Mock ito.verify NoMoreInte ractions(u serReposit ory); | |
216 | ||
217 | } | |
218 | ||
219 | /* * | |
220 | * Descripti on: Create a new use r, found d uplicate u ser in DB | |
221 | * / | |
222 | @T est(expect ed = Busin essExcepti on.class) | |
223 | pu blic void saveNewUse r_duplicat eUserIsAct ive() | |
224 | { | |
225 | Stri ng role = "Administr ator"; | |
226 | String vaN etworkId = " AI "; | |
227 | String use rName = " AI "; | |
228 | String dom ain = " EXT "; | |
229 | Date today = A piUtil.get UTCZoneDat eTime(new Date()); | |
230 | ||
231 | User activeUse r = SeocOb jectGenera tor.getUse r(1, userN ame, vaNet workId, do main, rol e, null, t oday, null ); | |
232 | ||
233 | Set< User> acti veUsers = new HashSe t<User>(); | |
234 | acti veUsers.ad d(activeUs er); | |
235 | ||
236 | Crea teUserRequ est userRe q = Create UserReques t.Builder. create() | |
237 | .withDom ain(domain ) | |
238 | .withUse rName(user Name) | |
239 | .withVaN etworkId(v aNetworkId ) | |
240 | .withRol e(role) | |
241 | .build() ; | |
242 | ||
243 | Mock ito.when(u serReposit ory.findAc tiveUsers( )).thenRet urn(active Users); | |
244 | ||
245 | Seoc GenericRes ponse resp onse = use rService.s aveUser(us erReq); | |
246 | ||
247 | asse rtThat(res ponse.getS tatus()).i sEqualTo(H ttpStatus. BAD_REQUES T); | |
248 | ||
249 | Mock ito.verify (userRepos itory, Moc kito.times (1)).findA ctiveUsers (); | |
250 | Mock ito.verify NoMoreInte ractions(u serReposit ory); | |
251 | ||
252 | } | |
253 | ||
254 | /* * | |
255 | * Descripti on: Updati ng a User and there exists ano ther user which has same usern ame or net workid bei ng updated with | |
256 | * / | |
257 | @T est(expect ed = Busin essExcepti on.class) | |
258 | pu blic void saveUser_u pdateUser_ userExitsW ithSameNam e() | |
259 | { | |
260 | Stri ng role = "Administr ator"; | |
261 | String vaN etworkIdBe fore = " A I
|
|
262 | String vaN etworkIdAf ter = " A I
|
|
263 | String use rNameBefor e = " AI "; | |
264 | String use rNameAfter = " AI "; | |
265 | String dom ain = " EXT "; | |
266 | Date today = A piUtil.get UTCZoneDat eTime(new Date()); | |
267 | ||
268 | User activeUse r = SeocOb jectGenera tor.getUse r(2, userN ameAfter, vaNetworkI dAfter, do main, rol e, null, t oday, null ); | |
269 | User beforeUse r = SeocOb jectGenera tor.getUse r(1, userN ameBefore, vaNetwork IdBefore, domain, ro le, null, today, nul l); | |
270 | ||
271 | Set< User> acti veUsers = new HashSe t<User>(); | |
272 | acti veUsers.ad d(activeUs er); | |
273 | acti veUsers.ad d(beforeUs er); | |
274 | ||
275 | User afterUser = SeocObj ectGenerat or.getUser (1, userNa meAfter, v aNetworkId After, dom ain, role , null, to day, today ); | |
276 | ||
277 | Crea teUserRequ est userRe q = Create UserReques t.Builder. create() | |
278 | .withPre vNetworkId (vaNetwork IdBefore) | |
279 | .withDom ain(domain ) | |
280 | .withUse rName(user NameAfter) | |
281 | .withVaN etworkId(v aNetworkId After) | |
282 | .withRol e(role) | |
283 | .build() ; | |
284 | ||
285 | Mock ito.when(u serReposit ory.save(b eforeUser) ).thenRetu rn(afterUs er); | |
286 | Mock ito.when(u serReposit ory.findBy VaNetworkI d(Constant s.DOMAIN_S EPARATOR+v aNetworkId Before)).t henReturn( beforeUser ); | |
287 | Mock ito.when(u serReposit ory.findAc tiveUsers( )).thenRet urn(active Users); | |
288 | ||
289 | Seoc GenericRes ponse resp onse = use rService.s aveUser(us erReq); | |
290 | asse rtThat(res ponse.getS tatus()).i sEqualTo(C onstants.U PDATED); | |
291 | asse rtThat(res ponse.getM essage()). isEqualTo( "Successfu lly saved User data" ); | |
292 | ||
293 | Argu mentCaptor <User> arg Captor = A rgumentCap tor.forCla ss(User.cl ass); | |
294 | Mock ito.verify (userRepos itory, Moc kito.times (1)).save( argCaptor. capture()) ; | |
295 | Mock ito.verify (userRepos itory, Moc kito.times (1)).findB yVaNetwork Id(Mockito .anyString ()); | |
296 | Mock ito.verify (userRepos itory, Moc kito.times (1)).findA ctiveUsers (); | |
297 | Mock ito.verify NoMoreInte ractions(u serReposit ory); | |
298 | ||
299 | } | |
300 | ||
301 | /* * | |
302 | * Descripti on: Test s uccessful delete. | |
303 | * Also Test s | |
304 | * 1.Success ful find f rom method getUserBy VaNetworkI d() throug h deleteUs er() | |
305 | * 2.Success ful Save b y Save() m ethod | |
306 | * / | |
307 | @T est | |
308 | pu blic void deleteUser _success() | |
309 | { | |
310 | Stri ng role = "Admin"; | |
311 | String use rName = " AI "; | |
312 | String dom ain = " EXT "; | |
313 | String vaN etworkId = "
|
|
314 | Stri ng vaUserI d = domain + Constan ts.DOMAIN_ SEPARATOR + vaNetwor kId; | |
315 | Date today = A piUtil.tod ay_UTC(); | |
316 | ||
317 | User beforeUse r = SeocOb jectGenera tor.getUse r(1, userN ame, vaUse rId, role, null, tod ay, null); | |
318 | ||
319 | User afterUser = SeocObj ectGenerat or.getUser (1, userNa me, vaUser Id, role, today, tod ay, today) ; | |
320 | ||
321 | Mock ito.when(u serReposit ory.findBy VaNetworkI d(Constant s.DOMAIN_S EPARATOR + vaNetwork Id)).thenR eturn(befo reUser); | |
322 | ||
323 | Mock ito.when(u serReposit ory.save(b eforeUser) ).thenRetu rn(afterUs er); | |
324 | ||
325 | Seoc GenericRes ponse resp onse = use rService.d eleteUser( vaNetworkI d); | |
326 | ||
327 | asse rtThat(res ponse.getS tatus()).i sEqualTo(C onstants.S UCCESS); | |
328 | ||
329 | Argu mentCaptor <User> arg Captor = A rgumentCap tor.forCla ss(User.cl ass); | |
330 | Mock ito.verify (userRepos itory, Moc kito.times (1)).save( argCaptor. capture()) ; | |
331 | Mock ito.verify (userRepos itory, Moc kito.times (1)).findB yVaNetwork Id(Mockito .anyString ()); | |
332 | Mock ito.verify NoMoreInte ractions(u serReposit ory); | |
333 | } | |
334 | ||
335 | /* * | |
336 | * Descripti on:Test us er not fou nd during delete. | |
337 | * Also Test s | |
338 | * 1.Failure of find f rom method getUserBy VaNetworkI d() throug h deleteUs er() | |
339 | * / | |
340 | @T est | |
341 | pu blic void deleteUser _NotFound( ) | |
342 | { | |
343 | String vaN etworkId = "
|
|
344 | User beforeUse r = null; | |
345 | ||
346 | Mock ito.when(u serReposit ory.findBy VaNetworkI d(Constant s.DOMAIN_S EPARATOR + vaNetwork Id)).thenR eturn(befo reUser); | |
347 | ||
348 | Seoc GenericRes ponse resp onse = use rService.d eleteUser( vaNetworkI d); | |
349 | ||
350 | asse rtThat(res ponse.getS tatus()).i sEqualTo(C onstants.F AILURE); | |
351 | asse rtThat(res ponse.getA ction()).i sEqualTo(C onstants.N OTFOUND); | |
352 | ||
353 | Mock ito.verify (userRepos itory, Moc kito.times (1)).findB yVaNetwork Id(Mockito .anyString ()); | |
354 | Mock ito.verify NoMoreInte ractions(u serReposit ory); | |
355 | } | |
356 | ||
357 | } |
Araxis Merge (but not the data content of this report) is Copyright © 1993-2016 Araxis Ltd (www.araxis.com). All rights reserved.