Exemplo n.º 1
0
int main(int argc, char** argv)
{

    TestServer* server = new TestServer();
    Client* client = new Client(new HttpClient("http://localhost:8080"));

    cout << SpecificationWriter::toString(server->GetProtocolHanlder()->GetProcedures()) << endl;

    try {
        server->StartListening();

        Json::Value v;
        v["name"] = "Peter";
        Json::Value result = client->CallMethod("sayHello", v);

        if(result.asString() != "Hello: Peter!") {
            cerr << "sayHello returned " << result.asString() << " but should be \"Hello: Peter!\"" << endl;
            return -1;
        }

        v["name"] = "Peter Spiess-Knafl";
        result = client->CallMethod("sayHello", v);
        if(result.asString() != "Hello: Peter Spiess-Knafl!") {
            cerr << "sayHello returned " << result.asString() << " but should be \"Hello: Peter Spiess-Knafl!\"" << endl;
            return -2;
        }

        delete server;
        delete client;

        cout << argv[0] << " passed" << endl;

        return 0;

    } catch(jsonrpc::JsonRpcException e) {

        cerr << "Exception occured: " << e.what() << endl;
        delete server;
        delete client;
        return -999;
    }
}