Skip to content

Commit 613c832

Browse files
authored
Merge pull request #2903 from murgatroid99/grpc-js_server_custom_error_code
grpc-js: Add test for custom error code
2 parents 189bef2 + e55e596 commit 613c832

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

packages/grpc-js/test/fixtures/test_service.proto

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ message Request {
2222
string message = 2;
2323
int32 errorAfter = 3;
2424
int32 responseLength = 4;
25+
int32 code = 5;
2526
}
2627

2728
message Response {

packages/grpc-js/test/test-server-errors.ts

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -395,10 +395,11 @@ describe('Other conditions', () => {
395395
const req = call.request;
396396

397397
if (req.error) {
398+
const code = req.code || grpc.status.UNKNOWN;
398399
const details = req.message || 'Requested error';
399400

400401
cb(
401-
{ code: grpc.status.UNKNOWN, details } as ServiceError,
402+
{ code, details } as ServiceError,
402403
null,
403404
trailerMetadata
404405
);
@@ -816,6 +817,18 @@ describe('Other conditions', () => {
816817
}
817818
);
818819
});
820+
821+
it('for a non-standard error code', done => {
822+
client.unary(
823+
{ error: true, code: 57 },
824+
(err: ServiceError, data: any) => {
825+
assert(err);
826+
assert.strictEqual(err.code, 57);
827+
assert.strictEqual(err.details, 'Requested error');
828+
done();
829+
}
830+
);
831+
});
819832
});
820833

821834
describe('should handle server stream errors correctly', () => {

0 commit comments

Comments
 (0)