def health_check_query(self): try: with grpc.insecure_channel(self._server_address) as channel: response = HealthStub(channel).Check( health_pb2.HealthCheckRequest(service="DagsterApi")) except grpc.RpcError as e: print(e) # pylint: disable=print-call return health_pb2.HealthCheckResponse.UNKNOWN # pylint: disable=no-member status_number = response.status # pylint: disable=no-member return health_pb2.HealthCheckResponse.ServingStatus.Name(status_number)
def test_server(self): from protos.blueprintservice_pb2_grpc import BlueprintServiceStub from protos.testmessage_pb2 import TestMessage from protos.user_pb2 import User with insecure_channel("0.0.0.0:50051") as channel: response = BlueprintServiceStub(channel).UnaryUnary( TestMessage(user=User(name="unary_unary"))) self.assertEqual("unary_unary", response.user.name) self.assertEqual(1, self.app_process_request.call_count) self.assertEqual(1, self.app_process_response.call_count) self.assertEqual(1, self.blueprint_after_request.call_count) self.assertEqual(1, self.blueprint_before_request.call_count) for response in BlueprintServiceStub(channel).UnaryStream( TestMessage(user=User(name="unary_stream"))): pass self.assertEqual("unary_stream", response.user.name) self.assertEqual(2, self.app_process_request.call_count) self.assertEqual(1, self.app_process_response.call_count) self.assertEqual(1, self.blueprint_after_request.call_count) self.assertEqual(2, self.blueprint_before_request.call_count) response = BlueprintServiceStub(channel).StreamUnary( iter([TestMessage(user=User(name="stream_unary"))])) self.assertEqual("stream_unary", response.user.name) self.assertEqual(2, self.app_process_request.call_count) self.assertEqual(2, self.app_process_response.call_count) self.assertEqual(2, self.blueprint_after_request.call_count) self.assertEqual(2, self.blueprint_before_request.call_count) for response in BlueprintServiceStub(channel).StreamStream( iter([TestMessage(user=User(name="stream_stream"))])): pass self.assertEqual("stream_stream", response.user.name) self.assertEqual(2, self.app_process_request.call_count) self.assertEqual(2, self.app_process_response.call_count) self.assertEqual(2, self.blueprint_after_request.call_count) self.assertEqual(2, self.blueprint_before_request.call_count) self.assertEqual( 1, HealthStub(channel).Check(HealthCheckRequest()).status) for response in ServerReflectionStub(channel).ServerReflectionInfo( iter([ServerReflectionRequest(list_services="")])): self.assertEqual( { "service": [ { "name": "AppService" }, { "name": "BlueprintService" }, { "name": "grpc.health.v1.Health" }, { "name": "grpc.reflection.v1alpha.ServerReflection" }, ] }, MessageToDict(response.list_services_response), ) self.assertEqual(4, self.enter_context.call_count)