@@ -430,6 +430,7 @@ describe('Server', () => {
430
430
( error : ServiceError , response : any ) => {
431
431
assert ( error ) ;
432
432
assert . strictEqual ( error . code , grpc . status . UNIMPLEMENTED ) ;
433
+ assert . match ( error . details , / d o e s n o t i m p l e m e n t t h e m e t h o d .* D i v / ) ;
433
434
done ( ) ;
434
435
}
435
436
) ;
@@ -439,6 +440,7 @@ describe('Server', () => {
439
440
const call = client . sum ( ( error : ServiceError , response : any ) => {
440
441
assert ( error ) ;
441
442
assert . strictEqual ( error . code , grpc . status . UNIMPLEMENTED ) ;
443
+ assert . match ( error . details , / d o e s n o t i m p l e m e n t t h e m e t h o d .* S u m / ) ;
442
444
done ( ) ;
443
445
} ) ;
444
446
@@ -455,6 +457,7 @@ describe('Server', () => {
455
457
call . on ( 'error' , ( err : ServiceError ) => {
456
458
assert ( err ) ;
457
459
assert . strictEqual ( err . code , grpc . status . UNIMPLEMENTED ) ;
460
+ assert . match ( err . details , / d o e s n o t i m p l e m e n t t h e m e t h o d .* F i b / ) ;
458
461
done ( ) ;
459
462
} ) ;
460
463
} ) ;
@@ -469,6 +472,93 @@ describe('Server', () => {
469
472
call . on ( 'error' , ( err : ServiceError ) => {
470
473
assert ( err ) ;
471
474
assert . strictEqual ( err . code , grpc . status . UNIMPLEMENTED ) ;
475
+ assert . match ( err . details , / d o e s n o t i m p l e m e n t t h e m e t h o d .* D i v M a n y / ) ;
476
+ done ( ) ;
477
+ } ) ;
478
+
479
+ call . end ( ) ;
480
+ } ) ;
481
+ } ) ;
482
+
483
+ describe ( 'Unregistered service' , ( ) => {
484
+ let server : Server ;
485
+ let client : ServiceClient ;
486
+
487
+ const mathProtoFile = path . join ( __dirname , 'fixtures' , 'math.proto' ) ;
488
+ const mathClient = ( loadProtoFile ( mathProtoFile ) . math as any ) . Math ;
489
+
490
+ before ( done => {
491
+ server = new Server ( ) ;
492
+ // Don't register a service at all
493
+ server . bindAsync (
494
+ 'localhost:0' ,
495
+ ServerCredentials . createInsecure ( ) ,
496
+ ( err , port ) => {
497
+ assert . ifError ( err ) ;
498
+ client = new mathClient (
499
+ `localhost:${ port } ` ,
500
+ grpc . credentials . createInsecure ( )
501
+ ) ;
502
+ server . start ( ) ;
503
+ done ( ) ;
504
+ }
505
+ ) ;
506
+ } ) ;
507
+
508
+ after ( done => {
509
+ client . close ( ) ;
510
+ server . tryShutdown ( done ) ;
511
+ } ) ;
512
+
513
+ it ( 'should respond to a unary call with UNIMPLEMENTED' , done => {
514
+ client . div (
515
+ { divisor : 4 , dividend : 3 } ,
516
+ ( error : ServiceError , response : any ) => {
517
+ assert ( error ) ;
518
+ assert . strictEqual ( error . code , grpc . status . UNIMPLEMENTED ) ;
519
+ assert . match ( error . details , / d o e s n o t i m p l e m e n t t h e m e t h o d .* D i v / ) ;
520
+ done ( ) ;
521
+ }
522
+ ) ;
523
+ } ) ;
524
+
525
+ it ( 'should respond to a client stream with UNIMPLEMENTED' , done => {
526
+ const call = client . sum ( ( error : ServiceError , response : any ) => {
527
+ assert ( error ) ;
528
+ assert . strictEqual ( error . code , grpc . status . UNIMPLEMENTED ) ;
529
+ assert . match ( error . details , / d o e s n o t i m p l e m e n t t h e m e t h o d .* S u m / ) ;
530
+ done ( ) ;
531
+ } ) ;
532
+
533
+ call . end ( ) ;
534
+ } ) ;
535
+
536
+ it ( 'should respond to a server stream with UNIMPLEMENTED' , done => {
537
+ const call = client . fib ( { limit : 5 } ) ;
538
+
539
+ call . on ( 'data' , ( value : any ) => {
540
+ assert . fail ( 'No messages expected' ) ;
541
+ } ) ;
542
+
543
+ call . on ( 'error' , ( err : ServiceError ) => {
544
+ assert ( err ) ;
545
+ assert . strictEqual ( err . code , grpc . status . UNIMPLEMENTED ) ;
546
+ assert . match ( err . details , / d o e s n o t i m p l e m e n t t h e m e t h o d .* F i b / ) ;
547
+ done ( ) ;
548
+ } ) ;
549
+ } ) ;
550
+
551
+ it ( 'should respond to a bidi call with UNIMPLEMENTED' , done => {
552
+ const call = client . divMany ( ) ;
553
+
554
+ call . on ( 'data' , ( value : any ) => {
555
+ assert . fail ( 'No messages expected' ) ;
556
+ } ) ;
557
+
558
+ call . on ( 'error' , ( err : ServiceError ) => {
559
+ assert ( err ) ;
560
+ assert . strictEqual ( err . code , grpc . status . UNIMPLEMENTED ) ;
561
+ assert . match ( err . details , / d o e s n o t i m p l e m e n t t h e m e t h o d .* D i v M a n y / ) ;
472
562
done ( ) ;
473
563
} ) ;
474
564
0 commit comments