Produced by Araxis Merge on 10/3/2017 11:16:02 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 | ehmp.zip\ehmp\ehmp\product\production\vx-sync\tests\integrationtests\utils\osync | osync-active-user-list-util-itest-spec.js | Mon Aug 28 20:41:42 2017 UTC |
| 2 | ehmp.zip\ehmp\ehmp\product\production\vx-sync\tests\integrationtests\utils\osync | osync-active-user-list-util-itest-spec.js | Tue Oct 3 13:12:22 2017 UTC |
| Description | Between Files 1 and 2 |
|
|---|---|---|
| Text Blocks | Lines | |
| Unchanged | 6 | 654 |
| Changed | 5 | 18 |
| 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 | 'use stric t'; | |
| 2 | ||
| 3 | require('. ./../../.. /env-setup '); | |
| 4 | ||
| 5 | var _ = re quire('und erscore'); | |
| 6 | var moment = require ('moment') ; | |
| 7 | ||
| 8 | var logger = require (global.VX _DUMMIES + 'dummy-lo gger'); | |
| 9 | // NOTE: b e sure nex t lines ar e commente d out befo re pushing | |
| 10 | // var log Util = req uire(globa l.VX_UTILS + 'log'); | |
| 11 | // logger = logUtil. _createLog ger({ | |
| 12 | // nam e: 'test', | |
| 13 | // lev el: 'debug ', | |
| 14 | // chi ld: logUti l._createL ogger | |
| 15 | // }); | |
| 16 | ||
| 17 | var getBea nstalkConf ig = requi re(global. VX_INTTEST S + 'frame work/handl er-test-fr amework'). getBeansta lkConfig; | |
| 18 | var update Tubenames = require( global.VX_ INTTESTS + 'framewor k/handler- test-frame work').upd ateTubenam es; | |
| 19 | var getTub enames = r equire(glo bal.VX_INT TESTS + 'f ramework/h andler-tes t-framewor k').getTub enames; | |
| 20 | var clearT ubes = req uire(globa l.VX_INTTE STS + 'fra mework/han dler-test- framework' ).clearTub es; | |
| 21 | var grabJo bs = requi re(global. VX_INTTEST S + 'frame work/job-g rabber'); | |
| 22 | var PjdsCl ient = req uire(globa l.VX_SUBSY STEMS + 'j ds/pjds-cl ient'); | |
| 23 | var JdsCli ent = requ ire(global .VX_SUBSYS TEMS + 'jd s/jds-clie nt'); | |
| 24 | var wConfi g = requir e(global.V X_ROOT + ' worker-con fig'); | |
| 25 | var val = require(gl obal.VX_UT ILS + 'obj ect-utils' ).getPrope rty; | |
| 26 | var Publis herRouter = require( global.VX_ JOBFRAMEWO RK).Publis herRouter; | |
| 27 | var OSyncA ctiveUserL istUtil = require(gl obal.OSYNC _UTILS + ' osync-acti ve-user-li st-util'); | |
| 28 | ||
| 29 | var testCo nfig = req uire(globa l.VX_INTTE STS + 'tes t-config') ; | |
| 30 | var host = testConfi g.vxsyncIP ; | |
| 31 | var port = PORT ; | |
| 32 | ||
| 33 | var tubePr efix = 'os ync-active -user-list -util-ites t'; | |
| 34 | var jobTyp e = 'patie ntlist'; | |
| 35 | var tubena mes; | |
| 36 | var publis herRouter; | |
| 37 | ||
| 38 | describe(' osync-acti ve-user-li st-util-it est-spec.j s', functi on() { | |
| 39 | ||
| 40 | functi on setUpAc tiveUsers( environmen t, pjdsUse r, userScr eenUser) { | |
| 41 | va r pjdsDone = !pjdsUs er; | |
| 42 | va r jdsDone = !userScr eenUser; | |
| 43 | ||
| 44 | ru ns(functio n() { | |
| 45 | if (!pjd sDone) { | |
| 46 | envi ronment.pj ds.addActi veUser(pjd sUser, fun ction(erro r, respons e) { | |
| 47 | if (error) { | |
| 48 | expect (error).to BeFalsy(); | |
| 49 | } | |
| 50 | ||
| 51 | expect(res ponse.stat usCode).to Be(201); | |
| 52 | pjdsDone = true; | |
| 53 | }); | |
| 54 | } | |
| 55 | ||
| 56 | if (!jds Done) { | |
| 57 | envi ronment.jd s.getActiv eUsers(fun ction(erro r, respons e, result) { | |
| 58 | if (error) { | |
| 59 | expect (error).to BeFalsy(); | |
| 60 | } | |
| 61 | ||
| 62 | expect(res ponse.stat usCode).to Be(200); | |
| 63 | expect(_.i sEmpty(res ult)).toBe Falsy(); | |
| 64 | ||
| 65 | var users = val(resu lt, 'users ') || []; | |
| 66 | users.push (userScree nUser); | |
| 67 | ||
| 68 | environmen t.jds.save ActiveUser s(users, f unction(er ror, respo nse) { | |
| 69 | if (er ror) { | |
| 70 | ex pect(error ).toBeFals y(); | |
| 71 | } | |
| 72 | ||
| 73 | expect (response. statusCode ).toBe(200 ); | |
| 74 | jdsDon e++; | |
| 75 | }); | |
| 76 | }); | |
| 77 | } | |
| 78 | }) ; | |
| 79 | ||
| 80 | wa itsFor(fun ction() { | |
| 81 | return p jdsDone && jdsDone; | |
| 82 | }, 'set up', 20000); | |
| 83 | } | |
| 84 | ||
| 85 | functi on cleanUp ActiveUser s(environm ent, pjdsU ser, userS creenUser) { | |
| 86 | va r pjdsDone = !pjdsUs er; | |
| 87 | va r jdsDone = !userScr eenUser; | |
| 88 | ||
| 89 | ru ns(functio n() { | |
| 90 | if (!pjd sDone) { | |
| 91 | envi ronment.pj ds.removeA ctiveUser( pjdsUser.u id, functi on(error, response) { | |
| 92 | expect(err or).toBeFa lsy(); | |
| 93 | expect(res ponse.stat usCode).to Be(200); | |
| 94 | pjdsDone = true; | |
| 95 | }); | |
| 96 | } | |
| 97 | if (!jds Done) { | |
| 98 | envi ronment.jd s.getActiv eUsers(fun ction(erro r, respons e, result) { | |
| 99 | if (error) { | |
| 100 | expect (error).to BeFalsy(); | |
| 101 | } | |
| 102 | ||
| 103 | expect(res ponse.stat usCode).to Be(200); | |
| 104 | expect(_.i sEmpty(res ult)).toBe Falsy(); | |
| 105 | ||
| 106 | result.use rs = _.rej ect(result .users, fu nction(use r) { | |
| 107 | return user.uid === userSc reenUser.u id; | |
| 108 | }); | |
| 109 | ||
| 110 | environmen t.jds.save ActiveUser s(result.u sers, func tion(error , response ) { | |
| 111 | if (er ror) { | |
| 112 | ex pect(error ).toBeFals y(); | |
| 113 | } | |
| 114 | ||
| 115 | expect (response. statusCode ).toBe(200 ); | |
| 116 | jdsDon e = true; | |
| 117 | }); | |
| 118 | }); | |
| 119 | } | |
| 120 | }) ; | |
| 121 | ||
| 122 | wa itsFor(fun ction() { | |
| 123 | return p jdsDone && jdsDone; | |
| 124 | }, 'clean up ', 20000); | |
| 125 | } | |
| 126 | ||
| 127 | functi on cleanUp Tubes(){ | |
| 128 | lo gger.debug ('osync-ac tive-user- list-util- itest-spec : Cleaning up...'); | |
| 129 | if (publishe rRouter) { | |
| 130 | publishe rRouter.cl ose(); | |
| 131 | } | |
| 132 | ||
| 133 | va r cleared = 0; | |
| 134 | ||
| 135 | gr abJobs(log ger, host, port, tub enames, 0, function( ) { | |
| 136 | cleared+ +; | |
| 137 | logger.d ebug('osyn c-active-u ser-list-u til-itest- spec: **** grabJobs callback w as called. '); | |
| 138 | }) ; | |
| 139 | ||
| 140 | cl earTubes(l ogger, hos t, port, t ubenames, function() { | |
| 141 | cleared+ +; | |
| 142 | logger.d ebug('osyn c-active-u ser-list-u til-itest- spec: **** clearTube callback was called .'); | |
| 143 | }) ; | |
| 144 | ||
| 145 | wa itsFor(fun ction() { | |
| 146 | return c leared === 2; | |
| 147 | }, 'clear jo bs timed o ut', 10000 ); | |
| 148 | ||
| 149 | ru ns(functio n() { | |
| 150 | logger.d ebug('osyn c-active-u ser-list-u til-itest- spec: **** test comp lete.'); | |
| 151 | }) ; | |
| 152 | } | |
| 153 | ||
| 154 | it('ge tActiveUse rs', funct ion() { | |
| 155 | va r config = { | |
| 156 | pjds: _. defaults(w Config.pjd s, { | |
| 157 | prot ocol: 'htt p', | |
| 158 | host: ' IP ', | |
| 159 | port: PORT | |
| 160 | }), | |
| 161 | jds: _.d efaults(wC onfig.jds, { | |
| 162 | prot ocol: 'htt p', | |
| 163 | host: ' IP ', | |
| 164 | port: PORT | |
| 165 | }), | |
| 166 | osync: { | |
| 167 | mixe dEnvironme ntMode: tr ue | |
| 168 | } | |
| 169 | }; | |
| 170 | ||
| 171 | va r pjds = n ew PjdsCli ent(logger , logger, config); | |
| 172 | va r jds = ne w JdsClien t(logger, logger, co nfig); | |
| 173 | ||
| 174 | va r environm ent = { | |
| 175 | jds: jds , | |
| 176 | pjds: pj ds | |
| 177 | }; | |
| 178 | ||
| 179 | va r pjdsUser = { | |
| 180 | uid: 'ur n:va:user: 9E7A:33', | |
| 181 | site: '9 E7A', | |
| 182 | id: '33' , | |
| 183 | lastSucc essfulLogi n: moment( ).format(' YYYYMMDDHH mmss') | |
| 184 | }; | |
| 185 | ||
| 186 | va r userScre enUser = { | |
| 187 | duz: { | |
| 188 | '9E7 A': '34' | |
| 189 | }, | |
| 190 | uid: 'ur n:va:user: 9E7A:34', | |
| 191 | site: '9 E7A', | |
| 192 | id: '34' , | |
| 193 | lastlogi n: moment( ).format() | |
| 194 | }; | |
| 195 | ||
| 196 | se tUpActiveU sers(envir onment, pj dsUser, us erScreenUs er); | |
| 197 | ||
| 198 | va r testDone ; | |
| 199 | ||
| 200 | ru ns(functio n() { | |
| 201 | var osyn cActiveUse rListUtil = new OSyn cActiveUse rListUtil( logger, co nfig, envi ronment); | |
| 202 | osyncAct iveUserLis tUtil.getA ctiveUsers (function( error, use rs) { | |
| 203 | expe ct(error). toBeFalsy( ); | |
| 204 | expe ct(users.l ength >= 2 ).toBe(tru e); | |
| 205 | expe ct(users). toContain( jasmine.ob jectContai ning({ | |
| 206 | 'uid': 'ur n:va:user: 9E7A:33' | |
| 207 | })); | |
| 208 | expe ct(users). toContain( jasmine.ob jectContai ning({ | |
| 209 | 'uid': 'ur n:va:user: 9E7A:34' | |
| 210 | })); | |
| 211 | test Done = tru e; | |
| 212 | }); | |
| 213 | }) ; | |
| 214 | ||
| 215 | wa itsFor(fun ction() { | |
| 216 | return t estDone; | |
| 217 | }, 'test com plete', 20 000); | |
| 218 | ||
| 219 | cl eanUpActiv eUsers(env ironment, pjdsUser, userScreen User); | |
| 220 | }); | |
| 221 | ||
| 222 | it('re trieveAndP rocessActi veUserList ', functio n() { | |
| 223 | va r config = { | |
| 224 | pjds: _. defaults(w Config.pjd s, { | |
| 225 | prot ocol: 'htt p', | |
| 226 | host: ' IP ', | |
| 227 | port: PORT | |
| 228 | }), | |
| 229 | jds: _.d efaults(wC onfig.jds, { | |
| 230 | prot ocol: 'htt p', | |
| 231 | host: ' IP ', | |
| 232 | port: PORT | |
| 233 | }), | |
| 234 | osync: { | |
| 235 | mixe dEnvironme ntMode: tr ue | |
| 236 | } | |
| 237 | }; | |
| 238 | ||
| 239 | ||
| 240 | va r pjds = n ew PjdsCli ent(logger , logger, config); | |
| 241 | va r jds = ne w JdsClien t(logger, logger, co nfig); | |
| 242 | ||
| 243 | va r environm ent = { | |
| 244 | jds: jds , | |
| 245 | pjds: pj ds | |
| 246 | }; | |
| 247 | ||
| 248 | va r pjdsUser = { | |
| 249 | uid: 'ur n:va:user: WXYZ:43', | |
| 250 | site: 'W XYZ', | |
| 251 | id: '43' , | |
| 252 | lastSucc essfulLogi n: moment( ).format(' YYYYMMDDHH mmss') | |
| 253 | }; | |
| 254 | ||
| 255 | va r userScre enUser = { | |
| 256 | duz: { | |
| 257 | 'WXY Z': '44' | |
| 258 | }, | |
| 259 | uid: 'ur n:va:user: WXYZ:44', | |
| 260 | site: 'W XYZ', | |
| 261 | id: '44' , | |
| 262 | lastlogi n: moment( ).format() | |
| 263 | }; | |
| 264 | ||
| 265 | va r referenc eInfo = { | |
| 266 | sessionI d: 'TEST', | |
| 267 | utilityT ype: 'osyn c-active-u ser-list' | |
| 268 | }; | |
| 269 | ||
| 270 | se tUpActiveU sers(envir onment, pj dsUser, us erScreenUs er); | |
| 271 | ||
| 272 | va r beanstal kConfig = getBeansta lkConfig(c onfig, hos t, port, t ubePrefix + '-' + jo bType); | |
| 273 | up dateTubena mes(beanst alkConfig) ; | |
| 274 | ||
| 275 | tu benames = getTubenam es(beansta lkConfig, [jobType]) ; | |
| 276 | ||
| 277 | co nfig.beans talk = bea nstalkConf ig; | |
| 278 | ||
| 279 | en vironment. jobStatusU pdater = { | |
| 280 | createJo bStatus: f unction(jo b, callbac k) { | |
| 281 | call back(); | |
| 282 | }, | |
| 283 | errorJob Status: fu nction(job , error, c allback) { | |
| 284 | call back(); | |
| 285 | } | |
| 286 | }; | |
| 287 | ||
| 288 | en vironment. publisherR outer = ne w Publishe rRouter(lo gger, conf ig, logger , environm ent.jobSta tusUpdater ); | |
| 289 | pu blisherRou ter = envi ronment.pu blisherRou ter; | |
| 290 | ||
| 291 | va r testDone ; | |
| 292 | ru ns(functio n() { | |
| 293 | var osyn cActiveUse rListUtil = new OSyn cActiveUse rListUtil( logger, co nfig, envi ronment); | |
| 294 | ||
| 295 | osyncAct iveUserLis tUtil.retr ieveAndPro cessActive UserList(r eferenceIn fo, functi on(error, userCount) { | |
| 296 | expe ct(error). toBeFalsy( ); | |
| 297 | expe ct(userCou nt).toBeTr uthy(); | |
| 298 | expe ct(userCou nt).toBeGr eaterThan( 1); | |
| 299 | ||
| 300 | if ( error) { | |
| 301 | testDone = true; | |
| 302 | return; | |
| 303 | } | |
| 304 | ||
| 305 | grab Jobs(logge r, host, p ort, tuben ames, 1, f unction(er ror, jobs) { | |
| 306 | expect(err or).toBeFa lsy(); | |
| 307 | ||
| 308 | var result JobTypes = _.chain(j obs).map(f unction(re sult) { | |
| 309 | return result.jo bs; | |
| 310 | }).flatten ().pluck(' type').val ue(); | |
| 311 | ||
| 312 | expect(val (resultJob Types, 'le ngth')).to BeGreaterT han(1); | |
| 313 | expect(res ultJobType s).toConta in(jobType ); | |
| 314 | ||
| 315 | var result JobReferen ceInfo = _ .map(val(j obs, ['0', 'jobs']), function(j ob){ | |
| 316 | return job.refer enceInfo; | |
| 317 | }); | |
| 318 | ||
| 319 | expect(res ultJobRefe renceInfo. length).to BeGreaterT han(1); | |
| 320 | _.each(res ultJobRefe renceInfo, function( item){ | |
| 321 | expect (item).toE qual(jasmi ne.objectC ontaining( referenceI nfo)); | |
| 322 | }); | |
| 323 | ||
| 324 | testDone = true; | |
| 325 | }); | |
| 326 | }); | |
| 327 | }) ; | |
| 328 | ||
| 329 | wa itsFor(fun ction() { | |
| 330 | return t estDone; | |
| 331 | }) ; | |
| 332 | ||
| 333 | cl eanUpActiv eUsers(env ironment, pjdsUser, userScreen User); | |
| 334 | cl eanUpTubes (); | |
| 335 | }); | |
| 336 | }); |
Araxis Merge (but not the data content of this report) is Copyright © 1993-2016 Araxis Ltd (www.araxis.com). All rights reserved.