coexisting approaches with working UTs

This commit is contained in:
lampayan 2016-06-08 15:21:09 +02:00
parent 33be7c9092
commit 2721e39e12
4 changed files with 22 additions and 16 deletions

View File

@ -10,7 +10,7 @@ set (etcd-cpp-api_VERSION_MINOR 1)
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")

View File

@ -18,4 +18,5 @@ etcd::AsyncDeleteResponse::~AsyncDeleteResponse() {
void etcd::AsyncDeleteResponse::fillUpV2ResponseValues(etcdserverpb::RangeResponse getResponse) {
_prev_value.value = getResponse.kvs().Get(0).value();
_action = "delete";
}

View File

@ -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)
{
std::cout << "get entry for previous value" << std::endl;
etcdserverpb::RangeRequest rangeRequest;
rangeRequest.set_key(entryKey);
etcdserverpb::RangeResponse rangeResponse;
grpc::ClientContext context;
grpc::Status status = stub_->Range(&context, rangeRequest, &rangeResponse);
grpc::Status status = grpcClient.stub_->Range(&context, rangeRequest, &rangeResponse);
if (status.ok()) {
std::cout << "get OK" << std::endl;
drp->fillUpV2ResponseValues(rangeResponse);
@ -103,7 +104,7 @@ pplx::task<etcd::Response> etcd::Client::removeEntry(std::string const & entryKe
etcdserverpb::DeleteRangeRequest deleteRangeRequest;
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);
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)
{
std::cout << "rm called" << std::endl;
return removeEntry(key);
}

View File

@ -1,18 +1,20 @@
#define CATCH_CONFIG_MAIN
#include <catch.hpp>
#include <iostream>
#include "etcd/Client.hpp"
//TEST_CASE("setup")
//{
etcd::Client etcd("http://192.168.99.100:2379");
TEST_CASE("setup")
{
etcd::Client etcd("http://127.0.0.1:4001");
//etcd.rmdir("/test", true).wait();
}
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();
REQUIRE(0 == resp.error_code());
CHECK("create" == resp.action());
@ -31,7 +33,7 @@ TEST_CASE("add a new key")
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();
CHECK("get" == resp.action());
REQUIRE(resp.is_ok());
@ -44,7 +46,7 @@ TEST_CASE("read a value from etcd")
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(100 == etcd.get("/test/key2").get().error_code()); // Key not found
}
@ -53,7 +55,7 @@ TEST_CASE("simplified read")
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();
REQUIRE(0 == resp.error_code()); // overwrite
CHECK("update" == resp.action());
@ -65,7 +67,7 @@ TEST_CASE("modify 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();
REQUIRE(0 == resp.error_code()); // overwrite
CHECK("set" == resp.action());
@ -77,7 +79,7 @@ TEST_CASE("set a key")
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();
// modify success
@ -94,18 +96,19 @@ TEST_CASE("atomic compare-and-swap")
CHECK("Compare failed" == res.error_message());
}
#if 0
TEST_CASE("delete a value")
{
std::cout << "delete a value fbdl" << std::endl;
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();
CHECK("43" == resp.prev_value().as_string());
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")
{
etcd::Client etcd("http://127.0.0.1:4001");