// Copyright (2019-2022) Paul Scherrer Institute // SPDX-License-Identifier: GPL-3.0-or-later #include #include "../grpc/gRPCServer_Template.h" #include "../common/Logger.h" #include "../receiver/JFJochReceiverService.h" #include "../grpc/JFJochReceiverClient.h" #include "../receiver/host/HLSSimulatedDevice.h" #include #include "../../common/ZMQImagePusher.h" TEST_CASE("JFJochReceiver_gRPC_server", "[gRPC]") { DiffractionExperiment x(DetectorGeometry(4, 2)); std::vector> aq_devices; AcquisitionDevice *test = new HLSSimulatedDevice(0, 64); aq_devices.emplace_back(test); std::vector tmp_devices; for (const auto &i: aq_devices) tmp_devices.emplace_back(i.get()); ZMQContext zmq_context; Logger logger("receiver"); ZMQImagePusher pusher(zmq_context, {"inproc://1"}); JFJochReceiverService service(tmp_devices, logger, pusher); auto server = gRPCServer("unix:receiver_test", service); { JFJochReceiverClient client; REQUIRE_NOTHROW(client.Connect("unix:receiver_test")); } server->Shutdown(); }