1- const assert = require ( 'assert' ) ;
2- const mm = require ( 'egg-mock' ) ;
3- const utils = require ( '../../../utils' ) ;
4- const Messenger = require ( '../../../../lib/core/messenger/ipc' ) ;
1+ import { strict as assert } from 'node:assert' ;
2+ import { scheduler } from 'node:timers/promises' ;
3+ import { mm } from '@eggjs/mock' ;
4+ import { cluster , MockApplication } from '../../../utils.js' ;
5+ import { Messenger } from '../../../../src/lib/core/messenger/ipc.js' ;
56
6- describe ( 'test/lib/core/messenger/ipc.test.js' , ( ) => {
7- let messenger ;
7+ describe ( 'test/lib/core/messenger/ipc.test.ts' , ( ) => {
8+ let messenger : Messenger ;
9+ const app : any = { } ;
810
911 before ( ( ) => {
10- messenger = new Messenger ( ) ;
12+ messenger = new Messenger ( app ) ;
1113 } ) ;
1214
1315 afterEach ( mm . restore ) ;
@@ -21,20 +23,20 @@ describe('test/lib/core/messenger/ipc.test.js', () => {
2123 done ( ) ;
2224 } ) ;
2325
24- process . emit ( 'message' , { } ) ;
25- process . emit ( 'message' , null ) ;
26+ process . emit ( 'message' , { } , null ) ;
27+ process . emit ( 'message' , null , null ) ;
2628 process . emit ( 'message' , {
2729 action : 'messenger-test-on-event' ,
2830 data : {
2931 success : true ,
3032 } ,
31- } ) ;
33+ } , null ) ;
3234 } ) ;
3335 } ) ;
3436
3537 describe ( 'close()' , ( ) => {
3638 it ( 'should remove all listeners' , ( ) => {
37- const messenger = new Messenger ( ) ;
39+ const messenger = new Messenger ( app ) ;
3840 messenger . on ( 'messenger-test-on-event-2' , ( ) => {
3941 throw new Error ( 'should never emitted' ) ;
4042 } ) ;
@@ -46,17 +48,17 @@ describe('test/lib/core/messenger/ipc.test.js', () => {
4648 data : {
4749 success : true ,
4850 } ,
49- } ) ;
51+ } , null ) ;
5052 } ) ;
5153 } ) ;
5254
5355 describe ( 'cluster messenger' , ( ) => {
54- let app ;
56+ let app : MockApplication ;
5557 after ( ( ) => app . close ( ) ) ;
5658
5759 // use it to record create coverage codes time
5860 it ( 'before: should start cluster app' , async ( ) => {
59- app = utils . cluster ( 'apps/messenger' ) ;
61+ app = cluster ( 'apps/messenger' ) ;
6062 app . coverage ( true ) ;
6163 await app . ready ( ) ;
6264 await scheduler . wait ( 1000 ) ;
@@ -66,7 +68,7 @@ describe('test/lib/core/messenger/ipc.test.js', () => {
6668 app . expect ( 'stdout' , / \[ a p p ] a g e n t - t o - a p p a g e n t m s g / ) ;
6769 } ) ;
6870
69- it ( 'app should accept agent assgin pid message' , ( ) => {
71+ it ( 'app should accept agent assign pid message' , ( ) => {
7072 app . expect ( 'stdout' , / \[ a p p ] a g e n t - t o - a p p a g e n t m s g \d + / ) ;
7173 } ) ;
7274
@@ -84,14 +86,14 @@ describe('test/lib/core/messenger/ipc.test.js', () => {
8486 } ) ;
8587
8688 describe ( 'broadcast()' , ( ) => {
87- let app ;
89+ let app : MockApplication ;
8890 before ( ( ) => {
8991 mm . env ( 'default' ) ;
90- app = utils . cluster ( 'apps/messenger-broadcast' , { workers : 2 } ) ;
92+ app = cluster ( 'apps/messenger-broadcast' , { workers : 2 } ) ;
9193 app . coverage ( false ) ;
9294 return app . ready ( ) ;
9395 } ) ;
94- before ( ( ) => utils . sleep ( 1000 ) ) ;
96+ before ( ( ) => scheduler . wait ( 1000 ) ) ;
9597 after ( ( ) => app . close ( ) ) ;
9698
9799 it ( 'should broadcast each other' , ( ) => {
@@ -105,15 +107,15 @@ describe('test/lib/core/messenger/ipc.test.js', () => {
105107 // agent 26494 receive message from app pid 26496
106108 // agent 26494 receive message from agent pid 26494
107109 const m = app . stdout . match ( / ( a p p | a g e n t ) \d + r e c e i v e m e s s a g e f r o m ( a p p | a g e n t ) p i d \d + / g) ;
108- assert ( m . length , 9 ) ;
110+ assert . equal ( m . length , 9 ) ;
109111 } ) ;
110112 } ) ;
111113
112114 describe ( 'sendRandom' , ( ) => {
113- let app ;
115+ let app : MockApplication ;
114116 before ( ( ) => {
115117 mm . env ( 'default' ) ;
116- app = utils . cluster ( 'apps/messenger-random' , { workers : 4 } ) ;
118+ app = cluster ( 'apps/messenger-random' , { workers : 4 } ) ;
117119 app . coverage ( false ) ;
118120 return app . ready ( ) ;
119121 } ) ;
@@ -137,10 +139,10 @@ describe('test/lib/core/messenger/ipc.test.js', () => {
137139 } ) ;
138140
139141 describe ( 'sendToApp and sentToAgent' , ( ) => {
140- let app ;
142+ let app : MockApplication ;
141143 before ( ( ) => {
142144 mm . env ( 'default' ) ;
143- app = utils . cluster ( 'apps/messenger-app-agent' , { workers : 2 } ) ;
145+ app = cluster ( 'apps/messenger-app-agent' , { workers : 2 } ) ;
144146 app . coverage ( false ) ;
145147 return app . ready ( ) ;
146148 } ) ;
@@ -155,7 +157,7 @@ describe('test/lib/core/messenger/ipc.test.js', () => {
155157 done ( ) ;
156158 } , 500 ) ;
157159
158- function count ( data , key ) {
160+ function count ( data : string , key : string ) {
159161 return data . split ( '\n' ) . filter ( line => {
160162 return line . indexOf ( key ) >= 0 ;
161163 } ) . length ;
@@ -164,10 +166,10 @@ describe('test/lib/core/messenger/ipc.test.js', () => {
164166 } ) ;
165167
166168 describe ( 'worker_threads mode' , ( ) => {
167- let app ;
169+ let app : MockApplication ;
168170 before ( ( ) => {
169171 mm . env ( 'default' ) ;
170- app = utils . cluster ( 'apps/messenger-app-agent' , { workers : 1 , startMode : 'worker_threads' } ) ;
172+ app = cluster ( 'apps/messenger-app-agent' , { workers : 1 , startMode : 'worker_threads' } ) ;
171173 app . coverage ( false ) ;
172174 return app . ready ( ) ;
173175 } ) ;
@@ -182,7 +184,7 @@ describe('test/lib/core/messenger/ipc.test.js', () => {
182184 done ( ) ;
183185 } , 500 ) ;
184186
185- function count ( data , key ) {
187+ function count ( data : string , key : string ) {
186188 return data . split ( '\n' ) . filter ( line => {
187189 return line . indexOf ( key ) >= 0 ;
188190 } ) . length ;
0 commit comments