From 218b12788ace0683918dc335639cdd92c4e33ab5 Mon Sep 17 00:00:00 2001 From: imarom Date: Wed, 12 Aug 2015 15:13:25 +0300 Subject: adding some files unsteady version --- src/gtest/rpc_test.cpp | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 src/gtest/rpc_test.cpp (limited to 'src/gtest') diff --git a/src/gtest/rpc_test.cpp b/src/gtest/rpc_test.cpp new file mode 100644 index 00000000..7f78efd0 --- /dev/null +++ b/src/gtest/rpc_test.cpp @@ -0,0 +1,81 @@ +/* + Itay Marom + + Cisco Systems, Inc. +*/ + +/* +Copyright (c) 2015-2015 Cisco Systems, Inc. + +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. +*/ + +#include +#include +#include +#include +#include + +class RpcTest : public testing::Test { + + virtual void SetUp() { + } + + virtual void TearDown() { + } +}; + +TEST_F(RpcTest, basic_rpc_test) { + TrexRpcServerArray rpc(TrexRpcServerArray::RPC_PROT_TCP, 5050); + rpc.start(); + + sleep(1); + + printf ("Connecting to hello world server…\n"); + void *context = zmq_ctx_new (); + void *requester = zmq_socket (context, ZMQ_REQ); + zmq_connect (requester, "tcp://localhost:5050"); + + + char buffer[50]; + Json::Value request; + + int id = 1; + request["jsonrpc"] = "2.0"; + request["method"] = "test_func"; + + Json::Value ¶ms = request["params"]; + params["num"] = 12; + params["msg"] = "hello, method test_func"; + + for (int request_nbr = 0; request_nbr != 10; request_nbr++) { + request["id"] = id++; + + std::stringstream ss; + ss << request; + + std::cout << "Sending : '" << ss.str() << "'\n"; + + zmq_send (requester, ss.str().c_str(), ss.str().size(), 0); + + zmq_recv (requester, buffer, 50, 0); + printf ("Received ACK\n"); + } + zmq_close (requester); + zmq_ctx_destroy (context); + + sleep(1); + + rpc.stop(); +} + -- cgit 1.2.3-korg