886. EPMO Open Source Coordination Office Redaction File Detail Report

Produced by Araxis Merge on 10/3/2017 11:16:03 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.

886.1 Files compared

# Location File Last Modified
1 ehmp.zip\ehmp\ehmp\product\production\vx-sync\tests\unittests\handlers\osync\admissions admissions-spec.js Fri Jul 28 14:07:44 2017 UTC
2 ehmp.zip\ehmp\ehmp\product\production\vx-sync\tests\unittests\handlers\osync\admissions admissions-spec.js Tue Oct 3 13:18:23 2017 UTC

886.2 Comparison summary

Description Between
Files 1 and 2
Text Blocks Lines
Unchanged 3 996
Changed 2 16
Inserted 0 0
Removed 0 0

886.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

886.4 Active regular expressions

No regular expressions were active.

886.5 Comparison detail

  1   'use stric t';
  2   /* global  describe,  it, before Each, spyO n, expect,  runs, wai tsFor */
  3  
  4   require('. ./../../.. /../env-se tup');
  5   var logger  = require (global.VX _DUMMIES +  'dummy-lo gger');
  6   // NOTE: b e sure nex t lines ar e commente d out befo re pushing
  7   // var log Util = req uire(globa l.VX_UTILS  + 'log');
  8   // var log ger = logU til._creat eLogger({
  9   //     nam e: 'osync- admissions ',
  10   //     lev el: 'debug ',
  11   //     chi ld: logUti l._createL ogger
  12   // });
  13  
  14   var handle r = requir e(global.V X_HANDLERS  + 'osync/ admissions /admission s');
  15   var Router  = require (global.VX _DUMMIES +  'publishe rRouterDum my');
  16   var Publis her = requ ire(global .VX_DUMMIE S + 'publi sherDummy' );
  17   var Update r = requir e(global.V X_DUMMIES  + 'JobStat usUpdaterD ummy');
  18   var VistaC lientDummy  = require (global.VX _DUMMIES +  'vista-cl ient-dummy ');
  19  
  20   var mockHa ndlerCallb ack = {
  21       callba ck: functi on(error,  response)  {}
  22   };
  23  
  24   describe(' osync-admi ssion-hand ler.js', f unction()  {
  25       descri be('admiss ion.handle ', functio n() {
  26           //  globally  used varia bles
  27           va r job = {} ;
  28           va r mockConf ig = null;
  29           va r mockEnvi ronment =  null;
  30           va r mockRPCC onfig = {
  31                'name':  "panorama" ,
  32                  'host': ' IP          ',
  33                  'port':  PORT ,
  34                  'accessCod e': ' REDACTED ',
  35                  'verifyCod e': ' REDACTED ',
  36                'localIP ': '127.0. 0.1',
  37                'station Number': 5 00,
  38                'localAd dress': 'l ocalhost',
  39                'connect Timeout':  3000,
  40                'sendTim eout': 200 00
  41           };
  42  
  43           be foreEach(f unction()  {
  44                spyOn(mo ckHandlerC allback, ' callback') ;
  45           }) ;
  46  
  47           it ('error co ndition: n o job type  passed',  function()  {
  48                var done  = false;
  49  
  50                runs(fun ction() {
  51  
  52  
  53                    hand ler(logger , mockConf ig, mockEn vironment,  job, func tion(err)  {
  54                         expect(err ).toEqual( {
  55                             'type' : 'fatal-e xception',
  56                             'messa ge': 'admi ssions.val idate: Cou ld not fin d job type '
  57                         });
  58                         done = tru e;
  59                         mockHandle rCallback. callback() ;
  60                    });
  61                });
  62  
  63                waitsFor (function( ) {
  64                    retu rn done;
  65                }, 'Call back not c alled', 10 0);
  66  
  67                runs(fun ction() {
  68                    expe ct(mockHan dlerCallba ck.callbac k).toHaveB eenCalled( );
  69                });
  70           }) ;
  71  
  72           it ('error co ndition: e mpty strin g for job  type passe d', functi on() {
  73                var done  = false;
  74  
  75                runs(fun ction() {
  76                    job. type = '';
  77  
  78                    hand ler(logger , mockConf ig, mockEn vironment,  job, func tion(err)  {
  79                         expect(err ).toEqual( {
  80                             'type' : 'fatal-e xception',
  81                             'messa ge': 'admi ssions.val idate: Cou ld not fin d job type '
  82                         });
  83                         done = tru e;
  84                         mockHandle rCallback. callback() ;
  85                    });
  86                });
  87  
  88                waitsFor (function( ) {
  89                    retu rn done;
  90                }, 'Call back not c alled', 10 0);
  91  
  92                runs(fun ction() {
  93                    expe ct(mockHan dlerCallba ck.callbac k).toHaveB eenCalled( );
  94                });
  95           }) ;
  96  
  97           it ('error co ndition: w rong job t ype passed ', functio n() {
  98                var done  = false;
  99  
  100                runs(fun ction() {
  101                    job. type = 'cd s-xform-vp r';
  102  
  103                    hand ler(logger , mockConf ig, mockEn vironment,  job, func tion(err)  {
  104                         expect(err ).toEqual( {
  105                             'type' : 'fatal-e xception',
  106                             'messa ge': 'admi ssions.val idate: job  type was  not admiss ions'
  107                         });
  108                         done = tru e;
  109                         mockHandle rCallback. callback() ;
  110                    });
  111                });
  112  
  113                waitsFor (function( ) {
  114                    retu rn done;
  115                }, 'Call back not c alled', 10 0);
  116  
  117                runs(fun ction() {
  118                    expe ct(mockHan dlerCallba ck.callbac k).toHaveB eenCalled( );
  119                });
  120           }) ;
  121  
  122           it ('error co ndition: n o site pas sed', func tion() {
  123                var done  = false;
  124  
  125                runs(fun ction() {
  126                    job. type = 'ad missions';
  127  
  128                    hand ler(logger , mockConf ig, mockEn vironment,  job, func tion(err)  {
  129                         expect(err ).toEqual( {
  130                             'type' : 'fatal-e xception',
  131                             'messa ge': 'admi ssions.val idate: Cou ld not fin d job site '
  132                         });
  133                         done = tru e;
  134                         mockHandle rCallback. callback() ;
  135                    });
  136                });
  137  
  138                waitsFor (function( ) {
  139                    retu rn done;
  140                }, 'Call back not c alled', 10 0);
  141  
  142                runs(fun ction() {
  143                    expe ct(mockHan dlerCallba ck.callbac k).toHaveB eenCalled( );
  144                });
  145           }) ;
  146  
  147           it ('error co ndition: e mpty strin g for site  passed',  function()  {
  148                var done  = false;
  149  
  150                runs(fun ction() {
  151                    job. type = 'ad missions';
  152                    job. siteId = ' ';
  153  
  154                    hand ler(logger , mockConf ig, mockEn vironment,  job, func tion(err)  {
  155                         expect(err ).toEqual( {
  156                             'type' : 'fatal-e xception',
  157                             'messa ge': 'admi ssions.val idate: Cou ld not fin d job site '
  158                         });
  159                         done = tru e;
  160                         mockHandle rCallback. callback() ;
  161                    });
  162                });
  163  
  164                waitsFor (function( ) {
  165                    retu rn done;
  166                }, 'Call back not c alled', 10 0);
  167  
  168                runs(fun ction() {
  169                    expe ct(mockHan dlerCallba ck.callbac k).toHaveB eenCalled( );
  170                });
  171           }) ;
  172  
  173           it ('error co ndition: n ull config uration pa ssed', fun ction() {
  174                var done  = false;
  175  
  176                runs(fun ction() {
  177                    job. type = 'ad missions';
  178                    job. siteId = ' ASDF';
  179  
  180                    hand ler(logger , mockConf ig, mockEn vironment,  job, func tion(err)  {
  181                         expect(err ).toEqual( {
  182                             'type' : 'fatal-e xception',
  183                             'messa ge': 'admi ssions.han dle: Inval id configu ration pas sed'
  184                         });
  185                         done = tru e;
  186                         mockHandle rCallback. callback() ;
  187                    });
  188                });
  189  
  190                waitsFor (function( ) {
  191                    retu rn done;
  192                }, 'Call back not c alled', 10 0);
  193  
  194                runs(fun ction() {
  195                    expe ct(mockHan dlerCallba ck.callbac k).toHaveB eenCalled( );
  196                });
  197           }) ;
  198  
  199           it ('error co ndition: n ull vistaS ites confi guration p assed', fu nction() {
  200                var done  = false;
  201  
  202                runs(fun ction() {
  203                    job. type = 'ad missions';
  204                    job. siteId = ' ASDF';
  205  
  206                    mock Config = { };
  207                    mock Config.vis taSites =  null;
  208  
  209                    hand ler(logger , mockConf ig, mockEn vironment,  job, func tion(err)  {
  210                         expect(err ).toEqual( {
  211                             'type' : 'fatal-e xception',
  212                             'messa ge': 'admi ssions.han dle: No Vi stA site c onfigurati on found'
  213                         });
  214                         done = tru e;
  215                         mockHandle rCallback. callback() ;
  216                    });
  217                });
  218  
  219                waitsFor (function( ) {
  220                    retu rn done;
  221                }, 'Call back not c alled', 10 0);
  222  
  223                runs(fun ction() {
  224                    expe ct(mockHan dlerCallba ck.callbac k).toHaveB eenCalled( );
  225                });
  226           }) ;
  227  
  228           it ('error co ndition: V istA site  not found  in config' , function () {
  229                var done  = false;
  230  
  231                runs(fun ction() {
  232                    job. type = 'ad missions';
  233                    job. siteId = ' ASDF';
  234  
  235                    mock Config = { };
  236                    mock Config.vis taSites =  {};
  237                    mock Config.vis taSites['9 E7A'] = mo ckRPCConfi g;
  238  
  239                    hand ler(logger , mockConf ig, mockEn vironment,  job, func tion(err)  {
  240                         expect(err ).toEqual( {
  241                             'type' : 'fatal-e xception',
  242                             'messa ge': 'admi ssions.han dle: No RP C configur ation for  site ASDF'
  243                         });
  244                         done = tru e;
  245                         mockHandle rCallback. callback() ;
  246                    });
  247                });
  248  
  249                waitsFor (function( ) {
  250                    retu rn done;
  251                }, 'Call back not c alled', 10 0);
  252  
  253                runs(fun ction() {
  254                    expe ct(mockHan dlerCallba ck.callbac k).toHaveB eenCalled( );
  255                });
  256           }) ;
  257  
  258           it ('error co ndition: r pcConfig n ot found i n config',  function( ) {
  259                var done  = false;
  260  
  261                runs(fun ction() {
  262                    job. type = 'ad missions';
  263                    job. siteId = ' ASDF';
  264  
  265                    mock Config = { };
  266                    mock Config.vis taSites =  {};
  267                    mock Config.vis taSites['A SDF'] = mo ckRPCConfi g;
  268  
  269                    hand ler(logger , mockConf ig, mockEn vironment,  job, func tion(err)  {
  270                         expect(err ).toEqual( {
  271                             'type' : 'fatal-e xception',
  272                             'messa ge': 'admi ssions.han dle: No RP C context  found in c onfigurati on'
  273                         });
  274                         done = tru e;
  275                         mockHandle rCallback. callback() ;
  276                    });
  277                });
  278  
  279                waitsFor (function( ) {
  280                    retu rn done;
  281                }, 'Call back not c alled', 10 0);
  282  
  283                runs(fun ction() {
  284                    expe ct(mockHan dlerCallba ck.callbac k).toHaveB eenCalled( );
  285                });
  286           }) ;
  287       });
  288       descri be('admiss ion.handle : Happy pa ths', func tion() {
  289           //  globally  used varia bles
  290           va r job = {} ;
  291           va r mockConf ig = {};
  292           mo ckConfig.v istaSites  = {};
  293  
  294           va r mockRPCC onfig = {
  295                'name':  "panorama" ,
  296                  'host': ' IP          ',
  297                  'port':  PORT ,
  298                  'accessCod e': ' REDACTED ',
  299                  'verifyCod e': ' REDACTED ',
  300                'localIP ': '127.0. 0.1',
  301                'station Number': 5 00,
  302                'localAd dress': 'l ocalhost',
  303                'connect Timeout':  3000,
  304                'sendTim eout': 200 00
  305           };
  306  
  307           be foreEach(f unction()  {
  308                spyOn(mo ckHandlerC allback, ' callback') ;
  309           }) ;
  310  
  311           it ('Happy pa th: correc t job sent  to handle r (numeric  site)', f unction()  {
  312                var done  = false;
  313  
  314                runs(fun ction() {
  315                    job. type = 'ad missions';
  316                    job. siteId = ' 1234';
  317  
  318                    mock Config.vis taSites['1 234'] = mo ckRPCConfi g;
  319                    mock Config.rpc Context =  'HMP SYNCH RONIZATION  CONTEXT';
  320  
  321                    var  mockPublis her = new  Publisher( logger, mo ckConfig,  job.type);
  322                    var  environmen t = {
  323                         vistaClien t: new Vis taClientDu mmy(logger , mockConf ig, null),
  324                         publisherR outer: new  Router(lo gger, mock Config, Up dater, moc kPublisher )
  325                    };
  326  
  327                    hand ler(logger , mockConf ig, enviro nment, job , function (err) {
  328                         expect(err ).toBeFals y();
  329                         done = tru e;
  330                         mockHandle rCallback. callback() ;
  331                    });
  332                });
  333  
  334                waitsFor (function( ) {
  335                    retu rn done;
  336                }, 'Call back not c alled', 10 0);
  337  
  338                runs(fun ction() {
  339                    expe ct(mockHan dlerCallba ck.callbac k).toHaveB eenCalled( );
  340                });
  341           }) ;
  342  
  343           it ('Happy pa th: correc t job sent  to handle r (mixed s ite)', fun ction() {
  344                var done  = false;
  345  
  346                runs(fun ction() {
  347                    job. type = 'ad missions';
  348                    job. siteId = ' 9E7A';
  349  
  350                    mock Config.vis taSites['9 E7A'] = mo ckRPCConfi g;
  351                    mock Config.rpc Context =  'HMP SYNCH RONIZATION  CONTEXT';
  352  
  353                    var  mockPublis her = new  Publisher( logger, mo ckConfig,  job.type);
  354                    var  environmen t = {
  355                         vistaClien t: new Vis taClientDu mmy(logger , mockConf ig, null),
  356                         publisherR outer: new  Router(lo gger, mock Config, Up dater, moc kPublisher )
  357                    };
  358  
  359                    hand ler(logger , mockConf ig, enviro nment, job , function (err) {
  360                         expect(err ).toBeFals y();
  361                         done = tru e;
  362                         mockHandle rCallback. callback() ;
  363                    });
  364                });
  365  
  366                waitsFor (function( ) {
  367                    retu rn done;
  368                }, 'Call back not c alled', 10 0);
  369  
  370                runs(fun ction() {
  371                    expe ct(mockHan dlerCallba ck.callbac k).toHaveB eenCalled( );
  372                });
  373           }) ;
  374  
  375           it ('Happy pa th: correc t job sent  to handle r (leading  zero full y numeric  site)', fu nction() {
  376                var done  = false;
  377  
  378                runs(fun ction() {
  379                    job. type = 'ad missions';
  380                    job. siteId = ' 0042';
  381  
  382                    mock Config.vis taSites['0 042'] = mo ckRPCConfi g;
  383                    mock Config.rpc Context =  'HMP SYNCH RONIZATION  CONTEXT';
  384  
  385                    var  mockPublis her = new  Publisher( logger, mo ckConfig,  job.type);
  386                    var  environmen t = {
  387                         vistaClien t: new Vis taClientDu mmy(logger , mockConf ig, null),
  388                         publisherR outer: new  Router(lo gger, mock Config, Up dater, moc kPublisher )
  389                    };
  390  
  391                    hand ler(logger , mockConf ig, enviro nment, job , function (err) {
  392                         expect(err ).toBeFals y();
  393                         done = tru e;
  394                         mockHandle rCallback. callback() ;
  395                    });
  396                });
  397  
  398                waitsFor (function( ) {
  399                    retu rn done;
  400                }, 'Call back not c alled', 10 0);
  401  
  402                runs(fun ction() {
  403                    expe ct(mockHan dlerCallba ck.callbac k).toHaveB eenCalled( );
  404                });
  405           }) ;
  406  
  407           it ('Happy pa th: correc t job sent  to handle r (leading  zero mixe d site)',  function()  {
  408                var done  = false;
  409  
  410                runs(fun ction() {
  411                    job. type = 'ad missions';
  412                    job. siteId = ' 0AF2';
  413  
  414                    mock Config.vis taSites['0 AF2'] = mo ckRPCConfi g;
  415                    mock Config.rpc Context =  'HMP SYNCH RONIZATION  CONTEXT';
  416  
  417                    var  mockPublis her = new  Publisher( logger, mo ckConfig,  job.type);
  418                    var  environmen t = {
  419                         vistaClien t: new Vis taClientDu mmy(logger , mockConf ig, null),
  420                         publisherR outer: new  Router(lo gger, mock Config, Up dater, moc kPublisher )
  421                    };
  422  
  423                    hand ler(logger , mockConf ig, enviro nment, job , function (err) {
  424                         expect(err ).toBeFals y();
  425                         done = tru e;
  426                         mockHandle rCallback. callback() ;
  427                    });
  428                });
  429  
  430                waitsFor (function( ) {
  431                    retu rn done;
  432                }, 'Call back not c alled', 10 0);
  433  
  434                runs(fun ction() {
  435                    expe ct(mockHan dlerCallba ck.callbac k).toHaveB eenCalled( );
  436                });
  437           }) ;
  438  
  439           it ('Happy pa th: correc t jobs gen erated', f unction(do ne) {
  440                var resu ltJobs = [ ];
  441  
  442                runs(fun ction() {
  443                    job. type = 'ad missions';
  444                    job. siteId = ' 1234';
  445                    job. referenceI nfo = {
  446                         requestId:  'admissio ns-request Id',
  447                         sessionId:  'admissio ns-session Id'
  448                    };
  449  
  450                    mock Config.vis taSites['1 234'] = mo ckRPCConfi g;
  451                    mock Config.rpc Context =  'HMP SYNCH RONIZATION  CONTEXT';
  452  
  453                    var  mockPublis her = new  Publisher( logger, mo ckConfig,  job.type);
  454                    var  environmen t = {
  455                         vistaClien t: new Vis taClientDu mmy(logger , mockConf ig, null),
  456                         publisherR outer: new  Router(lo gger, mock Config, Up dater, moc kPublisher )
  457                    };
  458  
  459                    var  vistaStr =  '12345^20 1701311200 00^TEST^12 ^123^\r\n5 4321^20170 131120000^ TEST2^21^3 21^\r\n';
  460                    envi ronment.vi staClient. _setFetchR esponseDat a(null, vi staStr);
  461  
  462                    spyO n(environm ent.publis herRouter,  'publish' ).andCallF ake(functi on(job, ca llback) {
  463                         resultJobs .push(job) ;
  464                         callback() ;
  465                    });
  466  
  467                    hand ler(logger , mockConf ig, enviro nment, job , function (err) {
  468                         expect(err ).toBeFals y();
  469                         expect(res ultJobs).t oContain(j asmine.obj ectContain ing({
  470                             type:  'sync',
  471                             refere nceInfo: {
  472                                 re questId: ' admissions -requestId ',
  473                                 se ssionId: ' admissions -sessionId '
  474                             },
  475                             source : 'admissi ons',
  476                             patien t: {
  477                                 df n: '12345' ,
  478                                 da te: '20170 131120000' ,
  479                                 lo cationName : 'TEST',
  480                                 ro omBed: '12 ',
  481                                 lo cationIen:  '123'
  482                             },
  483                             siteId : '1234'
  484                         }));
  485                         expect(res ultJobs).t oContain(j asmine.obj ectContain ing({
  486                             type:  'sync',
  487                             refere nceInfo: {
  488                                 re questId: ' admissions -requestId ',
  489                                 se ssionId: ' admissions -sessionId '
  490                             },
  491                             source : 'admissi ons',
  492                             patien t: {
  493                                 df n: '54321' ,
  494                                 da te: '20170 131120000' ,
  495                                 lo cationName : 'TEST2',
  496                                 ro omBed: '21 ',
  497                                 lo cationIen:  '321'
  498                             },
  499                             siteId : '1234'
  500                         }));
  501                         done();
  502                    });
  503                });
  504           }) ;
  505       });
  506   });