1
0
mirror of https://github.com/falk-werner/webfuse synced 2024-10-27 20:34:10 +00:00
falk-werner_webfuse/test/webfuse/test_server.cc

61 lines
1.4 KiB
C++
Raw Normal View History

#include <gtest/gtest.h>
2019-02-09 02:08:02 +00:00
#include <cstdlib>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <chrono>
2019-02-09 02:08:02 +00:00
2020-06-28 13:51:34 +00:00
#include "webfuse/server.h"
#include "webfuse/server_config.h"
#include "webfuse/test_util/server.hpp"
#include "webfuse/test_util/ws_client.hpp"
#include "webfuse/mocks/mock_invokation_handler.hpp"
#include "webfuse/protocol_names.h"
using webfuse_test::MockInvokationHander;
using webfuse_test::WsClient;
using webfuse_test::Server;
#define TIMEOUT (std::chrono::seconds(10))
2019-02-09 02:08:02 +00:00
2020-03-21 08:11:18 +00:00
namespace
{
struct wf_mountpoint *
create_mountpoint(
char const * filesystem,
void * user_data)
{
(void) filesystem;
(void) user_data;
return nullptr;
}
}
TEST(server, create_dispose)
{
2019-02-09 02:08:02 +00:00
mkdir("test", 0700);
2019-03-26 22:04:53 +00:00
struct wf_server_config * config = wf_server_config_create();
2020-03-21 08:11:18 +00:00
wf_server_config_set_mountpoint_factory(config, &create_mountpoint, nullptr);
2019-03-26 22:04:53 +00:00
struct wf_server * server = wf_server_create(config);
ASSERT_NE(nullptr, server);
2019-03-26 22:04:53 +00:00
wf_server_dispose(server);
wf_server_config_dispose(config);
2019-02-09 02:08:02 +00:00
rmdir("test");
}
TEST(server, connect)
{
Server server;
MockInvokationHander handler;
WsClient client(handler, WF_PROTOCOL_NAME_PROVIDER_CLIENT);
auto future = client.Connect(server.GetPort(), WF_PROTOCOL_NAME_ADAPTER_SERVER);
ASSERT_EQ(std::future_status::ready, future.wait_for(TIMEOUT));
// future.get();
}