coexisting approaches with working UTs
This commit is contained in:
parent
33be7c9092
commit
2721e39e12
|
|
@ -10,7 +10,7 @@ set (etcd-cpp-api_VERSION_MINOR 1)
|
||||||
|
|
||||||
enable_testing()
|
enable_testing()
|
||||||
|
|
||||||
include_directories(${CMAKE_CURRENT_SOURCE_DIR} /home/arches/casablanca/Release/include /home/arches/grpc/include)
|
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror")
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,4 +18,5 @@ etcd::AsyncDeleteResponse::~AsyncDeleteResponse() {
|
||||||
void etcd::AsyncDeleteResponse::fillUpV2ResponseValues(etcdserverpb::RangeResponse getResponse) {
|
void etcd::AsyncDeleteResponse::fillUpV2ResponseValues(etcdserverpb::RangeResponse getResponse) {
|
||||||
_prev_value.value = getResponse.kvs().Get(0).value();
|
_prev_value.value = getResponse.kvs().Get(0).value();
|
||||||
_action = "delete";
|
_action = "delete";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -82,11 +82,12 @@ pplx::task<etcd::Response> etcd::Client::modify_if(std::string const & key, std:
|
||||||
|
|
||||||
void etcd::Client::getEntryForPreviousValue(const std::string& entryKey, etcd::AsyncDeleteResponse* drp)
|
void etcd::Client::getEntryForPreviousValue(const std::string& entryKey, etcd::AsyncDeleteResponse* drp)
|
||||||
{
|
{
|
||||||
|
std::cout << "get entry for previous value" << std::endl;
|
||||||
etcdserverpb::RangeRequest rangeRequest;
|
etcdserverpb::RangeRequest rangeRequest;
|
||||||
rangeRequest.set_key(entryKey);
|
rangeRequest.set_key(entryKey);
|
||||||
etcdserverpb::RangeResponse rangeResponse;
|
etcdserverpb::RangeResponse rangeResponse;
|
||||||
grpc::ClientContext context;
|
grpc::ClientContext context;
|
||||||
grpc::Status status = stub_->Range(&context, rangeRequest, &rangeResponse);
|
grpc::Status status = grpcClient.stub_->Range(&context, rangeRequest, &rangeResponse);
|
||||||
if (status.ok()) {
|
if (status.ok()) {
|
||||||
std::cout << "get OK" << std::endl;
|
std::cout << "get OK" << std::endl;
|
||||||
drp->fillUpV2ResponseValues(rangeResponse);
|
drp->fillUpV2ResponseValues(rangeResponse);
|
||||||
|
|
@ -103,7 +104,7 @@ pplx::task<etcd::Response> etcd::Client::removeEntry(std::string const & entryKe
|
||||||
etcdserverpb::DeleteRangeRequest deleteRangeRequest;
|
etcdserverpb::DeleteRangeRequest deleteRangeRequest;
|
||||||
deleteRangeRequest.set_key(entryKey);
|
deleteRangeRequest.set_key(entryKey);
|
||||||
|
|
||||||
drp->rpcInstance = stub_->AsyncDeleteRange(&drp->context, deleteRangeRequest, &drp->cq_);
|
drp->rpcInstance = grpcClient.stub_->AsyncDeleteRange(&drp->context, deleteRangeRequest, &drp->cq_);
|
||||||
drp->rpcInstance->Finish(&drp->deleteResponse, &drp->status, (void*)drp);
|
drp->rpcInstance->Finish(&drp->deleteResponse, &drp->status, (void*)drp);
|
||||||
|
|
||||||
return Response::createV2Response(drp);
|
return Response::createV2Response(drp);
|
||||||
|
|
@ -139,6 +140,7 @@ void etcd::Client::getv3(std::string const & key) {
|
||||||
|
|
||||||
pplx::task<etcd::Response> etcd::Client::rm(std::string const & key)
|
pplx::task<etcd::Response> etcd::Client::rm(std::string const & key)
|
||||||
{
|
{
|
||||||
|
std::cout << "rm called" << std::endl;
|
||||||
return removeEntry(key);
|
return removeEntry(key);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,20 @@
|
||||||
#define CATCH_CONFIG_MAIN
|
#define CATCH_CONFIG_MAIN
|
||||||
#include <catch.hpp>
|
#include <catch.hpp>
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
#include "etcd/Client.hpp"
|
#include "etcd/Client.hpp"
|
||||||
|
|
||||||
//TEST_CASE("setup")
|
|
||||||
//{
|
TEST_CASE("setup")
|
||||||
etcd::Client etcd("http://192.168.99.100:2379");
|
{
|
||||||
|
etcd::Client etcd("http://127.0.0.1:4001");
|
||||||
//etcd.rmdir("/test", true).wait();
|
//etcd.rmdir("/test", true).wait();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
TEST_CASE("add a new key")
|
TEST_CASE("add a new key")
|
||||||
{
|
{
|
||||||
etcd::Client etcd("http://192.168.99.100:2379");
|
etcd::Client etcd("http://127.0.0.1:4001");
|
||||||
etcd::Response resp = etcd.add("/test/key1", "42").get();
|
etcd::Response resp = etcd.add("/test/key1", "42").get();
|
||||||
REQUIRE(0 == resp.error_code());
|
REQUIRE(0 == resp.error_code());
|
||||||
CHECK("create" == resp.action());
|
CHECK("create" == resp.action());
|
||||||
|
|
@ -31,7 +33,7 @@ TEST_CASE("add a new key")
|
||||||
|
|
||||||
TEST_CASE("read a value from etcd")
|
TEST_CASE("read a value from etcd")
|
||||||
{
|
{
|
||||||
etcd::Client etcd("http://192.168.99.100:2379");
|
etcd::Client etcd("http://127.0.0.1:4001");
|
||||||
etcd::Response resp = etcd.get("/test/key1").get();
|
etcd::Response resp = etcd.get("/test/key1").get();
|
||||||
CHECK("get" == resp.action());
|
CHECK("get" == resp.action());
|
||||||
REQUIRE(resp.is_ok());
|
REQUIRE(resp.is_ok());
|
||||||
|
|
@ -44,7 +46,7 @@ TEST_CASE("read a value from etcd")
|
||||||
|
|
||||||
TEST_CASE("simplified read")
|
TEST_CASE("simplified read")
|
||||||
{
|
{
|
||||||
etcd::Client etcd("http://192.168.99.100:2379");
|
etcd::Client etcd("http://127.0.0.1:4001");
|
||||||
CHECK("42" == etcd.get("/test/key1").get().value().as_string());
|
CHECK("42" == etcd.get("/test/key1").get().value().as_string());
|
||||||
CHECK(100 == etcd.get("/test/key2").get().error_code()); // Key not found
|
CHECK(100 == etcd.get("/test/key2").get().error_code()); // Key not found
|
||||||
}
|
}
|
||||||
|
|
@ -53,7 +55,7 @@ TEST_CASE("simplified read")
|
||||||
|
|
||||||
TEST_CASE("modify a key")
|
TEST_CASE("modify a key")
|
||||||
{
|
{
|
||||||
etcd::Client etcd("http://192.168.99.100:2379");
|
etcd::Client etcd("http://127.0.0.1:4001");
|
||||||
etcd::Response resp = etcd.modify("/test/key1", "43").get();
|
etcd::Response resp = etcd.modify("/test/key1", "43").get();
|
||||||
REQUIRE(0 == resp.error_code()); // overwrite
|
REQUIRE(0 == resp.error_code()); // overwrite
|
||||||
CHECK("update" == resp.action());
|
CHECK("update" == resp.action());
|
||||||
|
|
@ -65,7 +67,7 @@ TEST_CASE("modify a key")
|
||||||
|
|
||||||
TEST_CASE("set a key")
|
TEST_CASE("set a key")
|
||||||
{
|
{
|
||||||
etcd::Client etcd("http://192.168.99.100:2379");
|
etcd::Client etcd("http://127.0.0.1:4001");
|
||||||
etcd::Response resp = etcd.set("/test/key1", "43").get();
|
etcd::Response resp = etcd.set("/test/key1", "43").get();
|
||||||
REQUIRE(0 == resp.error_code()); // overwrite
|
REQUIRE(0 == resp.error_code()); // overwrite
|
||||||
CHECK("set" == resp.action());
|
CHECK("set" == resp.action());
|
||||||
|
|
@ -77,7 +79,7 @@ TEST_CASE("set a key")
|
||||||
|
|
||||||
TEST_CASE("atomic compare-and-swap")
|
TEST_CASE("atomic compare-and-swap")
|
||||||
{
|
{
|
||||||
etcd::Client etcd("http://192.168.99.100:2379");
|
etcd::Client etcd("http://127.0.0.1:4001");
|
||||||
etcd.set("/test/key1", "42").wait();
|
etcd.set("/test/key1", "42").wait();
|
||||||
|
|
||||||
// modify success
|
// modify success
|
||||||
|
|
@ -94,18 +96,19 @@ TEST_CASE("atomic compare-and-swap")
|
||||||
CHECK("Compare failed" == res.error_message());
|
CHECK("Compare failed" == res.error_message());
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
|
||||||
|
|
||||||
TEST_CASE("delete a value")
|
TEST_CASE("delete a value")
|
||||||
{
|
{
|
||||||
|
std::cout << "delete a value fbdl" << std::endl;
|
||||||
etcd::Client etcd("http://127.0.0.1:4001");
|
etcd::Client etcd("http://127.0.0.1:4001");
|
||||||
CHECK(3 == etcd.ls("/test").get().keys().size());
|
// CHECK(3 == etcd.ls("/test").get().keys().size()); // not supported in v3
|
||||||
etcd::Response resp = etcd.rm("/test/key1").get();
|
etcd::Response resp = etcd.rm("/test/key1").get();
|
||||||
CHECK("43" == resp.prev_value().as_string());
|
CHECK("43" == resp.prev_value().as_string());
|
||||||
CHECK("delete" == resp.action());
|
CHECK("delete" == resp.action());
|
||||||
CHECK(2 == etcd.ls("/test").get().keys().size());
|
// CHECK(2 == etcd.ls("/test").get().keys().size()); // not supported in v3
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
|
||||||
TEST_CASE("create a directory")
|
TEST_CASE("create a directory")
|
||||||
{
|
{
|
||||||
etcd::Client etcd("http://127.0.0.1:4001");
|
etcd::Client etcd("http://127.0.0.1:4001");
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue