@@ -213,3 +213,105 @@ test.serial("ui5 serve --sap-csp-policies", async (t) => {
213
213
sendSAPTargetCSP : true
214
214
} , "Starting server with specific server config" ) ;
215
215
} ) ;
216
+
217
+ test . serial ( "ui5 serve with ui5.yaml port setting" , async ( t ) => {
218
+ const projectTree = {
219
+ metadata : {
220
+ name : "Sample"
221
+ } ,
222
+ server : {
223
+ settings : {
224
+ httpPort : 1337
225
+ }
226
+ }
227
+ } ;
228
+ normalizerStub . resolves ( projectTree ) ;
229
+ serverStub . resolves ( { h2 : false , port : 1 } ) ;
230
+ // loads project tree using http 2
231
+ const pPrepareServerConfig = await serve . handler ( defaultInitialHandlerArgs ) ;
232
+ // preprocess project config, skipping cert load
233
+ const pServeServer = await pPrepareServerConfig ;
234
+ // serve server using config
235
+ await pServeServer ;
236
+
237
+ const injectedProjectTree = serverStub . getCall ( 0 ) . args [ 0 ] ;
238
+ const injectedServerConfig = serverStub . getCall ( 0 ) . args [ 1 ] ;
239
+
240
+ t . deepEqual ( injectedProjectTree , projectTree , "Starting server with given project tree" ) ;
241
+ t . deepEqual ( injectedServerConfig . port , 1337 , "http port setting from project tree was used" ) ;
242
+ t . deepEqual ( injectedServerConfig . changePortIfInUse , false , "changePortIfInUse is set to false" ) ;
243
+ } ) ;
244
+
245
+ test . serial ( "ui5 serve --h2 with ui5.yaml port setting" , async ( t ) => {
246
+ const projectTree = {
247
+ metadata : {
248
+ name : "Sample"
249
+ } ,
250
+ server : {
251
+ settings : {
252
+ httpsPort : 1443
253
+ }
254
+ }
255
+ } ;
256
+ normalizerStub . resolves ( projectTree ) ;
257
+ serverStub . resolves ( { h2 : true , port : 1 } ) ;
258
+ sslUtilStub . resolves ( {
259
+ key : "randombyte-likes-ponies-key" ,
260
+ cert : "randombyte-likes-ponies-cert"
261
+ } ) ;
262
+
263
+ // loads project tree using http 2
264
+ const pPrepareServerConfig = await serve . handler ( Object . assign ( { } , defaultInitialHandlerArgs , { h2 : true } ) ) ;
265
+ // preprocess project config
266
+ const pFetchSSLCert = await pPrepareServerConfig ;
267
+ // Fetching ssl certificate
268
+ const pServeServer = await pFetchSSLCert ;
269
+ // serve server using config
270
+ await pServeServer ;
271
+
272
+ const injectedProjectTree = serverStub . getCall ( 0 ) . args [ 0 ] ;
273
+ const injectedServerConfig = serverStub . getCall ( 0 ) . args [ 1 ] ;
274
+
275
+ t . deepEqual ( injectedProjectTree , projectTree , "Starting server with given project tree" ) ;
276
+ t . deepEqual ( injectedServerConfig . port , 1443 , "https port setting from project tree was used" ) ;
277
+ t . deepEqual ( injectedServerConfig . changePortIfInUse , false , "changePortIfInUse is set to false" ) ;
278
+ } ) ;
279
+
280
+ test . serial ( "ui5 serve --h2 with ui5.yaml port setting and port CLI argument" , async ( t ) => {
281
+ const projectTree = {
282
+ metadata : {
283
+ name : "Sample"
284
+ } ,
285
+ server : {
286
+ settings : {
287
+ httpPort : 1337 ,
288
+ httpsPort : 1443
289
+ }
290
+ }
291
+ } ;
292
+ normalizerStub . resolves ( projectTree ) ;
293
+ serverStub . resolves ( { h2 : true , port : 1 } ) ;
294
+ sslUtilStub . resolves ( {
295
+ key : "randombyte-likes-ponies-key" ,
296
+ cert : "randombyte-likes-ponies-cert"
297
+ } ) ;
298
+
299
+ // loads project tree using http 2
300
+ const pPrepareServerConfig = await serve . handler ( Object . assign ( { } , defaultInitialHandlerArgs , {
301
+ h2 : true ,
302
+ port : 5555
303
+ } ) ) ;
304
+ // preprocess project config
305
+ const pFetchSSLCert = await pPrepareServerConfig ;
306
+ // Fetching ssl certificate
307
+ const pServeServer = await pFetchSSLCert ;
308
+ // serve server using config
309
+ await pServeServer ;
310
+
311
+ const injectedProjectTree = serverStub . getCall ( 0 ) . args [ 0 ] ;
312
+ const injectedServerConfig = serverStub . getCall ( 0 ) . args [ 1 ] ;
313
+
314
+ t . deepEqual ( injectedProjectTree , projectTree , "Starting server with given project tree" ) ;
315
+ t . deepEqual ( injectedServerConfig . port , 5555 , "https port setting from CLI argument was used" ) ;
316
+ t . deepEqual ( injectedServerConfig . changePortIfInUse , false , "changePortIfInUse is set to false" ) ;
317
+ } ) ;
0 commit comments