From 4b021467a576a3be7a03ed8cac74f4d80c753d79 Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Wed, 19 May 2021 12:55:53 -0700 Subject: [PATCH] failed grpc test --- .../tests/__snapshots__/grpc.test.js.snap | 1475 +++++++++++++++++ .../proto-tests/custom-message-2.proto | 16 + packages/handlers/grpc/test/handler.spec.ts | 1 + 3 files changed, 1492 insertions(+) create mode 100644 packages/handlers/grpc/test/fixtures/proto-tests/custom-message-2.proto diff --git a/examples/grpc-example/tests/__snapshots__/grpc.test.js.snap b/examples/grpc-example/tests/__snapshots__/grpc.test.js.snap index 54424fb9b8792..26e3065247f52 100644 --- a/examples/grpc-example/tests/__snapshots__/grpc.test.js.snap +++ b/examples/grpc-example/tests/__snapshots__/grpc.test.js.snap @@ -1525,3 +1525,1478 @@ Object { ], } `; + +exports[`gRPC Example should get movies correctly: grpc-schema 1`] = ` +Object { + "__schema": Object { + "directives": Array [ + Object { + "args": Array [ + Object { + "defaultValue": "\\"No longer supported\\"", + "deprecationReason": null, + "isDeprecated": false, + "name": "reason", + "type": Object { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "isRepeatable": false, + "locations": Array [ + "ARGUMENT_DEFINITION", + "ENUM_VALUE", + "FIELD_DEFINITION", + "INPUT_FIELD_DEFINITION", + ], + "name": "deprecated", + }, + Object { + "args": Array [ + Object { + "defaultValue": null, + "deprecationReason": null, + "isDeprecated": false, + "name": "if", + "type": Object { + "kind": "NON_NULL", + "name": null, + "ofType": Object { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + ], + "isRepeatable": false, + "locations": Array [ + "FIELD", + "FRAGMENT_SPREAD", + "INLINE_FRAGMENT", + ], + "name": "include", + }, + Object { + "args": Array [ + Object { + "defaultValue": null, + "deprecationReason": null, + "isDeprecated": false, + "name": "if", + "type": Object { + "kind": "NON_NULL", + "name": null, + "ofType": Object { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + ], + "isRepeatable": false, + "locations": Array [ + "FIELD", + "FRAGMENT_SPREAD", + "INLINE_FRAGMENT", + ], + "name": "skip", + }, + Object { + "args": Array [ + Object { + "defaultValue": null, + "deprecationReason": null, + "isDeprecated": false, + "name": "url", + "type": Object { + "kind": "NON_NULL", + "name": null, + "ofType": Object { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + ], + "isRepeatable": false, + "locations": Array [ + "SCALAR", + ], + "name": "specifiedBy", + }, + ], + "mutationType": null, + "queryType": Object { + "name": "Query", + }, + "subscriptionType": Object { + "name": "Subscription", + }, + "types": Array [ + Object { + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "BigInt", + "possibleTypes": null, + "specifiedByUrl": null, + }, + Object { + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Boolean", + "possibleTypes": null, + "specifiedByUrl": null, + }, + Object { + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Float", + "possibleTypes": null, + "specifiedByUrl": null, + }, + Object { + "enumValues": Array [ + Object { + "deprecationReason": null, + "isDeprecated": false, + "name": "ACTION", + }, + Object { + "deprecationReason": null, + "isDeprecated": false, + "name": "DRAMA", + }, + Object { + "deprecationReason": null, + "isDeprecated": false, + "name": "UNSPECIFIED", + }, + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "Genre", + "possibleTypes": null, + "specifiedByUrl": null, + }, + Object { + "enumValues": null, + "fields": Array [ + Object { + "args": Array [], + "deprecationReason": null, + "isDeprecated": false, + "name": "nanos", + "type": Object { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + Object { + "args": Array [], + "deprecationReason": null, + "isDeprecated": false, + "name": "seconds", + "type": Object { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": Array [], + "kind": "OBJECT", + "name": "GoogleProtobufTimestamp", + "possibleTypes": null, + "specifiedByUrl": null, + }, + Object { + "enumValues": null, + "fields": null, + "inputFields": Array [ + Object { + "defaultValue": null, + "deprecationReason": null, + "isDeprecated": false, + "name": "nanos", + "type": Object { + "kind": "SCALAR", + "name": "Int", + "ofType": null, + }, + }, + Object { + "defaultValue": null, + "deprecationReason": null, + "isDeprecated": false, + "name": "seconds", + "type": Object { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "GoogleProtobufTimestampInput", + "possibleTypes": null, + "specifiedByUrl": null, + }, + Object { + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "Int", + "possibleTypes": null, + "specifiedByUrl": null, + }, + Object { + "enumValues": null, + "fields": Array [ + Object { + "args": Array [], + "deprecationReason": null, + "isDeprecated": false, + "name": "cast", + "type": Object { + "kind": "LIST", + "name": null, + "ofType": Object { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + Object { + "args": Array [], + "deprecationReason": null, + "isDeprecated": false, + "name": "genre", + "type": Object { + "kind": "ENUM", + "name": "Genre", + "ofType": null, + }, + }, + Object { + "args": Array [], + "deprecationReason": null, + "isDeprecated": false, + "name": "name", + "type": Object { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + Object { + "args": Array [], + "deprecationReason": null, + "isDeprecated": false, + "name": "rating", + "type": Object { + "kind": "SCALAR", + "name": "Float", + "ofType": null, + }, + }, + Object { + "args": Array [], + "deprecationReason": null, + "isDeprecated": false, + "name": "time", + "type": Object { + "kind": "OBJECT", + "name": "GoogleProtobufTimestamp", + "ofType": null, + }, + }, + Object { + "args": Array [], + "deprecationReason": null, + "isDeprecated": false, + "name": "year", + "type": Object { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": Array [], + "kind": "OBJECT", + "name": "Movie", + "possibleTypes": null, + "specifiedByUrl": null, + }, + Object { + "enumValues": null, + "fields": null, + "inputFields": Array [ + Object { + "defaultValue": null, + "deprecationReason": null, + "isDeprecated": false, + "name": "cast", + "type": Object { + "kind": "LIST", + "name": null, + "ofType": Object { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + Object { + "defaultValue": null, + "deprecationReason": null, + "isDeprecated": false, + "name": "genre", + "type": Object { + "kind": "ENUM", + "name": "Genre", + "ofType": null, + }, + }, + Object { + "defaultValue": null, + "deprecationReason": null, + "isDeprecated": false, + "name": "name", + "type": Object { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + Object { + "defaultValue": null, + "deprecationReason": null, + "isDeprecated": false, + "name": "rating", + "type": Object { + "kind": "SCALAR", + "name": "Float", + "ofType": null, + }, + }, + Object { + "defaultValue": null, + "deprecationReason": null, + "isDeprecated": false, + "name": "time", + "type": Object { + "kind": "INPUT_OBJECT", + "name": "GoogleProtobufTimestampInput", + "ofType": null, + }, + }, + Object { + "defaultValue": null, + "deprecationReason": null, + "isDeprecated": false, + "name": "year", + "type": Object { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "MovieInput", + "possibleTypes": null, + "specifiedByUrl": null, + }, + Object { + "enumValues": null, + "fields": null, + "inputFields": Array [ + Object { + "defaultValue": null, + "deprecationReason": null, + "isDeprecated": false, + "name": "movie", + "type": Object { + "kind": "INPUT_OBJECT", + "name": "MovieInput", + "ofType": null, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "MovieRequestInput", + "possibleTypes": null, + "specifiedByUrl": null, + }, + Object { + "enumValues": null, + "fields": Array [ + Object { + "args": Array [], + "deprecationReason": null, + "isDeprecated": false, + "name": "result", + "type": Object { + "kind": "LIST", + "name": null, + "ofType": Object { + "kind": "OBJECT", + "name": "Movie", + "ofType": null, + }, + }, + }, + ], + "inputFields": null, + "interfaces": Array [], + "kind": "OBJECT", + "name": "MoviesResult", + "possibleTypes": null, + "specifiedByUrl": null, + }, + Object { + "enumValues": null, + "fields": Array [ + Object { + "args": Array [ + Object { + "defaultValue": "{}", + "deprecationReason": null, + "isDeprecated": false, + "name": "input", + "type": Object { + "kind": "INPUT_OBJECT", + "name": "MovieRequestInput", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "isDeprecated": false, + "name": "anotherExampleGetMovies", + "type": Object { + "kind": "OBJECT", + "name": "MoviesResult", + "ofType": null, + }, + }, + Object { + "args": Array [], + "deprecationReason": null, + "isDeprecated": false, + "name": "anotherExamplePing", + "type": Object { + "kind": "OBJECT", + "name": "ServerStatus", + "ofType": null, + }, + }, + Object { + "args": Array [ + Object { + "defaultValue": "{}", + "deprecationReason": null, + "isDeprecated": false, + "name": "input", + "type": Object { + "kind": "INPUT_OBJECT", + "name": "MovieRequestInput", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "isDeprecated": false, + "name": "getMovies", + "type": Object { + "kind": "OBJECT", + "name": "MoviesResult", + "ofType": null, + }, + }, + Object { + "args": Array [], + "deprecationReason": null, + "isDeprecated": false, + "name": "ping", + "type": Object { + "kind": "OBJECT", + "name": "ServerStatus", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": Array [], + "kind": "OBJECT", + "name": "Query", + "possibleTypes": null, + "specifiedByUrl": null, + }, + Object { + "enumValues": null, + "fields": null, + "inputFields": Array [ + Object { + "defaultValue": null, + "deprecationReason": null, + "isDeprecated": false, + "name": "castName", + "type": Object { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "interfaces": null, + "kind": "INPUT_OBJECT", + "name": "SearchByCastRequestInput", + "possibleTypes": null, + "specifiedByUrl": null, + }, + Object { + "enumValues": null, + "fields": Array [ + Object { + "args": Array [], + "deprecationReason": null, + "isDeprecated": false, + "name": "status", + "type": Object { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": Array [], + "kind": "OBJECT", + "name": "ServerStatus", + "possibleTypes": null, + "specifiedByUrl": null, + }, + Object { + "enumValues": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "SCALAR", + "name": "String", + "possibleTypes": null, + "specifiedByUrl": null, + }, + Object { + "enumValues": null, + "fields": Array [ + Object { + "args": Array [ + Object { + "defaultValue": "{}", + "deprecationReason": null, + "isDeprecated": false, + "name": "input", + "type": Object { + "kind": "INPUT_OBJECT", + "name": "SearchByCastRequestInput", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "isDeprecated": false, + "name": "anotherExampleSearchMoviesByCast", + "type": Object { + "kind": "OBJECT", + "name": "Movie", + "ofType": null, + }, + }, + Object { + "args": Array [ + Object { + "defaultValue": "{}", + "deprecationReason": null, + "isDeprecated": false, + "name": "input", + "type": Object { + "kind": "INPUT_OBJECT", + "name": "SearchByCastRequestInput", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "isDeprecated": false, + "name": "searchMoviesByCast", + "type": Object { + "kind": "OBJECT", + "name": "Movie", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": Array [], + "kind": "OBJECT", + "name": "Subscription", + "possibleTypes": null, + "specifiedByUrl": null, + }, + Object { + "enumValues": null, + "fields": Array [ + Object { + "args": Array [], + "deprecationReason": null, + "isDeprecated": false, + "name": "name", + "type": Object { + "kind": "NON_NULL", + "name": null, + "ofType": Object { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + Object { + "args": Array [], + "deprecationReason": null, + "isDeprecated": false, + "name": "description", + "type": Object { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + Object { + "args": Array [], + "deprecationReason": null, + "isDeprecated": false, + "name": "isRepeatable", + "type": Object { + "kind": "NON_NULL", + "name": null, + "ofType": Object { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + Object { + "args": Array [], + "deprecationReason": null, + "isDeprecated": false, + "name": "locations", + "type": Object { + "kind": "NON_NULL", + "name": null, + "ofType": Object { + "kind": "LIST", + "name": null, + "ofType": Object { + "kind": "NON_NULL", + "name": null, + "ofType": Object { + "kind": "ENUM", + "name": "__DirectiveLocation", + "ofType": null, + }, + }, + }, + }, + }, + Object { + "args": Array [], + "deprecationReason": null, + "isDeprecated": false, + "name": "args", + "type": Object { + "kind": "NON_NULL", + "name": null, + "ofType": Object { + "kind": "LIST", + "name": null, + "ofType": Object { + "kind": "NON_NULL", + "name": null, + "ofType": Object { + "kind": "OBJECT", + "name": "__InputValue", + "ofType": null, + }, + }, + }, + }, + }, + ], + "inputFields": null, + "interfaces": Array [], + "kind": "OBJECT", + "name": "__Directive", + "possibleTypes": null, + "specifiedByUrl": null, + }, + Object { + "enumValues": Array [ + Object { + "deprecationReason": null, + "isDeprecated": false, + "name": "QUERY", + }, + Object { + "deprecationReason": null, + "isDeprecated": false, + "name": "MUTATION", + }, + Object { + "deprecationReason": null, + "isDeprecated": false, + "name": "SUBSCRIPTION", + }, + Object { + "deprecationReason": null, + "isDeprecated": false, + "name": "FIELD", + }, + Object { + "deprecationReason": null, + "isDeprecated": false, + "name": "FRAGMENT_DEFINITION", + }, + Object { + "deprecationReason": null, + "isDeprecated": false, + "name": "FRAGMENT_SPREAD", + }, + Object { + "deprecationReason": null, + "isDeprecated": false, + "name": "INLINE_FRAGMENT", + }, + Object { + "deprecationReason": null, + "isDeprecated": false, + "name": "VARIABLE_DEFINITION", + }, + Object { + "deprecationReason": null, + "isDeprecated": false, + "name": "SCHEMA", + }, + Object { + "deprecationReason": null, + "isDeprecated": false, + "name": "SCALAR", + }, + Object { + "deprecationReason": null, + "isDeprecated": false, + "name": "OBJECT", + }, + Object { + "deprecationReason": null, + "isDeprecated": false, + "name": "FIELD_DEFINITION", + }, + Object { + "deprecationReason": null, + "isDeprecated": false, + "name": "ARGUMENT_DEFINITION", + }, + Object { + "deprecationReason": null, + "isDeprecated": false, + "name": "INTERFACE", + }, + Object { + "deprecationReason": null, + "isDeprecated": false, + "name": "UNION", + }, + Object { + "deprecationReason": null, + "isDeprecated": false, + "name": "ENUM", + }, + Object { + "deprecationReason": null, + "isDeprecated": false, + "name": "ENUM_VALUE", + }, + Object { + "deprecationReason": null, + "isDeprecated": false, + "name": "INPUT_OBJECT", + }, + Object { + "deprecationReason": null, + "isDeprecated": false, + "name": "INPUT_FIELD_DEFINITION", + }, + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "__DirectiveLocation", + "possibleTypes": null, + "specifiedByUrl": null, + }, + Object { + "enumValues": null, + "fields": Array [ + Object { + "args": Array [], + "deprecationReason": null, + "isDeprecated": false, + "name": "name", + "type": Object { + "kind": "NON_NULL", + "name": null, + "ofType": Object { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + Object { + "args": Array [], + "deprecationReason": null, + "isDeprecated": false, + "name": "description", + "type": Object { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + Object { + "args": Array [], + "deprecationReason": null, + "isDeprecated": false, + "name": "isDeprecated", + "type": Object { + "kind": "NON_NULL", + "name": null, + "ofType": Object { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + Object { + "args": Array [], + "deprecationReason": null, + "isDeprecated": false, + "name": "deprecationReason", + "type": Object { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": Array [], + "kind": "OBJECT", + "name": "__EnumValue", + "possibleTypes": null, + "specifiedByUrl": null, + }, + Object { + "enumValues": null, + "fields": Array [ + Object { + "args": Array [], + "deprecationReason": null, + "isDeprecated": false, + "name": "name", + "type": Object { + "kind": "NON_NULL", + "name": null, + "ofType": Object { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + Object { + "args": Array [], + "deprecationReason": null, + "isDeprecated": false, + "name": "description", + "type": Object { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + Object { + "args": Array [ + Object { + "defaultValue": "false", + "deprecationReason": null, + "isDeprecated": false, + "name": "includeDeprecated", + "type": Object { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "isDeprecated": false, + "name": "args", + "type": Object { + "kind": "NON_NULL", + "name": null, + "ofType": Object { + "kind": "LIST", + "name": null, + "ofType": Object { + "kind": "NON_NULL", + "name": null, + "ofType": Object { + "kind": "OBJECT", + "name": "__InputValue", + "ofType": null, + }, + }, + }, + }, + }, + Object { + "args": Array [], + "deprecationReason": null, + "isDeprecated": false, + "name": "type", + "type": Object { + "kind": "NON_NULL", + "name": null, + "ofType": Object { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + Object { + "args": Array [], + "deprecationReason": null, + "isDeprecated": false, + "name": "isDeprecated", + "type": Object { + "kind": "NON_NULL", + "name": null, + "ofType": Object { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + Object { + "args": Array [], + "deprecationReason": null, + "isDeprecated": false, + "name": "deprecationReason", + "type": Object { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": Array [], + "kind": "OBJECT", + "name": "__Field", + "possibleTypes": null, + "specifiedByUrl": null, + }, + Object { + "enumValues": null, + "fields": Array [ + Object { + "args": Array [], + "deprecationReason": null, + "isDeprecated": false, + "name": "name", + "type": Object { + "kind": "NON_NULL", + "name": null, + "ofType": Object { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + }, + Object { + "args": Array [], + "deprecationReason": null, + "isDeprecated": false, + "name": "description", + "type": Object { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + Object { + "args": Array [], + "deprecationReason": null, + "isDeprecated": false, + "name": "type", + "type": Object { + "kind": "NON_NULL", + "name": null, + "ofType": Object { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + Object { + "args": Array [], + "deprecationReason": null, + "isDeprecated": false, + "name": "defaultValue", + "type": Object { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + Object { + "args": Array [], + "deprecationReason": null, + "isDeprecated": false, + "name": "isDeprecated", + "type": Object { + "kind": "NON_NULL", + "name": null, + "ofType": Object { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + }, + Object { + "args": Array [], + "deprecationReason": null, + "isDeprecated": false, + "name": "deprecationReason", + "type": Object { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": Array [], + "kind": "OBJECT", + "name": "__InputValue", + "possibleTypes": null, + "specifiedByUrl": null, + }, + Object { + "enumValues": null, + "fields": Array [ + Object { + "args": Array [], + "deprecationReason": null, + "isDeprecated": false, + "name": "description", + "type": Object { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + Object { + "args": Array [], + "deprecationReason": null, + "isDeprecated": false, + "name": "types", + "type": Object { + "kind": "NON_NULL", + "name": null, + "ofType": Object { + "kind": "LIST", + "name": null, + "ofType": Object { + "kind": "NON_NULL", + "name": null, + "ofType": Object { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + }, + }, + Object { + "args": Array [], + "deprecationReason": null, + "isDeprecated": false, + "name": "queryType", + "type": Object { + "kind": "NON_NULL", + "name": null, + "ofType": Object { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + Object { + "args": Array [], + "deprecationReason": null, + "isDeprecated": false, + "name": "mutationType", + "type": Object { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + Object { + "args": Array [], + "deprecationReason": null, + "isDeprecated": false, + "name": "subscriptionType", + "type": Object { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + Object { + "args": Array [], + "deprecationReason": null, + "isDeprecated": false, + "name": "directives", + "type": Object { + "kind": "NON_NULL", + "name": null, + "ofType": Object { + "kind": "LIST", + "name": null, + "ofType": Object { + "kind": "NON_NULL", + "name": null, + "ofType": Object { + "kind": "OBJECT", + "name": "__Directive", + "ofType": null, + }, + }, + }, + }, + }, + ], + "inputFields": null, + "interfaces": Array [], + "kind": "OBJECT", + "name": "__Schema", + "possibleTypes": null, + "specifiedByUrl": null, + }, + Object { + "enumValues": null, + "fields": Array [ + Object { + "args": Array [], + "deprecationReason": null, + "isDeprecated": false, + "name": "kind", + "type": Object { + "kind": "NON_NULL", + "name": null, + "ofType": Object { + "kind": "ENUM", + "name": "__TypeKind", + "ofType": null, + }, + }, + }, + Object { + "args": Array [], + "deprecationReason": null, + "isDeprecated": false, + "name": "name", + "type": Object { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + Object { + "args": Array [], + "deprecationReason": null, + "isDeprecated": false, + "name": "description", + "type": Object { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + Object { + "args": Array [], + "deprecationReason": null, + "isDeprecated": false, + "name": "specifiedByUrl", + "type": Object { + "kind": "SCALAR", + "name": "String", + "ofType": null, + }, + }, + Object { + "args": Array [ + Object { + "defaultValue": "false", + "deprecationReason": null, + "isDeprecated": false, + "name": "includeDeprecated", + "type": Object { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "isDeprecated": false, + "name": "fields", + "type": Object { + "kind": "LIST", + "name": null, + "ofType": Object { + "kind": "NON_NULL", + "name": null, + "ofType": Object { + "kind": "OBJECT", + "name": "__Field", + "ofType": null, + }, + }, + }, + }, + Object { + "args": Array [], + "deprecationReason": null, + "isDeprecated": false, + "name": "interfaces", + "type": Object { + "kind": "LIST", + "name": null, + "ofType": Object { + "kind": "NON_NULL", + "name": null, + "ofType": Object { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + }, + Object { + "args": Array [], + "deprecationReason": null, + "isDeprecated": false, + "name": "possibleTypes", + "type": Object { + "kind": "LIST", + "name": null, + "ofType": Object { + "kind": "NON_NULL", + "name": null, + "ofType": Object { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + }, + }, + Object { + "args": Array [ + Object { + "defaultValue": "false", + "deprecationReason": null, + "isDeprecated": false, + "name": "includeDeprecated", + "type": Object { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "isDeprecated": false, + "name": "enumValues", + "type": Object { + "kind": "LIST", + "name": null, + "ofType": Object { + "kind": "NON_NULL", + "name": null, + "ofType": Object { + "kind": "OBJECT", + "name": "__EnumValue", + "ofType": null, + }, + }, + }, + }, + Object { + "args": Array [ + Object { + "defaultValue": "false", + "deprecationReason": null, + "isDeprecated": false, + "name": "includeDeprecated", + "type": Object { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null, + }, + }, + ], + "deprecationReason": null, + "isDeprecated": false, + "name": "inputFields", + "type": Object { + "kind": "LIST", + "name": null, + "ofType": Object { + "kind": "NON_NULL", + "name": null, + "ofType": Object { + "kind": "OBJECT", + "name": "__InputValue", + "ofType": null, + }, + }, + }, + }, + Object { + "args": Array [], + "deprecationReason": null, + "isDeprecated": false, + "name": "ofType", + "type": Object { + "kind": "OBJECT", + "name": "__Type", + "ofType": null, + }, + }, + ], + "inputFields": null, + "interfaces": Array [], + "kind": "OBJECT", + "name": "__Type", + "possibleTypes": null, + "specifiedByUrl": null, + }, + Object { + "enumValues": Array [ + Object { + "deprecationReason": null, + "isDeprecated": false, + "name": "SCALAR", + }, + Object { + "deprecationReason": null, + "isDeprecated": false, + "name": "OBJECT", + }, + Object { + "deprecationReason": null, + "isDeprecated": false, + "name": "INTERFACE", + }, + Object { + "deprecationReason": null, + "isDeprecated": false, + "name": "UNION", + }, + Object { + "deprecationReason": null, + "isDeprecated": false, + "name": "ENUM", + }, + Object { + "deprecationReason": null, + "isDeprecated": false, + "name": "INPUT_OBJECT", + }, + Object { + "deprecationReason": null, + "isDeprecated": false, + "name": "LIST", + }, + Object { + "deprecationReason": null, + "isDeprecated": false, + "name": "NON_NULL", + }, + ], + "fields": null, + "inputFields": null, + "interfaces": null, + "kind": "ENUM", + "name": "__TypeKind", + "possibleTypes": null, + "specifiedByUrl": null, + }, + ], + }, +} +`; diff --git a/packages/handlers/grpc/test/fixtures/proto-tests/custom-message-2.proto b/packages/handlers/grpc/test/fixtures/proto-tests/custom-message-2.proto new file mode 100644 index 0000000000000..81cd209b7a44d --- /dev/null +++ b/packages/handlers/grpc/test/fixtures/proto-tests/custom-message-2.proto @@ -0,0 +1,16 @@ +/* This is an auto generated file. Please do not change it. */ +syntax = "proto3"; +package foo; +service BamService { + rpc GetFOOs (GetFOOsRequest) returns (GetFOOsResponse) {} +} + +message GetFOOsRequest { + int32 id = 1; +} +message FOO { + int64 id = 1; +} +message GetFOOsResponse { + repeated FOO foos = 1; +} diff --git a/packages/handlers/grpc/test/handler.spec.ts b/packages/handlers/grpc/test/handler.spec.ts index 7f879eeafdff2..b24e82ae42cfb 100644 --- a/packages/handlers/grpc/test/handler.spec.ts +++ b/packages/handlers/grpc/test/handler.spec.ts @@ -14,6 +14,7 @@ describe.each<[string, string, string, string]>([ ['With Underscores', 'Example', 'io.xtech', 'underscores.proto'], ['Outide', 'Example', 'io.outside', 'outside.proto'], ['Custom Message', 'BamService', 'foos', 'custom-message.proto'], + ['Custom Message2', 'BamService', 'foo', 'custom-message-2.proto'], ])('Interpreting Protos', (name, serviceName, packageName, file) => { test(`should load the ${name} proto`, async () => { const cache = new InMemoryLRUCache();