Skip to content

Commit

Permalink
Add ts_package extension
Browse files Browse the repository at this point in the history
  • Loading branch information
higebu committed Apr 27, 2021
1 parent 5e89fe1 commit 885a25e
Show file tree
Hide file tree
Showing 16 changed files with 505 additions and 92 deletions.
55 changes: 55 additions & 0 deletions integration_tests/google/protobuf/empty.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
// Protocol Buffers - Google's data interchange format
// Copyright 2008 Google Inc. All rights reserved.
// https://developers.google.com/protocol-buffers/
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

syntax = "proto3";

package google.protobuf;

option csharp_namespace = "Google.Protobuf.WellKnownTypes";
option go_package = "google.golang.org/protobuf/types/known/emptypb";
option java_package = "com.google.protobuf";
option java_outer_classname = "EmptyProto";
option java_multiple_files = true;
option objc_class_prefix = "GPB";
option cc_enable_arenas = true;

// A generic empty message that you can re-use to avoid defining duplicated
// empty messages in your APIs. A typical example is to use it as the request
// or the response type of an API method. For instance:
//
// service Foo {
// rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
// }
//
// The JSON representation for `Empty` is empty JSON object `{}`.
message Empty {}

import "protoc-gen-grpc-gateway-ts/options/ts_package.proto";
option (grpc.gateway.protoc_gen_grpc_gateway_ts.options.ts_package) = "google-protobuf/google/protobuf/empty_pb";
4 changes: 4 additions & 0 deletions integration_tests/integration_test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -52,5 +52,9 @@ describe("test grpc-gateway-ts communication", () => {
expect(getField(result, 'patch_result')).to.equal(33)
})

it('http delete check request', async () => {
const result = await CounterService.HTTPDelete({a: 10}, {pathPrefix: "http://localhost:8081"})
expect(result).to.be.empty
})

})
9 changes: 2 additions & 7 deletions integration_tests/msg.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 12 additions & 0 deletions integration_tests/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions integration_tests/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,12 @@
"license": "ISC",
"devDependencies": {
"@types/chai": "^4.2.14",
"@types/google-protobuf": "^3.15.1",
"@types/lodash.camelcase": "^4.3.6",
"@types/mocha": "^8.0.3",
"@types/ramda": "^0.27.32",
"chai": "^4.2.0",
"google-protobuf": "^3.15.8",
"karma": "^5.2.3",
"karma-chai": "^0.1.0",
"karma-chrome-launcher": "^3.1.0",
Expand Down
2 changes: 1 addition & 1 deletion integration_tests/scripts/gen-protos.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/bin/bash
USE_PROTO_NAMES=${1:-"false"}
cd .. && go install && cd integration_tests && \
protoc -I . \
protoc -I . -I ../.. \
--grpc-gateway-ts_out=logtostderr=true,use_proto_names=$USE_PROTO_NAMES,loglevel=debug:./ \
service.proto msg.proto empty.proto
2 changes: 1 addition & 1 deletion integration_tests/scripts/gen-server-proto.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/bin/bash

protoc -I . --go_out ./ --go_opt plugins=grpc --go_opt paths=source_relative \
protoc -I . -I ../.. --go_out ./ --go_opt plugins=grpc --go_opt paths=source_relative \
--grpc-gateway_out ./ --grpc-gateway_opt logtostderr=true \
--grpc-gateway_opt paths=source_relative \
--grpc-gateway_opt generate_unbound_methods=true \
Expand Down
6 changes: 6 additions & 0 deletions integration_tests/service.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ package main
import (
"context"
"time"

"google.golang.org/protobuf/types/known/emptypb"
)

type RealCounterService struct{}
Expand Down Expand Up @@ -61,3 +63,7 @@ func (r *RealCounterService) HTTPPatch(ctx context.Context, in *HttpPatchRequest
PatchResult: in.A + in.C,
}, nil
}

func (r *RealCounterService) HTTPDelete(ctx context.Context, req *HttpDeleteRequest) (*emptypb.Empty, error) {
return &emptypb.Empty{}, nil
}
Loading

0 comments on commit 885a25e

Please sign in to comment.