40 lines
1.2 KiB
C++
40 lines
1.2 KiB
C++
// Copyright (2019-2022) Paul Scherrer Institute
|
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
#include <catch2/catch.hpp>
|
|
|
|
#include "../grpc/gRPCServer_Template.h"
|
|
|
|
#include "../common/Logger.h"
|
|
#include "../receiver/JFJochReceiverService.h"
|
|
#include "../grpc/JFJochReceiverClient.h"
|
|
#include "../receiver/host/HLSSimulatedDevice.h"
|
|
|
|
#include <grpcpp/grpcpp.h>
|
|
#include "../../common/ZMQImagePusher.h"
|
|
|
|
TEST_CASE("JFJochReceiver_gRPC_server", "[gRPC]") {
|
|
DiffractionExperiment x(DetectorGeometry(4, 2));
|
|
|
|
std::vector<std::unique_ptr<AcquisitionDevice>> aq_devices;
|
|
AcquisitionDevice *test = new HLSSimulatedDevice(0, 64);
|
|
aq_devices.emplace_back(test);
|
|
|
|
std::vector<AcquisitionDevice *> 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();
|
|
} |