@@ -157,7 +157,7 @@ describe('OpenWhiskCompileHttpEvents', () => {
157
157
158
158
describe ( '#compileHttpEvent()' , ( ) => {
159
159
it ( 'should define http events from string property' , ( ) => {
160
- openwhiskCompileHttpEvents . serverless . service . service = 'my-service'
160
+ openwhiskCompileHttpEvents . serverless . service . service = 'my-service'
161
161
openwhiskCompileHttpEvents . serverless . service . provider = { namespace : "sample_ns" } ;
162
162
const http = "GET /api/foo/bar"
163
163
const result = openwhiskCompileHttpEvents . compileHttpEvent ( 'action-name' , { } , http ) ;
@@ -172,7 +172,7 @@ describe('OpenWhiskCompileHttpEvents', () => {
172
172
} ) ;
173
173
174
174
it ( 'should define http events from string property with explicit package' , ( ) => {
175
- openwhiskCompileHttpEvents . serverless . service . service = 'my-service'
175
+ openwhiskCompileHttpEvents . serverless . service . service = 'my-service'
176
176
openwhiskCompileHttpEvents . serverless . service . provider = { namespace : "sample_ns" } ;
177
177
const http = "GET /api/foo/bar"
178
178
const fnObj = { name : 'somePackage/actionName' }
@@ -188,15 +188,15 @@ describe('OpenWhiskCompileHttpEvents', () => {
188
188
} ) ;
189
189
190
190
it ( 'should define http events from object property' , ( ) => {
191
- openwhiskCompileHttpEvents . serverless . service . service = 'my-service'
191
+ openwhiskCompileHttpEvents . serverless . service . service = 'my-service'
192
192
openwhiskCompileHttpEvents . serverless . service . provider = { namespace : "sample_ns" } ;
193
193
const http = { path : "/api/foo/bar" , method : "GET" }
194
194
const result = openwhiskCompileHttpEvents . compileHttpEvent ( 'action-name' , { } , http ) ;
195
195
return expect ( result ) . to . deep . equal ( { relpath : '/api/foo/bar' , operation : 'GET' , action : 'my-service_action-name' , namespace : 'sample_ns' , pkge : 'default' , responsetype : 'json' } ) ;
196
196
} ) ;
197
197
198
198
it ( 'should add secure auth key if present' , ( ) => {
199
- openwhiskCompileHttpEvents . serverless . service . service = 'my-service'
199
+ openwhiskCompileHttpEvents . serverless . service . service = 'my-service'
200
200
openwhiskCompileHttpEvents . serverless . service . provider = { namespace : "sample_ns" } ;
201
201
const http = { path : "/api/foo/bar" , method : "GET" }
202
202
const result = openwhiskCompileHttpEvents . compileHttpEvent ( 'action-name' , {
@@ -227,7 +227,7 @@ describe('OpenWhiskCompileHttpEvents', () => {
227
227
228
228
describe ( '#compileSwaggerPath()' , ( ) => {
229
229
it ( 'should define swagger definition from http events' , ( ) => {
230
- openwhiskCompileHttpEvents . serverless . service . service = 'my-service'
230
+ openwhiskCompileHttpEvents . serverless . service . service = 'my-service'
231
231
openwhiskCompileHttpEvents . serverless . service . provider = { namespace : "sample_ns" } ;
232
232
233
233
const httpEvent = {
@@ -254,8 +254,36 @@ describe('OpenWhiskCompileHttpEvents', () => {
254
254
return expect ( result ) . to . deep . equal ( expectedResult )
255
255
} ) ;
256
256
257
+ it ( 'should define swagger definition from http events and respect specified protocol on api host' , ( ) => {
258
+ openwhiskCompileHttpEvents . serverless . service . service = 'my-service'
259
+ openwhiskCompileHttpEvents . serverless . service . provider = { namespace : "sample_ns" } ;
260
+
261
+ const httpEvent = {
262
+ relpath : '/api/foo/bar' , operation : 'GET' , secure_key : 'auth-token' ,
263
+ action :
'action-name' , namespace :
'[email protected] _space' , pkge :
'default' , responsetype :
'json'
264
+ }
265
+
266
+ const host = 'http://openwhisk.somewhere.com'
267
+ const result = openwhiskCompileHttpEvents . compileSwaggerPath ( httpEvent , host ) ;
268
+
269
+ const expectedResult = {
270
+ operationId : "get-/api/foo/bar" ,
271
+ responses : {
272
+ "200" : { description : "A successful invocation response" }
273
+ } ,
274
+ "x-openwhisk" : {
275
+ action : "action-name" ,
276
+ namespace :
"[email protected] _space" ,
277
+ package : "default" ,
278
+ url :
"http://openwhisk.somewhere.com/api/v1/web/[email protected] _space/default/action-name.json"
279
+ }
280
+ }
281
+
282
+ return expect ( result ) . to . deep . equal ( expectedResult )
283
+ } ) ;
284
+
257
285
it ( 'should define swagger definition with path parameters' , ( ) => {
258
- openwhiskCompileHttpEvents . serverless . service . service = 'my-service'
286
+ openwhiskCompileHttpEvents . serverless . service . service = 'my-service'
259
287
openwhiskCompileHttpEvents . serverless . service . provider = { namespace : "sample_ns" } ;
260
288
261
289
const httpEvent = {
@@ -291,7 +319,7 @@ describe('OpenWhiskCompileHttpEvents', () => {
291
319
292
320
describe ( '#compileSwaggerCaseSwitch()' , ( ) => {
293
321
it ( 'should define swagger case statement from http events' , ( ) => {
294
- openwhiskCompileHttpEvents . serverless . service . service = 'my-service'
322
+ openwhiskCompileHttpEvents . serverless . service . service = 'my-service'
295
323
openwhiskCompileHttpEvents . serverless . service . provider = { namespace : "sample_ns" } ;
296
324
297
325
const httpEvent = {
@@ -325,7 +353,7 @@ describe('OpenWhiskCompileHttpEvents', () => {
325
353
} ) ;
326
354
327
355
it ( 'should define swagger case statement from http events with path parameters' , ( ) => {
328
- openwhiskCompileHttpEvents . serverless . service . service = 'my-service'
356
+ openwhiskCompileHttpEvents . serverless . service . service = 'my-service'
329
357
openwhiskCompileHttpEvents . serverless . service . provider = { namespace : "sample_ns" } ;
330
358
331
359
const httpEvent = {
@@ -361,7 +389,7 @@ describe('OpenWhiskCompileHttpEvents', () => {
361
389
362
390
describe ( '#generateSwagger()' , ( ) => {
363
391
it ( 'should generate APIGW swagger with paths and case statements from http event' , ( ) => {
364
- openwhiskCompileHttpEvents . serverless . service . service = 'my-service'
392
+ openwhiskCompileHttpEvents . serverless . service . service = 'my-service'
365
393
openwhiskCompileHttpEvents . serverless . service . provider = { namespace : "sample_ns" } ;
366
394
367
395
const httpEvent = {
@@ -387,7 +415,7 @@ describe('OpenWhiskCompileHttpEvents', () => {
387
415
} ) ;
388
416
389
417
it ( 'should generate APIGW swagger with multiple http events on same path' , ( ) => {
390
- openwhiskCompileHttpEvents . serverless . service . service = 'my-service'
418
+ openwhiskCompileHttpEvents . serverless . service . service = 'my-service'
391
419
openwhiskCompileHttpEvents . serverless . service . provider = { namespace : "sample_ns" } ;
392
420
393
421
const gethttpEvent = {
@@ -421,7 +449,7 @@ describe('OpenWhiskCompileHttpEvents', () => {
421
449
} ) ;
422
450
423
451
it ( 'should generate APIGW swagger with multiple http events on different paths' , ( ) => {
424
- openwhiskCompileHttpEvents . serverless . service . service = 'my-service'
452
+ openwhiskCompileHttpEvents . serverless . service . service = 'my-service'
425
453
openwhiskCompileHttpEvents . serverless . service . provider = { namespace : "sample_ns" } ;
426
454
427
455
const gethttpEvent = {
@@ -455,7 +483,7 @@ describe('OpenWhiskCompileHttpEvents', () => {
455
483
} ) ;
456
484
457
485
it ( 'should generate APIGW swagger with default API gateway options' , ( ) => {
458
- openwhiskCompileHttpEvents . serverless . service . service = 'my-service'
486
+ openwhiskCompileHttpEvents . serverless . service . service = 'my-service'
459
487
openwhiskCompileHttpEvents . serverless . service . provider = { namespace : "sample_ns" } ;
460
488
461
489
const httpEvent = {
@@ -472,7 +500,7 @@ describe('OpenWhiskCompileHttpEvents', () => {
472
500
} ) ;
473
501
474
502
it ( 'should generate APIGW swagger with custom CORS API gateway options' , ( ) => {
475
- openwhiskCompileHttpEvents . serverless . service . service = 'my-service'
503
+ openwhiskCompileHttpEvents . serverless . service . service = 'my-service'
476
504
openwhiskCompileHttpEvents . serverless . service . provider = { namespace : "sample_ns" } ;
477
505
478
506
const httpEvent = {
@@ -489,7 +517,7 @@ describe('OpenWhiskCompileHttpEvents', () => {
489
517
} ) ;
490
518
491
519
it ( 'should generate APIGW swagger with custom basepath API gateway option' , ( ) => {
492
- openwhiskCompileHttpEvents . serverless . service . service = 'my-service'
520
+ openwhiskCompileHttpEvents . serverless . service . service = 'my-service'
493
521
openwhiskCompileHttpEvents . serverless . service . provider = { namespace : "sample_ns" } ;
494
522
495
523
const httpEvent = {
@@ -506,7 +534,7 @@ describe('OpenWhiskCompileHttpEvents', () => {
506
534
} ) ;
507
535
508
536
it ( 'should generate APIGW swagger with custom API name option' , ( ) => {
509
- openwhiskCompileHttpEvents . serverless . service . service = 'my-service'
537
+ openwhiskCompileHttpEvents . serverless . service . service = 'my-service'
510
538
openwhiskCompileHttpEvents . serverless . service . provider = { namespace : "sample_ns" } ;
511
539
512
540
const httpEvent = {
@@ -524,7 +552,7 @@ describe('OpenWhiskCompileHttpEvents', () => {
524
552
525
553
526
554
it ( 'should generate APIGW swagger with custom auth key API gateway options' , ( ) => {
527
- openwhiskCompileHttpEvents . serverless . service . service = 'my-service'
555
+ openwhiskCompileHttpEvents . serverless . service . service = 'my-service'
528
556
openwhiskCompileHttpEvents . serverless . service . provider = { namespace : "sample_ns" } ;
529
557
530
558
const httpEvent = {
@@ -542,7 +570,7 @@ describe('OpenWhiskCompileHttpEvents', () => {
542
570
} ) ;
543
571
544
572
it ( 'should generate APIGW swagger with custom auth key and secret API gateway options' , ( ) => {
545
- openwhiskCompileHttpEvents . serverless . service . service = 'my-service'
573
+ openwhiskCompileHttpEvents . serverless . service . service = 'my-service'
546
574
openwhiskCompileHttpEvents . serverless . service . provider = { namespace : "sample_ns" } ;
547
575
548
576
const httpEvent = {
@@ -561,7 +589,7 @@ describe('OpenWhiskCompileHttpEvents', () => {
561
589
} ) ;
562
590
563
591
it ( 'should generate APIGW swagger with AppID OAuth provider API gateway options' , ( ) => {
564
- openwhiskCompileHttpEvents . serverless . service . service = 'my-service'
592
+ openwhiskCompileHttpEvents . serverless . service . service = 'my-service'
565
593
openwhiskCompileHttpEvents . serverless . service . provider = { namespace : "sample_ns" } ;
566
594
567
595
const httpEvent = {
@@ -585,7 +613,7 @@ describe('OpenWhiskCompileHttpEvents', () => {
585
613
} ) ;
586
614
587
615
it ( 'should generate APIGW swagger with Google OAuth provider API gateway options' , ( ) => {
588
- openwhiskCompileHttpEvents . serverless . service . service = 'my-service'
616
+ openwhiskCompileHttpEvents . serverless . service . service = 'my-service'
589
617
openwhiskCompileHttpEvents . serverless . service . provider = { namespace : "sample_ns" } ;
590
618
591
619
const httpEvent = {
@@ -607,7 +635,7 @@ describe('OpenWhiskCompileHttpEvents', () => {
607
635
} ) ;
608
636
609
637
it ( 'should generate APIGW swagger with Facebook OAuth provider API gateway options' , ( ) => {
610
- openwhiskCompileHttpEvents . serverless . service . service = 'my-service'
638
+ openwhiskCompileHttpEvents . serverless . service . service = 'my-service'
611
639
openwhiskCompileHttpEvents . serverless . service . provider = { namespace : "sample_ns" } ;
612
640
613
641
const httpEvent = {
@@ -629,7 +657,7 @@ describe('OpenWhiskCompileHttpEvents', () => {
629
657
} ) ;
630
658
631
659
it ( 'should generate APIGW swagger with Github OAuth provider API gateway options' , ( ) => {
632
- openwhiskCompileHttpEvents . serverless . service . service = 'my-service'
660
+ openwhiskCompileHttpEvents . serverless . service . service = 'my-service'
633
661
openwhiskCompileHttpEvents . serverless . service . provider = { namespace : "sample_ns" } ;
634
662
635
663
const httpEvent = {
@@ -651,7 +679,7 @@ describe('OpenWhiskCompileHttpEvents', () => {
651
679
} ) ;
652
680
653
681
it ( 'should generate APIGW swagger with rate limiting API gateway options' , ( ) => {
654
- openwhiskCompileHttpEvents . serverless . service . service = 'my-service'
682
+ openwhiskCompileHttpEvents . serverless . service . service = 'my-service'
655
683
openwhiskCompileHttpEvents . serverless . service . provider = { namespace : "sample_ns" } ;
656
684
657
685
const httpEvent = {
@@ -668,7 +696,7 @@ describe('OpenWhiskCompileHttpEvents', () => {
668
696
} ) ;
669
697
670
698
it ( 'should throw if API GW auth options are invalid' , ( ) => {
671
- openwhiskCompileHttpEvents . serverless . service . service = 'my-service'
699
+ openwhiskCompileHttpEvents . serverless . service . service = 'my-service'
672
700
openwhiskCompileHttpEvents . serverless . service . provider = { namespace : "sample_ns" } ;
673
701
674
702
const httpEvent = {
0 commit comments