@@ -11,6 +11,15 @@ const ContainerStatus = require('../lib/enums').ContainerStatus;
11
11
const LoggerStrategy = require ( '../lib/enums' ) . LoggerStrategy ;
12
12
const { EventEmitter } = require ( 'events' ) ;
13
13
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
+
14
23
describe ( 'Logger tests' , ( ) => {
15
24
16
25
let processExit ;
@@ -83,7 +92,8 @@ describe('Logger tests', () => {
83
92
} ) ;
84
93
85
94
const Logger = proxyquire ( '../lib/logger' , {
86
- '@codefresh-io/task-logger' : { TaskLogger : TaskLoggerFactory }
95
+ '@codefresh-io/task-logger' : { TaskLogger : TaskLoggerFactory } ,
96
+ 'express' : expressMock ,
87
97
} ) ;
88
98
89
99
const loggerId = 'loggerId' ;
@@ -126,7 +136,8 @@ describe('Logger tests', () => {
126
136
} ) ;
127
137
128
138
const Logger = proxyquire ( '../lib/logger' , {
129
- '@codefresh-io/task-logger' : { TaskLogger : TaskLoggerFactory }
139
+ '@codefresh-io/task-logger' : { TaskLogger : TaskLoggerFactory } ,
140
+ 'express' : expressMock ,
130
141
} ) ;
131
142
132
143
const loggerId = 'loggerId' ;
@@ -167,7 +178,8 @@ describe('Logger tests', () => {
167
178
} ) ;
168
179
169
180
const Logger = proxyquire ( '../lib/logger' , {
170
- '@codefresh-io/task-logger' : { TaskLogger : TaskLoggerFactory }
181
+ '@codefresh-io/task-logger' : { TaskLogger : TaskLoggerFactory } ,
182
+ 'express' : expressMock ,
171
183
} ) ;
172
184
173
185
const loggerId = 'loggerId' ;
@@ -207,7 +219,8 @@ describe('Logger tests', () => {
207
219
} ) ;
208
220
209
221
const Logger = proxyquire ( '../lib/logger' , {
210
- '@codefresh-io/task-logger' : { TaskLogger : TaskLoggerFactory }
222
+ '@codefresh-io/task-logger' : { TaskLogger : TaskLoggerFactory } ,
223
+ 'express' : expressMock ,
211
224
} ) ;
212
225
213
226
const loggerId = 'loggerId' ;
@@ -252,7 +265,8 @@ describe('Logger tests', () => {
252
265
} ) ;
253
266
254
267
const Logger = proxyquire ( '../lib/logger' , {
255
- '@codefresh-io/task-logger' : { TaskLogger : TaskLoggerFactory }
268
+ '@codefresh-io/task-logger' : { TaskLogger : TaskLoggerFactory } ,
269
+ 'express' : expressMock ,
256
270
} ) ;
257
271
258
272
const loggerId = 'loggerId' ;
@@ -1365,6 +1379,7 @@ describe('Logger tests', () => {
1365
1379
'@codefresh-io/task-logger' : { TaskLogger : ( ) => Q . resolve ( taskLogger ) } ,
1366
1380
'docker-events' : function ( ) { return dockerEvents ; } ,
1367
1381
'./ContainerLogger' : function ( ) { return containerLogger ; } ,
1382
+ 'express' : expressMock ,
1368
1383
} ) ;
1369
1384
1370
1385
const loggerId = 'loggerId' ;
@@ -1454,6 +1469,7 @@ describe('Logger tests', () => {
1454
1469
'@codefresh-io/task-logger' : { TaskLogger : ( ) => Q . resolve ( taskLogger ) } ,
1455
1470
'docker-events' : function ( ) { return dockerEvents ; } ,
1456
1471
'./ContainerLogger' : function ( ) { return containerLogger ; } ,
1472
+ 'express' : expressMock ,
1457
1473
} ) ;
1458
1474
1459
1475
const logger = new Logger ( {
@@ -1475,4 +1491,46 @@ describe('Logger tests', () => {
1475
1491
expect ( logger . _updateLastLoggingDate ) . to . have . been . calledOnce ;
1476
1492
} ) ;
1477
1493
} ) ;
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
+ } ) ;
1478
1536
} ) ;
0 commit comments