10 #include <thrift/protocol/TBinaryProtocol.h>
11 #include <thrift/transport/THttpClient.h>
12 #include <boost/shared_ptr.hpp>
27 kv.values.push_back(val);
28 result.key_values.push_back(kv);
32 kv.key.name =
"country";
35 kv.values.push_back(val);
36 result.key_values.push_back(kv);
40 using namespace tasks;
41 using namespace tasks::net;
46 using namespace apache::thrift::protocol;
47 using namespace apache::thrift::transport;
48 boost::shared_ptr<THttpClient> transport(
new THttpClient(
"127.0.0.1", 18080,
"/test1"));
49 boost::shared_ptr<TBinaryProtocol> protocol(
new TBinaryProtocol(transport));
50 IpServiceClient client(protocol);
56 int32_t ip = 123456789;
59 client.lookup(r, ip, ipv6);
61 CPPUNIT_ASSERT(r.key_values.size() == 2);
62 CPPUNIT_ASSERT(r.key_values[0].key.id == 1);
63 CPPUNIT_ASSERT(r.key_values[0].key.name ==
"city");
64 CPPUNIT_ASSERT(r.key_values[0].values.size() == 1);
65 CPPUNIT_ASSERT(r.key_values[0].values[0].id == 123456);
66 CPPUNIT_ASSERT(r.key_values[0].values[0].name ==
"Berlin");
67 CPPUNIT_ASSERT(r.key_values[1].key.id == 2);
68 CPPUNIT_ASSERT(r.key_values[1].key.name ==
"country");
69 CPPUNIT_ASSERT(r.key_values[1].values.size() == 1);
70 CPPUNIT_ASSERT(r.key_values[1].values[0].id == 3345677);
71 CPPUNIT_ASSERT(r.key_values[1].values[0].name ==
"Germany");
74 }
catch (TTransportException& e) {
77 CPPUNIT_ASSERT(success);
static void add_task(net_io_task *task)
std::unique_ptr< tasks::net_io_task > m_srv
void lookup(response_type &result, const int32_t ipv4, const ipv6_type &ipv6)