1 | const assert = require('assert')
|
2 | const path = require('path')
|
3 | const z1 = require('../..')
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 |
|
20 | async function verifyApp(name, props = {}) {
|
21 | props = Object.assign({
|
22 | dir: path.resolve('example', name),
|
23 | ports: [],
|
24 | pending: 0,
|
25 | available: 0,
|
26 | killed: 0,
|
27 | reviveCount: 0
|
28 | }, props)
|
29 |
|
30 | const stats = await z1.info(name)
|
31 |
|
32 | for (let i = 0; i < props.ports.length; i += 1) {
|
33 | assert.strictEqual(stats.ports[i], props.ports[i], `"${name}" should listen to port ${stats.ports[i]}.`)
|
34 | }
|
35 |
|
36 | assert.strictEqual(stats.pending, props.pending, `"${name}" should have ${props.pending} pending worker(s).`)
|
37 | assert.strictEqual(stats.available, props.available, `"${name}" should have ${props.available} available worker(s).`)
|
38 | assert.strictEqual(stats.killed, props.killed, `"${name}" should have ${props.killed} killed worker(s).`)
|
39 | assert.strictEqual(stats.reviveCount, props.reviveCount, `"${name}" should be revived ${props.reviveCount} time(s).`)
|
40 | }
|
41 |
|
42 | module.exports = verifyApp
|