1
0
mirror of https://github.com/falk-werner/webfuse-provider synced 2024-10-27 20:44:10 +00:00
falk-werner_webfuse-provider/test/webfuse_provider/jsonrpc/test_request.cc

58 lines
1.4 KiB
C++
Raw Normal View History

#include <gtest/gtest.h>
2020-06-16 21:39:45 +00:00
#include "webfuse_provider/impl/jsonrpc/request.h"
#include "webfuse_provider/status.h"
namespace
{
struct Context
{
json_t * response;
};
void jsonrpc_send(
json_t * request,
void * user_data)
{
Context * context = reinterpret_cast<Context*>(user_data);
context->response = request;
json_incref(request);
}
}
TEST(wfp_jsonrpc_request, is_request_object_params)
2020-03-22 12:36:03 +00:00
{
json_t * request = json_object();
json_object_set_new(request, "method", json_string("some_method"));
json_object_set_new(request, "params", json_object());
json_object_set_new(request, "id", json_integer(42));
ASSERT_TRUE(wfp_jsonrpc_is_request(request));
2020-03-22 12:36:03 +00:00
json_decref(request);
}
TEST(wfp_jsonrpc_request, is_request_fail_missing_params)
2020-03-22 12:36:03 +00:00
{
json_t * request = json_object();
json_object_set_new(request, "method", json_string("some_method"));
json_object_set_new(request, "id", json_integer(42));
ASSERT_FALSE(wfp_jsonrpc_is_request(request));
2020-03-22 12:36:03 +00:00
json_decref(request);
}
TEST(wfp_jsonrpc_request, is_request_fail_params_wrong_type)
2020-03-22 12:36:03 +00:00
{
json_t * request = json_object();
json_object_set_new(request, "method", json_string("some_method"));
json_object_set_new(request, "params", json_string("invalid_params"));
json_object_set_new(request, "id", json_integer(42));
ASSERT_FALSE(wfp_jsonrpc_is_request(request));
2020-03-22 12:36:03 +00:00
json_decref(request);
}