Skip to content

Commit

Permalink
Add helloworld.proto and re-generate files (nginx#3091)
Browse files Browse the repository at this point in the history
  • Loading branch information
lucacome authored and coolbry95 committed Sep 23, 2022
1 parent 873c465 commit f5423d4
Show file tree
Hide file tree
Showing 8 changed files with 153 additions and 159 deletions.
24 changes: 24 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,27 @@ skip_gitignore = true
balanced_wrapping = true
filter_files = true
skip_glob = ['*pb2*']

[tool.pytest.ini_options]
pythonpath = [
".",
"tests/suite",
"tests/suite/grpc",
]
addopts = "--tb=native -ra --disable-warnings -x -l --profile -v"
log_cli = true
markers =[
"smoke",
"vsr",
"policies",
"vs",
"ts",
"ingresses",
"appprotect",
"rewrite",
"skip_for_nginx_oss",
]
testpaths = [
"tests",
"perf-tests",
]
2 changes: 2 additions & 0 deletions tests/docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,6 @@ RUN curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s

COPY --link tests /workspace/tests

COPY --link pyproject.toml /workspace/

ENTRYPOINT ["python3", "-m", "pytest"]
13 changes: 0 additions & 13 deletions tests/pytest.ini

This file was deleted.

Empty file removed tests/suite/__init__.py
Empty file.
7 changes: 7 additions & 0 deletions tests/suite/grpc/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
The files here are generated using `helloworld.proto` from the grpc [repo](https://github.com/grpc/grpc-go/tree/master/examples/helloworld/helloworld).

To update the files run the following command:

```bash
python3 -m grpc_tools.protoc --proto_path=. --python_out=. --grpc_python_out=. helloworld.proto
```
38 changes: 38 additions & 0 deletions tests/suite/grpc/helloworld.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
// Copyright 2015 gRPC authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

syntax = "proto3";

option go_package = "google.golang.org/grpc/examples/helloworld/helloworld";
option java_multiple_files = true;
option java_package = "io.grpc.examples.helloworld";
option java_outer_classname = "HelloWorldProto";

package helloworld;

// The greeting service definition.
service Greeter {
// Sends a greeting
rpc SayHello (HelloRequest) returns (HelloReply) {}
}

// The request message containing the user's name.
message HelloRequest {
string name = 1;
}

// The response message containing the greetings
message HelloReply {
string message = 1;
}
138 changes: 26 additions & 112 deletions tests/suite/grpc/helloworld_pb2.py

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

90 changes: 56 additions & 34 deletions tests/suite/grpc/helloworld_pb2_grpc.py
Original file line number Diff line number Diff line change
@@ -1,48 +1,70 @@
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
"""Client and server classes corresponding to protobuf-defined services."""
import grpc

from suite.grpc.helloworld_pb2 import (
HelloRequest,
HelloReply,
)
import helloworld_pb2 as helloworld__pb2


class GreeterStub(object):
"""The greeting service definition.
"""

def __init__(self, channel):
"""Constructor.
Args:
channel: A grpc.Channel.
"""The greeting service definition.
"""
self.SayHello = channel.unary_unary(
'/helloworld.Greeter/SayHello',
request_serializer=HelloRequest.SerializeToString,
response_deserializer=HelloReply.FromString,
)

def __init__(self, channel):
"""Constructor.
Args:
channel: A grpc.Channel.
"""
self.SayHello = channel.unary_unary(
'/helloworld.Greeter/SayHello',
request_serializer=helloworld__pb2.HelloRequest.SerializeToString,
response_deserializer=helloworld__pb2.HelloReply.FromString,
)

class GreeterServicer(object):
"""The greeting service definition.
"""

def SayHello(self, request, context):
"""Sends a greeting
class GreeterServicer(object):
"""The greeting service definition.
"""
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
context.set_details('Method not implemented!')
raise NotImplementedError('Method not implemented!')

def SayHello(self, request, context):
"""Sends a greeting
"""
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
context.set_details('Method not implemented!')
raise NotImplementedError('Method not implemented!')


def add_GreeterServicer_to_server(servicer, server):
rpc_method_handlers = {
'SayHello': grpc.unary_unary_rpc_method_handler(
servicer.SayHello,
request_deserializer=HelloRequest.FromString,
response_serializer=HelloReply.SerializeToString,
),
}
generic_handler = grpc.method_handlers_generic_handler(
'helloworld.Greeter', rpc_method_handlers)
server.add_generic_rpc_handlers((generic_handler,))
rpc_method_handlers = {
'SayHello': grpc.unary_unary_rpc_method_handler(
servicer.SayHello,
request_deserializer=helloworld__pb2.HelloRequest.FromString,
response_serializer=helloworld__pb2.HelloReply.SerializeToString,
),
}
generic_handler = grpc.method_handlers_generic_handler(
'helloworld.Greeter', rpc_method_handlers)
server.add_generic_rpc_handlers((generic_handler,))


# This class is part of an EXPERIMENTAL API.
class Greeter(object):
"""The greeting service definition.
"""

@staticmethod
def SayHello(request,
target,
options=(),
channel_credentials=None,
call_credentials=None,
insecure=False,
compression=None,
wait_for_ready=None,
timeout=None,
metadata=None):
return grpc.experimental.unary_unary(request, target, '/helloworld.Greeter/SayHello',
helloworld__pb2.HelloRequest.SerializeToString,
helloworld__pb2.HelloReply.FromString,
options, channel_credentials,
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

0 comments on commit f5423d4

Please sign in to comment.