You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1023 B
50 lines
1023 B
4 years ago
|
#include "webfuse_provider/mocks/mock_request.hpp"
|
||
6 years ago
|
#include <cstdlib>
|
||
|
|
||
5 years ago
|
extern "C"
|
||
6 years ago
|
{
|
||
|
|
||
5 years ago
|
static void webfuse_test_MockRequest_respond(
|
||
6 years ago
|
json_t * response,
|
||
|
void * user_data)
|
||
|
{
|
||
5 years ago
|
auto * request = reinterpret_cast<webfuse_test::MockRequest*>(user_data);
|
||
6 years ago
|
|
||
|
json_t * result = json_object_get(response, "result");
|
||
|
json_t * error = json_object_get(response, "error");
|
||
|
json_t * id_holder = json_object_get(response, "id");
|
||
|
|
||
|
int id = -1;
|
||
|
if (json_is_integer(id_holder))
|
||
|
{
|
||
|
id = json_integer_value(id_holder);
|
||
|
}
|
||
|
|
||
|
if (nullptr != result)
|
||
|
{
|
||
|
request->respond(result, id);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
request->respond_error(error, id);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
namespace webfuse_test
|
||
|
{
|
||
|
|
||
5 years ago
|
struct wfp_request * MockRequest::create_request(int id)
|
||
6 years ago
|
{
|
||
5 years ago
|
auto * request = reinterpret_cast<wfp_request*>(malloc(sizeof(wfp_request)));
|
||
|
request->respond = &webfuse_test_MockRequest_respond;
|
||
|
request->user_data = reinterpret_cast<void*>(this);
|
||
6 years ago
|
request->id = id;
|
||
|
|
||
|
return request;
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
}
|