@@ -454,63 +454,89 @@ func returnedOpenAPI() *openapi_v2.Document {
454
454
}
455
455
}
456
456
457
- func openapiSchemaDeprecatedFakeServer (status int ) (* httptest.Server , error ) {
458
- var sErr error
457
+ func openapiSchemaDeprecatedFakeServer (status int , t * testing.T ) (* httptest.Server , error ) {
459
458
server := httptest .NewServer (http .HandlerFunc (func (w http.ResponseWriter , req * http.Request ) {
460
459
if req .URL .Path == "/openapi/v2" {
461
460
// write the error status for the new endpoint request
462
461
w .WriteHeader (status )
463
462
return
464
463
}
465
464
if req .URL .Path != "/swagger-2.0.0.pb-v1" {
466
- sErr = fmt .Errorf ("Unexpected url %v" , req .URL )
465
+ errMsg := fmt .Sprintf ("Unexpected url %v" , req .URL )
466
+ w .WriteHeader (http .StatusNotFound )
467
+ w .Write ([]byte (errMsg ))
468
+ t .Errorf ("testing should fail as %s" , errMsg )
469
+ return
467
470
}
468
471
if req .Method != "GET" {
469
- sErr = fmt .Errorf ("Unexpected method %v" , req .Method )
472
+ errMsg := fmt .Sprintf ("Unexpected method %v" , req .Method )
473
+ w .WriteHeader (http .StatusMethodNotAllowed )
474
+ w .Write ([]byte (errMsg ))
475
+ t .Errorf ("testing should fail as %s" , errMsg )
476
+ return
470
477
}
471
478
472
479
mime .AddExtensionType (".pb-v1" , "application/com.github.googleapis.gnostic.OpenAPIv2@68f4ded+protobuf" )
473
480
474
481
output , err := proto .Marshal (returnedOpenAPI ())
475
482
if err != nil {
476
- sErr = err
483
+ errMsg := fmt .Sprintf ("Unexpected marshal error: %v" , err )
484
+ w .WriteHeader (http .StatusInternalServerError )
485
+ w .Write ([]byte (errMsg ))
486
+ t .Errorf ("testing should fail as %s" , errMsg )
477
487
return
478
488
}
479
489
w .WriteHeader (http .StatusOK )
480
490
w .Write (output )
481
491
}))
482
- return server , sErr
492
+
493
+ return server , nil
483
494
}
484
495
485
- func openapiSchemaFakeServer () (* httptest.Server , error ) {
486
- var sErr error
496
+ func openapiSchemaFakeServer (t * testing.T ) (* httptest.Server , error ) {
487
497
server := httptest .NewServer (http .HandlerFunc (func (w http.ResponseWriter , req * http.Request ) {
488
498
if req .URL .Path != "/openapi/v2" {
489
- sErr = fmt .Errorf ("Unexpected url %v" , req .URL )
499
+ errMsg := fmt .Sprintf ("Unexpected url %v" , req .URL )
500
+ w .WriteHeader (http .StatusNotFound )
501
+ w .Write ([]byte (errMsg ))
502
+ t .Errorf ("testing should fail as %s" , errMsg )
503
+ return
490
504
}
491
505
if req .Method != "GET" {
492
- sErr = fmt .Errorf ("Unexpected method %v" , req .Method )
506
+ errMsg := fmt .Sprintf ("Unexpected method %v" , req .Method )
507
+ w .WriteHeader (http .StatusMethodNotAllowed )
508
+ w .Write ([]byte (errMsg ))
509
+ t .Errorf ("testing should fail as %s" , errMsg )
510
+ return
493
511
}
494
512
decipherableFormat := req .Header .Get ("Accept" )
495
513
if decipherableFormat != "application/[email protected] +protobuf" {
496
- sErr = fmt .Errorf ("Unexpected accept mime type %v" , decipherableFormat )
514
+ errMsg := fmt .Sprintf ("Unexpected accept mime type %v" , decipherableFormat )
515
+ w .WriteHeader (http .StatusUnsupportedMediaType )
516
+ w .Write ([]byte (errMsg ))
517
+ t .Errorf ("testing should fail as %s" , errMsg )
518
+ return
497
519
}
498
520
499
521
mime .AddExtensionType (".pb-v1" , "application/com.github.googleapis.gnostic.OpenAPIv2@68f4ded+protobuf" )
500
522
501
523
output , err := proto .Marshal (returnedOpenAPI ())
502
524
if err != nil {
503
- sErr = err
525
+ errMsg := fmt .Sprintf ("Unexpected marshal error: %v" , err )
526
+ w .WriteHeader (http .StatusInternalServerError )
527
+ w .Write ([]byte (errMsg ))
528
+ t .Errorf ("testing should fail as %s" , errMsg )
504
529
return
505
530
}
506
531
w .WriteHeader (http .StatusOK )
507
532
w .Write (output )
508
533
}))
509
- return server , sErr
534
+
535
+ return server , nil
510
536
}
511
537
512
538
func TestGetOpenAPISchema (t * testing.T ) {
513
- server , err := openapiSchemaFakeServer ()
539
+ server , err := openapiSchemaFakeServer (t )
514
540
if err != nil {
515
541
t .Errorf ("unexpected error starting fake server: %v" , err )
516
542
}
@@ -527,7 +553,7 @@ func TestGetOpenAPISchema(t *testing.T) {
527
553
}
528
554
529
555
func TestGetOpenAPISchemaForbiddenFallback (t * testing.T ) {
530
- server , err := openapiSchemaDeprecatedFakeServer (http .StatusForbidden )
556
+ server , err := openapiSchemaDeprecatedFakeServer (http .StatusForbidden , t )
531
557
if err != nil {
532
558
t .Errorf ("unexpected error starting fake server: %v" , err )
533
559
}
@@ -544,7 +570,7 @@ func TestGetOpenAPISchemaForbiddenFallback(t *testing.T) {
544
570
}
545
571
546
572
func TestGetOpenAPISchemaNotFoundFallback (t * testing.T ) {
547
- server , err := openapiSchemaDeprecatedFakeServer (http .StatusNotFound )
573
+ server , err := openapiSchemaDeprecatedFakeServer (http .StatusNotFound , t )
548
574
if err != nil {
549
575
t .Errorf ("unexpected error starting fake server: %v" , err )
550
576
}
@@ -561,7 +587,7 @@ func TestGetOpenAPISchemaNotFoundFallback(t *testing.T) {
561
587
}
562
588
563
589
func TestGetOpenAPISchemaNotAcceptableFallback (t * testing.T ) {
564
- server , err := openapiSchemaDeprecatedFakeServer (http .StatusNotAcceptable )
590
+ server , err := openapiSchemaDeprecatedFakeServer (http .StatusNotAcceptable , t )
565
591
if err != nil {
566
592
t .Errorf ("unexpected error starting fake server: %v" , err )
567
593
}
0 commit comments