@@ -11,6 +11,15 @@ const ContainerStatus = require('../lib/enums').ContainerStatus;
1111const LoggerStrategy = require ( '../lib/enums' ) . LoggerStrategy ;
1212const { EventEmitter } = require ( 'events' ) ;
1313
14+ const expressMock = function ( ) {
15+ return {
16+ use : sinon . spy ( ) ,
17+ listen : sinon . spy ( ) ,
18+ post : sinon . spy ( ) ,
19+ get : sinon . spy ( ) ,
20+ }
21+ }
22+
1423describe ( 'Logger tests' , ( ) => {
1524
1625 let processExit ;
@@ -83,7 +92,8 @@ describe('Logger tests', () => {
8392 } ) ;
8493
8594 const Logger = proxyquire ( '../lib/logger' , {
86- '@codefresh-io/task-logger' : { TaskLogger : TaskLoggerFactory }
95+ '@codefresh-io/task-logger' : { TaskLogger : TaskLoggerFactory } ,
96+ 'express' : expressMock ,
8797 } ) ;
8898
8999 const loggerId = 'loggerId' ;
@@ -126,7 +136,8 @@ describe('Logger tests', () => {
126136 } ) ;
127137
128138 const Logger = proxyquire ( '../lib/logger' , {
129- '@codefresh-io/task-logger' : { TaskLogger : TaskLoggerFactory }
139+ '@codefresh-io/task-logger' : { TaskLogger : TaskLoggerFactory } ,
140+ 'express' : expressMock ,
130141 } ) ;
131142
132143 const loggerId = 'loggerId' ;
@@ -167,7 +178,8 @@ describe('Logger tests', () => {
167178 } ) ;
168179
169180 const Logger = proxyquire ( '../lib/logger' , {
170- '@codefresh-io/task-logger' : { TaskLogger : TaskLoggerFactory }
181+ '@codefresh-io/task-logger' : { TaskLogger : TaskLoggerFactory } ,
182+ 'express' : expressMock ,
171183 } ) ;
172184
173185 const loggerId = 'loggerId' ;
@@ -207,7 +219,8 @@ describe('Logger tests', () => {
207219 } ) ;
208220
209221 const Logger = proxyquire ( '../lib/logger' , {
210- '@codefresh-io/task-logger' : { TaskLogger : TaskLoggerFactory }
222+ '@codefresh-io/task-logger' : { TaskLogger : TaskLoggerFactory } ,
223+ 'express' : expressMock ,
211224 } ) ;
212225
213226 const loggerId = 'loggerId' ;
@@ -252,7 +265,8 @@ describe('Logger tests', () => {
252265 } ) ;
253266
254267 const Logger = proxyquire ( '../lib/logger' , {
255- '@codefresh-io/task-logger' : { TaskLogger : TaskLoggerFactory }
268+ '@codefresh-io/task-logger' : { TaskLogger : TaskLoggerFactory } ,
269+ 'express' : expressMock ,
256270 } ) ;
257271
258272 const loggerId = 'loggerId' ;
@@ -1365,6 +1379,7 @@ describe('Logger tests', () => {
13651379 '@codefresh-io/task-logger' : { TaskLogger : ( ) => Q . resolve ( taskLogger ) } ,
13661380 'docker-events' : function ( ) { return dockerEvents ; } ,
13671381 './ContainerLogger' : function ( ) { return containerLogger ; } ,
1382+ 'express' : expressMock ,
13681383 } ) ;
13691384
13701385 const loggerId = 'loggerId' ;
@@ -1454,6 +1469,7 @@ describe('Logger tests', () => {
14541469 '@codefresh-io/task-logger' : { TaskLogger : ( ) => Q . resolve ( taskLogger ) } ,
14551470 'docker-events' : function ( ) { return dockerEvents ; } ,
14561471 './ContainerLogger' : function ( ) { return containerLogger ; } ,
1472+ 'express' : expressMock ,
14571473 } ) ;
14581474
14591475 const logger = new Logger ( {
@@ -1475,4 +1491,46 @@ describe('Logger tests', () => {
14751491 expect ( logger . _updateLastLoggingDate ) . to . have . been . calledOnce ;
14761492 } ) ;
14771493 } ) ;
1494+
1495+ describe ( 'engine updates' , ( ) => {
1496+ it ( 'should listen for engine updates' , async ( ) => {
1497+ const taskLogger = {
1498+ on : sinon . spy ( ) ,
1499+ restore : sinon . spy ( ( ) => Q . resolve ( ) ) ,
1500+ startHealthCheck : sinon . spy ( ) ,
1501+ onHealthCheckReported : sinon . spy ( ) ,
1502+ getStatus : sinon . spy ( ) ,
1503+ } ;
1504+ const TaskLoggerFactory = sinon . spy ( ( ) => {
1505+ return Q . resolve ( taskLogger ) ;
1506+ } ) ;
1507+
1508+ const Logger = proxyquire ( '../lib/logger' , {
1509+ '@codefresh-io/task-logger' : { TaskLogger : TaskLoggerFactory } ,
1510+ 'express' : expressMock ,
1511+ } ) ;
1512+
1513+ const loggerId = 'loggerId' ;
1514+ const taskLoggerConfig = { task : { } , opts : { } } ;
1515+ const findExistingContainers = false ;
1516+
1517+ const logger = new Logger ( {
1518+ loggerId,
1519+ taskLoggerConfig,
1520+ findExistingContainers,
1521+ } ) ;
1522+ logger . _listenForNewContainers = sinon . spy ( ) ;
1523+ logger . _writeNewState = sinon . spy ( ) ;
1524+ logger . _listenForExistingContainers = sinon . spy ( ) ;
1525+ process . env . PORT = 1337 ;
1526+ process . env . HOST = '127.0.0.1' ;
1527+ logger . start ( ) ;
1528+
1529+ await Q . delay ( 10 ) ;
1530+
1531+ expect ( logger . _app ) . to . not . be . undefined ;
1532+ expect ( logger . _app . listen ) . to . have . been . calledOnce ;
1533+ expect ( logger . _app . listen ) . to . have . been . calledWithMatch ( 1337 , '127.0.0.1' ) ;
1534+ } ) ;
1535+ } ) ;
14781536} ) ;
0 commit comments