@@ -107,6 +107,48 @@ let closeReason = "";
107107let helloMethods : string [ ] | undefined = [ "health" , "secrets.resolve" ] ;
108108let connectError : Error | null = null ;
109109
110+ function startStubGatewayClient ( ) {
111+ startCalls += 1 ;
112+ if ( startMode === "hello" ) {
113+ void lastClientOptions ?. onHelloOk ?.( {
114+ features : {
115+ methods : helloMethods ,
116+ } ,
117+ } ) ;
118+ } else if ( startMode === "startup-retry-then-hello" ) {
119+ void lastClientOptions ?. onHelloOk ?.( {
120+ features : {
121+ methods : helloMethods ,
122+ } ,
123+ } ) ;
124+ } else if ( startMode === "clean-prehello-close-then-hello" ) {
125+ lastClientOptions ?. onClose ?.( 1000 , "" , {
126+ phase : "pre-hello" ,
127+ transientPreHelloCleanClose : true ,
128+ } ) ;
129+ void lastClientOptions ?. onHelloOk ?.( {
130+ features : {
131+ methods : helloMethods ,
132+ } ,
133+ } ) ;
134+ } else if ( startMode === "repeated-clean-prehello-close" ) {
135+ lastClientOptions ?. onClose ?.( 1000 , "" , {
136+ phase : "pre-hello" ,
137+ transientPreHelloCleanClose : true ,
138+ } ) ;
139+ lastClientOptions ?. onClose ?.( 1000 , "" , {
140+ phase : "pre-hello" ,
141+ transientPreHelloCleanClose : true ,
142+ } ) ;
143+ } else if ( startMode === "connect-error" ) {
144+ lastClientOptions ?. onConnectError ?.(
145+ connectError ?? connectAssemblyErrorState . create ( "device private key invalid" ) ,
146+ ) ;
147+ } else if ( startMode === "close" ) {
148+ lastClientOptions ?. onClose ?.( closeCode , closeReason ) ;
149+ }
150+ }
151+
110152vi . mock ( "./client.js" , ( ) => ( {
111153 describeGatewayCloseCode : ( code : number ) => {
112154 if ( code === 1000 ) {
@@ -144,45 +186,7 @@ vi.mock("./client.js", () => ({
144186 return { ok : true } ;
145187 }
146188 start ( ) {
147- startCalls += 1 ;
148- if ( startMode === "hello" ) {
149- void lastClientOptions ?. onHelloOk ?.( {
150- features : {
151- methods : helloMethods ,
152- } ,
153- } ) ;
154- } else if ( startMode === "startup-retry-then-hello" ) {
155- void lastClientOptions ?. onHelloOk ?.( {
156- features : {
157- methods : helloMethods ,
158- } ,
159- } ) ;
160- } else if ( startMode === "clean-prehello-close-then-hello" ) {
161- lastClientOptions ?. onClose ?.( 1000 , "" , {
162- phase : "pre-hello" ,
163- transientPreHelloCleanClose : true ,
164- } ) ;
165- void lastClientOptions ?. onHelloOk ?.( {
166- features : {
167- methods : helloMethods ,
168- } ,
169- } ) ;
170- } else if ( startMode === "repeated-clean-prehello-close" ) {
171- lastClientOptions ?. onClose ?.( 1000 , "" , {
172- phase : "pre-hello" ,
173- transientPreHelloCleanClose : true ,
174- } ) ;
175- lastClientOptions ?. onClose ?.( 1000 , "" , {
176- phase : "pre-hello" ,
177- transientPreHelloCleanClose : true ,
178- } ) ;
179- } else if ( startMode === "connect-error" ) {
180- lastClientOptions ?. onConnectError ?.(
181- connectError ?? connectAssemblyErrorState . create ( "device private key invalid" ) ,
182- ) ;
183- } else if ( startMode === "close" ) {
184- lastClientOptions ?. onClose ?.( closeCode , closeReason ) ;
185- }
189+ startStubGatewayClient ( ) ;
186190 }
187191 stop ( ) { }
188192 } ,
@@ -240,45 +244,7 @@ class StubGatewayClient {
240244 return { ok : true } ;
241245 }
242246 start ( ) {
243- startCalls += 1 ;
244- if ( startMode === "hello" ) {
245- void lastClientOptions ?. onHelloOk ?.( {
246- features : {
247- methods : helloMethods ,
248- } ,
249- } ) ;
250- } else if ( startMode === "startup-retry-then-hello" ) {
251- void lastClientOptions ?. onHelloOk ?.( {
252- features : {
253- methods : helloMethods ,
254- } ,
255- } ) ;
256- } else if ( startMode === "clean-prehello-close-then-hello" ) {
257- lastClientOptions ?. onClose ?.( 1000 , "" , {
258- phase : "pre-hello" ,
259- transientPreHelloCleanClose : true ,
260- } ) ;
261- void lastClientOptions ?. onHelloOk ?.( {
262- features : {
263- methods : helloMethods ,
264- } ,
265- } ) ;
266- } else if ( startMode === "repeated-clean-prehello-close" ) {
267- lastClientOptions ?. onClose ?.( 1000 , "" , {
268- phase : "pre-hello" ,
269- transientPreHelloCleanClose : true ,
270- } ) ;
271- lastClientOptions ?. onClose ?.( 1000 , "" , {
272- phase : "pre-hello" ,
273- transientPreHelloCleanClose : true ,
274- } ) ;
275- } else if ( startMode === "connect-error" ) {
276- lastClientOptions ?. onConnectError ?.(
277- connectError ?? connectAssemblyErrorState . create ( "device private key invalid" ) ,
278- ) ;
279- } else if ( startMode === "close" ) {
280- lastClientOptions ?. onClose ?.( closeCode , closeReason ) ;
281- }
247+ startStubGatewayClient ( ) ;
282248 }
283249 stop ( ) { }
284250 async stopAndWait ( ) { }
0 commit comments