Marek Kotewicz
10 years ago
10 changed files with 502 additions and 12 deletions
@ -0,0 +1,414 @@ |
|||
/**
|
|||
* THIS FILE IS GENERATED BY jsonrpcstub, DO NOT CHANGE IT!!!!! |
|||
*/ |
|||
|
|||
#ifndef _ETHSTUBCLIENT_H_ |
|||
#define _ETHSTUBCLIENT_H_ |
|||
|
|||
#include <jsonrpc/rpc.h> |
|||
|
|||
class EthStubClient |
|||
{ |
|||
public: |
|||
EthStubClient(jsonrpc::AbstractClientConnector* conn) |
|||
{ |
|||
this->client = new jsonrpc::Client(conn); |
|||
} |
|||
~EthStubClient() |
|||
{ |
|||
delete this->client; |
|||
} |
|||
|
|||
std::string balanceAt(const std::string& a, const int& block) throw (jsonrpc::JsonRpcException) |
|||
{ |
|||
Json::Value p; |
|||
p["a"] = a; |
|||
p["block"] = block; |
|||
|
|||
Json::Value result = this->client->CallMethod("balanceAt",p); |
|||
if (result.isString()) |
|||
return result.asString(); |
|||
else |
|||
throw jsonrpc::JsonRpcException(jsonrpc::Errors::ERROR_CLIENT_INVALID_RESPONSE, result.toStyledString()); |
|||
|
|||
} |
|||
|
|||
Json::Value block(const std::string& numberOrHash) throw (jsonrpc::JsonRpcException) |
|||
{ |
|||
Json::Value p; |
|||
p["numberOrHash"] = numberOrHash; |
|||
|
|||
Json::Value result = this->client->CallMethod("block",p); |
|||
if (result.isArray()) |
|||
return result; |
|||
else |
|||
throw jsonrpc::JsonRpcException(jsonrpc::Errors::ERROR_CLIENT_INVALID_RESPONSE, result.toStyledString()); |
|||
|
|||
} |
|||
|
|||
std::string call(const Json::Value& json) throw (jsonrpc::JsonRpcException) |
|||
{ |
|||
Json::Value p; |
|||
p["json"] = json; |
|||
|
|||
Json::Value result = this->client->CallMethod("call",p); |
|||
if (result.isString()) |
|||
return result.asString(); |
|||
else |
|||
throw jsonrpc::JsonRpcException(jsonrpc::Errors::ERROR_CLIENT_INVALID_RESPONSE, result.toStyledString()); |
|||
|
|||
} |
|||
|
|||
std::string codeAt(const std::string& a, const int& block) throw (jsonrpc::JsonRpcException) |
|||
{ |
|||
Json::Value p; |
|||
p["a"] = a; |
|||
p["block"] = block; |
|||
|
|||
Json::Value result = this->client->CallMethod("codeAt",p); |
|||
if (result.isString()) |
|||
return result.asString(); |
|||
else |
|||
throw jsonrpc::JsonRpcException(jsonrpc::Errors::ERROR_CLIENT_INVALID_RESPONSE, result.toStyledString()); |
|||
|
|||
} |
|||
|
|||
std::string coinbase() throw (jsonrpc::JsonRpcException) |
|||
{ |
|||
Json::Value p; |
|||
p = Json::nullValue; |
|||
Json::Value result = this->client->CallMethod("coinbase",p); |
|||
if (result.isString()) |
|||
return result.asString(); |
|||
else |
|||
throw jsonrpc::JsonRpcException(jsonrpc::Errors::ERROR_CLIENT_INVALID_RESPONSE, result.toStyledString()); |
|||
|
|||
} |
|||
|
|||
std::string countAt(const std::string& a, const int& block) throw (jsonrpc::JsonRpcException) |
|||
{ |
|||
Json::Value p; |
|||
p["a"] = a; |
|||
p["block"] = block; |
|||
|
|||
Json::Value result = this->client->CallMethod("countAt",p); |
|||
if (result.isString()) |
|||
return result.asString(); |
|||
else |
|||
throw jsonrpc::JsonRpcException(jsonrpc::Errors::ERROR_CLIENT_INVALID_RESPONSE, result.toStyledString()); |
|||
|
|||
} |
|||
|
|||
int defaultBlock() throw (jsonrpc::JsonRpcException) |
|||
{ |
|||
Json::Value p; |
|||
p = Json::nullValue; |
|||
Json::Value result = this->client->CallMethod("defaultBlock",p); |
|||
if (result.isInt()) |
|||
return result.asInt(); |
|||
else |
|||
throw jsonrpc::JsonRpcException(jsonrpc::Errors::ERROR_CLIENT_INVALID_RESPONSE, result.toStyledString()); |
|||
|
|||
} |
|||
|
|||
std::string fromAscii(const int& padding, const std::string& s) throw (jsonrpc::JsonRpcException) |
|||
{ |
|||
Json::Value p; |
|||
p["padding"] = padding; |
|||
p["s"] = s; |
|||
|
|||
Json::Value result = this->client->CallMethod("fromAscii",p); |
|||
if (result.isString()) |
|||
return result.asString(); |
|||
else |
|||
throw jsonrpc::JsonRpcException(jsonrpc::Errors::ERROR_CLIENT_INVALID_RESPONSE, result.toStyledString()); |
|||
|
|||
} |
|||
|
|||
double fromFixed(const std::string& s) throw (jsonrpc::JsonRpcException) |
|||
{ |
|||
Json::Value p; |
|||
p["s"] = s; |
|||
|
|||
Json::Value result = this->client->CallMethod("fromFixed",p); |
|||
if (result.isDouble()) |
|||
return result.asDouble(); |
|||
else |
|||
throw jsonrpc::JsonRpcException(jsonrpc::Errors::ERROR_CLIENT_INVALID_RESPONSE, result.toStyledString()); |
|||
|
|||
} |
|||
|
|||
std::string gasPrice() throw (jsonrpc::JsonRpcException) |
|||
{ |
|||
Json::Value p; |
|||
p = Json::nullValue; |
|||
Json::Value result = this->client->CallMethod("gasPrice",p); |
|||
if (result.isString()) |
|||
return result.asString(); |
|||
else |
|||
throw jsonrpc::JsonRpcException(jsonrpc::Errors::ERROR_CLIENT_INVALID_RESPONSE, result.toStyledString()); |
|||
|
|||
} |
|||
|
|||
bool isListening() throw (jsonrpc::JsonRpcException) |
|||
{ |
|||
Json::Value p; |
|||
p = Json::nullValue; |
|||
Json::Value result = this->client->CallMethod("isListening",p); |
|||
if (result.isBool()) |
|||
return result.asBool(); |
|||
else |
|||
throw jsonrpc::JsonRpcException(jsonrpc::Errors::ERROR_CLIENT_INVALID_RESPONSE, result.toStyledString()); |
|||
|
|||
} |
|||
|
|||
bool isMining() throw (jsonrpc::JsonRpcException) |
|||
{ |
|||
Json::Value p; |
|||
p = Json::nullValue; |
|||
Json::Value result = this->client->CallMethod("isMining",p); |
|||
if (result.isBool()) |
|||
return result.asBool(); |
|||
else |
|||
throw jsonrpc::JsonRpcException(jsonrpc::Errors::ERROR_CLIENT_INVALID_RESPONSE, result.toStyledString()); |
|||
|
|||
} |
|||
|
|||
std::string key() throw (jsonrpc::JsonRpcException) |
|||
{ |
|||
Json::Value p; |
|||
p = Json::nullValue; |
|||
Json::Value result = this->client->CallMethod("key",p); |
|||
if (result.isString()) |
|||
return result.asString(); |
|||
else |
|||
throw jsonrpc::JsonRpcException(jsonrpc::Errors::ERROR_CLIENT_INVALID_RESPONSE, result.toStyledString()); |
|||
|
|||
} |
|||
|
|||
Json::Value keys() throw (jsonrpc::JsonRpcException) |
|||
{ |
|||
Json::Value p; |
|||
p = Json::nullValue; |
|||
Json::Value result = this->client->CallMethod("keys",p); |
|||
if (result.isArray()) |
|||
return result; |
|||
else |
|||
throw jsonrpc::JsonRpcException(jsonrpc::Errors::ERROR_CLIENT_INVALID_RESPONSE, result.toStyledString()); |
|||
|
|||
} |
|||
|
|||
std::string lll(const std::string& s) throw (jsonrpc::JsonRpcException) |
|||
{ |
|||
Json::Value p; |
|||
p["s"] = s; |
|||
|
|||
Json::Value result = this->client->CallMethod("lll",p); |
|||
if (result.isString()) |
|||
return result.asString(); |
|||
else |
|||
throw jsonrpc::JsonRpcException(jsonrpc::Errors::ERROR_CLIENT_INVALID_RESPONSE, result.toStyledString()); |
|||
|
|||
} |
|||
|
|||
Json::Value messages(const Json::Value& json) throw (jsonrpc::JsonRpcException) |
|||
{ |
|||
Json::Value p; |
|||
p["json"] = json; |
|||
|
|||
Json::Value result = this->client->CallMethod("messages",p); |
|||
if (result.isArray()) |
|||
return result; |
|||
else |
|||
throw jsonrpc::JsonRpcException(jsonrpc::Errors::ERROR_CLIENT_INVALID_RESPONSE, result.toStyledString()); |
|||
|
|||
} |
|||
|
|||
int number() throw (jsonrpc::JsonRpcException) |
|||
{ |
|||
Json::Value p; |
|||
p = Json::nullValue; |
|||
Json::Value result = this->client->CallMethod("number",p); |
|||
if (result.isInt()) |
|||
return result.asInt(); |
|||
else |
|||
throw jsonrpc::JsonRpcException(jsonrpc::Errors::ERROR_CLIENT_INVALID_RESPONSE, result.toStyledString()); |
|||
|
|||
} |
|||
|
|||
int peerCount() throw (jsonrpc::JsonRpcException) |
|||
{ |
|||
Json::Value p; |
|||
p = Json::nullValue; |
|||
Json::Value result = this->client->CallMethod("peerCount",p); |
|||
if (result.isInt()) |
|||
return result.asInt(); |
|||
else |
|||
throw jsonrpc::JsonRpcException(jsonrpc::Errors::ERROR_CLIENT_INVALID_RESPONSE, result.toStyledString()); |
|||
|
|||
} |
|||
|
|||
std::string secretToAddress(const std::string& s) throw (jsonrpc::JsonRpcException) |
|||
{ |
|||
Json::Value p; |
|||
p["s"] = s; |
|||
|
|||
Json::Value result = this->client->CallMethod("secretToAddress",p); |
|||
if (result.isString()) |
|||
return result.asString(); |
|||
else |
|||
throw jsonrpc::JsonRpcException(jsonrpc::Errors::ERROR_CLIENT_INVALID_RESPONSE, result.toStyledString()); |
|||
|
|||
} |
|||
|
|||
Json::Value setListening(const bool& l) throw (jsonrpc::JsonRpcException) |
|||
{ |
|||
Json::Value p; |
|||
p["l"] = l; |
|||
|
|||
Json::Value result = this->client->CallMethod("setListening",p); |
|||
if (result.isArray()) |
|||
return result; |
|||
else |
|||
throw jsonrpc::JsonRpcException(jsonrpc::Errors::ERROR_CLIENT_INVALID_RESPONSE, result.toStyledString()); |
|||
|
|||
} |
|||
|
|||
Json::Value setMining(const bool& l) throw (jsonrpc::JsonRpcException) |
|||
{ |
|||
Json::Value p; |
|||
p["l"] = l; |
|||
|
|||
Json::Value result = this->client->CallMethod("setMining",p); |
|||
if (result.isArray()) |
|||
return result; |
|||
else |
|||
throw jsonrpc::JsonRpcException(jsonrpc::Errors::ERROR_CLIENT_INVALID_RESPONSE, result.toStyledString()); |
|||
|
|||
} |
|||
|
|||
std::string sha3(const std::string& s) throw (jsonrpc::JsonRpcException) |
|||
{ |
|||
Json::Value p; |
|||
p["s"] = s; |
|||
|
|||
Json::Value result = this->client->CallMethod("sha3",p); |
|||
if (result.isString()) |
|||
return result.asString(); |
|||
else |
|||
throw jsonrpc::JsonRpcException(jsonrpc::Errors::ERROR_CLIENT_INVALID_RESPONSE, result.toStyledString()); |
|||
|
|||
} |
|||
|
|||
std::string stateAt(const std::string& a, const int& block, const std::string& s) throw (jsonrpc::JsonRpcException) |
|||
{ |
|||
Json::Value p; |
|||
p["a"] = a; |
|||
p["block"] = block; |
|||
p["s"] = s; |
|||
|
|||
Json::Value result = this->client->CallMethod("stateAt",p); |
|||
if (result.isString()) |
|||
return result.asString(); |
|||
else |
|||
throw jsonrpc::JsonRpcException(jsonrpc::Errors::ERROR_CLIENT_INVALID_RESPONSE, result.toStyledString()); |
|||
|
|||
} |
|||
|
|||
std::string toAscii(const std::string& s) throw (jsonrpc::JsonRpcException) |
|||
{ |
|||
Json::Value p; |
|||
p["s"] = s; |
|||
|
|||
Json::Value result = this->client->CallMethod("toAscii",p); |
|||
if (result.isString()) |
|||
return result.asString(); |
|||
else |
|||
throw jsonrpc::JsonRpcException(jsonrpc::Errors::ERROR_CLIENT_INVALID_RESPONSE, result.toStyledString()); |
|||
|
|||
} |
|||
|
|||
std::string toDecimal(const std::string& s) throw (jsonrpc::JsonRpcException) |
|||
{ |
|||
Json::Value p; |
|||
p["s"] = s; |
|||
|
|||
Json::Value result = this->client->CallMethod("toDecimal",p); |
|||
if (result.isString()) |
|||
return result.asString(); |
|||
else |
|||
throw jsonrpc::JsonRpcException(jsonrpc::Errors::ERROR_CLIENT_INVALID_RESPONSE, result.toStyledString()); |
|||
|
|||
} |
|||
|
|||
std::string toFixed(const double& s) throw (jsonrpc::JsonRpcException) |
|||
{ |
|||
Json::Value p; |
|||
p["s"] = s; |
|||
|
|||
Json::Value result = this->client->CallMethod("toFixed",p); |
|||
if (result.isString()) |
|||
return result.asString(); |
|||
else |
|||
throw jsonrpc::JsonRpcException(jsonrpc::Errors::ERROR_CLIENT_INVALID_RESPONSE, result.toStyledString()); |
|||
|
|||
} |
|||
|
|||
std::string transact(const std::string& json) throw (jsonrpc::JsonRpcException) |
|||
{ |
|||
Json::Value p; |
|||
p["json"] = json; |
|||
|
|||
Json::Value result = this->client->CallMethod("transact",p); |
|||
if (result.isString()) |
|||
return result.asString(); |
|||
else |
|||
throw jsonrpc::JsonRpcException(jsonrpc::Errors::ERROR_CLIENT_INVALID_RESPONSE, result.toStyledString()); |
|||
|
|||
} |
|||
|
|||
Json::Value transaction(const int& i, const std::string& numberOrHash) throw (jsonrpc::JsonRpcException) |
|||
{ |
|||
Json::Value p; |
|||
p["i"] = i; |
|||
p["numberOrHash"] = numberOrHash; |
|||
|
|||
Json::Value result = this->client->CallMethod("transaction",p); |
|||
if (result.isArray()) |
|||
return result; |
|||
else |
|||
throw jsonrpc::JsonRpcException(jsonrpc::Errors::ERROR_CLIENT_INVALID_RESPONSE, result.toStyledString()); |
|||
|
|||
} |
|||
|
|||
Json::Value uncle(const int& i, const std::string& numberOrHash) throw (jsonrpc::JsonRpcException) |
|||
{ |
|||
Json::Value p; |
|||
p["i"] = i; |
|||
p["numberOrHash"] = numberOrHash; |
|||
|
|||
Json::Value result = this->client->CallMethod("uncle",p); |
|||
if (result.isArray()) |
|||
return result; |
|||
else |
|||
throw jsonrpc::JsonRpcException(jsonrpc::Errors::ERROR_CLIENT_INVALID_RESPONSE, result.toStyledString()); |
|||
|
|||
} |
|||
|
|||
std::string watch(const std::string& json) throw (jsonrpc::JsonRpcException) |
|||
{ |
|||
Json::Value p; |
|||
p["json"] = json; |
|||
|
|||
Json::Value result = this->client->CallMethod("watch",p); |
|||
if (result.isString()) |
|||
return result.asString(); |
|||
else |
|||
throw jsonrpc::JsonRpcException(jsonrpc::Errors::ERROR_CLIENT_INVALID_RESPONSE, result.toStyledString()); |
|||
|
|||
} |
|||
|
|||
private: |
|||
jsonrpc::Client* client; |
|||
}; |
|||
#endif //_ETHSTUBCLIENT_H_
|
@ -0,0 +1,69 @@ |
|||
|
|||
|
|||
#if ETH_JSONRPC && 1 |
|||
|
|||
#include <boost/test/unit_test.hpp> |
|||
#include <libdevcore/Log.h> |
|||
#include <libdevcore/CommonIO.h> |
|||
#include <libwebthree/WebThree.h> |
|||
#include <eth/EthStubServer.h> |
|||
#include <jsonrpc/connectors/httpserver.h> |
|||
#include "JsonSpiritHeaders.h" |
|||
#include "ethstubclient.h" |
|||
|
|||
using namespace std; |
|||
using namespace dev; |
|||
using namespace dev::eth; |
|||
namespace js = json_spirit; |
|||
|
|||
|
|||
|
|||
|
|||
namespace jsonrpc_tests { |
|||
|
|||
auto_ptr<EthStubServer> jsonrpcServer; |
|||
|
|||
|
|||
struct JsonrpcFixture { |
|||
JsonrpcFixture() |
|||
{ |
|||
cnote << "setup jsonrpc"; |
|||
string name = "Ethereum(++) tests"; |
|||
string dbPath; |
|||
dev::WebThreeDirect web3(name, dbPath); |
|||
web3.setIdealPeerCount(5); |
|||
jsonrpcServer = auto_ptr<EthStubServer>(new EthStubServer(new jsonrpc::HttpServer(8080), web3)); |
|||
} |
|||
~JsonrpcFixture() |
|||
{ |
|||
cnote << "teardown jsonrpc"; |
|||
} |
|||
}; |
|||
|
|||
//BOOST_AUTO_TEST_CASE(jsonrpc_test)
|
|||
//{
|
|||
// cnote << "testing jsonrpc";
|
|||
// js::mValue v;
|
|||
// string s = asString(contents("../../jsonrpc.json"));
|
|||
// BOOST_REQUIRE_MESSAGE(s.length() > 0, "Content from 'jsonrpc.json' is empty. Have you cloned the 'tests' repo branch develop?");
|
|||
// js::read_string(s, v);
|
|||
//}
|
|||
|
|||
BOOST_GLOBAL_FIXTURE(JsonrpcFixture) |
|||
|
|||
BOOST_AUTO_TEST_CASE( test_case1 ) |
|||
{ |
|||
// BOOST_CHECK( i == 1 );
|
|||
} |
|||
|
|||
BOOST_AUTO_TEST_CASE( test_case2 ) |
|||
{ |
|||
// BOOST_CHECK_EQUAL( i, 0 );
|
|||
} |
|||
|
|||
} |
|||
|
|||
#endif |
|||
|
|||
|
|||
|
Loading…
Reference in new issue