13
13
# limitations under the License.
14
14
15
15
from concurrent import futures
16
+ import time
16
17
17
18
import grpc
18
19
@@ -26,51 +27,98 @@ class TestServer(test_server_pb2_grpc.GRPCTestServerServicer):
26
27
# pylint: disable=no-self-use
27
28
28
29
def SimpleMethod (self , request , context ):
29
- if request .request_data == "error" :
30
+ if request .request_data == "abort" :
31
+ context .abort (
32
+ grpc .StatusCode .FAILED_PRECONDITION , request .request_data
33
+ )
34
+ elif request .request_data == "cancel" :
35
+ context .cancel ()
36
+ return test_server_pb2 .Response ()
37
+ elif request .request_data == "error" :
30
38
context .set_code (grpc .StatusCode .INVALID_ARGUMENT )
39
+ context .set_details (request .request_data )
31
40
return test_server_pb2 .Response ()
32
- response = test_server_pb2 .Response (
41
+ elif request .request_data == "exception" :
42
+ raise ValueError (request .request_data )
43
+ elif request .request_data == "sleep" :
44
+ time .sleep (0.5 )
45
+
46
+ return test_server_pb2 .Response (
33
47
server_id = SERVER_ID , response_data = "data"
34
48
)
35
- return response
36
49
37
50
def ClientStreamingMethod (self , request_iterator , context ):
38
51
data = list (request_iterator )
39
- if data [0 ].request_data == "error" :
52
+
53
+ if data [0 ].request_data == "abort" :
54
+ context .abort (
55
+ grpc .StatusCode .FAILED_PRECONDITION , data [0 ].request_data
56
+ )
57
+ elif data [0 ].request_data == "cancel" :
58
+ context .cancel ()
59
+ return test_server_pb2 .Response ()
60
+ elif data [0 ].request_data == "error" :
40
61
context .set_code (grpc .StatusCode .INVALID_ARGUMENT )
62
+ context .set_details (data [0 ].request_data )
41
63
return test_server_pb2 .Response ()
42
- response = test_server_pb2 .Response (
64
+ elif data [0 ].request_data == "exception" :
65
+ raise ValueError (data [0 ].request_data )
66
+ elif data [0 ].request_data == "sleep" :
67
+ time .sleep (0.5 )
68
+
69
+ return test_server_pb2 .Response (
43
70
server_id = SERVER_ID , response_data = "data"
44
71
)
45
- return response
46
72
47
73
def ServerStreamingMethod (self , request , context ):
48
- if request .request_data == "error" :
49
74
75
+ yield test_server_pb2 .Response (
76
+ server_id = SERVER_ID , response_data = "data"
77
+ )
78
+
79
+ if request .request_data == "abort" :
50
80
context .abort (
51
- code = grpc .StatusCode .INVALID_ARGUMENT ,
52
- details = "server stream error" ,
81
+ grpc .StatusCode .FAILED_PRECONDITION , request .request_data
53
82
)
83
+ elif request .request_data == "cancel" :
84
+ context .cancel ()
54
85
return test_server_pb2 .Response ()
86
+ elif request .request_data == "error" :
87
+ context .set_code (grpc .StatusCode .INVALID_ARGUMENT )
88
+ context .set_details (request .request_data )
89
+ return test_server_pb2 .Response ()
90
+ elif request .request_data == "exception" :
91
+ raise ValueError (request .request_data )
92
+ elif request .request_data == "sleep" :
93
+ time .sleep (0.5 )
55
94
56
- # create a generator
57
- def response_messages ():
58
- for _ in range (5 ):
59
- response = test_server_pb2 .Response (
60
- server_id = SERVER_ID , response_data = "data"
61
- )
62
- yield response
63
-
64
- return response_messages ()
95
+ for _ in range (5 ):
96
+ yield test_server_pb2 .Response (
97
+ server_id = SERVER_ID , response_data = "data"
98
+ )
65
99
66
100
def BidirectionalStreamingMethod (self , request_iterator , context ):
67
101
data = list (request_iterator )
68
- if data [0 ].request_data == "error" :
102
+
103
+ yield test_server_pb2 .Response (
104
+ server_id = SERVER_ID , response_data = "data"
105
+ )
106
+
107
+ if data [0 ].request_data == "abort" :
69
108
context .abort (
70
- code = grpc .StatusCode .INVALID_ARGUMENT ,
71
- details = "bidirectional error" ,
109
+ grpc .StatusCode .FAILED_PRECONDITION , data [0 ].request_data
72
110
)
111
+ elif data [0 ].request_data == "cancel" :
112
+ context .cancel ()
113
+ return
114
+ elif data [0 ].request_data == "error" :
115
+ context .set_code (grpc .StatusCode .INVALID_ARGUMENT )
116
+ context .set_details (data [0 ].request_data )
73
117
return
118
+ elif data [0 ].request_data == "exception" :
119
+ raise ValueError (data [0 ].request_data )
120
+ elif data [0 ].request_data == "sleep" :
121
+ time .sleep (0.5 )
74
122
75
123
for _ in range (5 ):
76
124
yield test_server_pb2 .Response (
0 commit comments