mirror of
https://github.com/falk-werner/webfuse-provider
synced 2024-10-27 20:44:10 +00:00
07e32757f8
* removes unnecessary code * adds test of wf_status * adds tests of wf_message * adds tests of wf_message_queue * changed branch of coverage badge to display correct results * moves core tests into separate subdirectory * increases coverage of timer test * moves adapter specific tests into separate directory * moves provider specific tests into separate directory * adds tests of jsonrpc utilities * adds tests of jsonrpc request * adds test of jsonrpc response * adds tests of jsonrpc server * adds tests of jsonrpc proxy * adds integration test (found some issues) * disables problematic tests * fixes resource leak: pending timer after cleanup proxy * fixes order of cleanup to prevent processing pending requests after filesystem shut down * fixes some memcheck and helgrind errors: initialization of lws_log; setup of client and server * disabled a test * fixes error in msleep utility * fixes deadlock at IntegrationTest using valgrind * removes unit test code from coverage report * adds some integration tests * makes badge show coverage of master * fixes some coding style issues * fixes eary trigger of is_connected (provider) * fixes read error in 32 bit environments\n\ninode is always 64 bit, but variadic wf_impl_jsonrpc_proxy_invoke expects int
93 lines
2.1 KiB
C++
93 lines
2.1 KiB
C++
#include <gtest/gtest.h>
|
|
|
|
#include "webfuse/provider/impl/url.h"
|
|
|
|
TEST(url, ParseWs)
|
|
{
|
|
struct wfp_impl_url url;
|
|
bool result = wfp_impl_url_init(&url, "ws://localhost/");
|
|
ASSERT_TRUE(result);
|
|
ASSERT_EQ(80, url.port);
|
|
ASSERT_FALSE(url.use_tls);
|
|
ASSERT_STREQ("localhost", url.host);
|
|
ASSERT_STREQ("/", url.path);
|
|
|
|
wfp_impl_url_cleanup(&url);
|
|
}
|
|
|
|
TEST(url, ParswWss)
|
|
{
|
|
struct wfp_impl_url url;
|
|
bool result = wfp_impl_url_init(&url, "wss://localhost/");
|
|
ASSERT_TRUE(result);
|
|
ASSERT_EQ(443, url.port);
|
|
ASSERT_TRUE(url.use_tls);
|
|
ASSERT_STREQ("localhost", url.host);
|
|
ASSERT_STREQ("/", url.path);
|
|
|
|
wfp_impl_url_cleanup(&url);
|
|
}
|
|
|
|
TEST(url, ParseIPAdress)
|
|
{
|
|
struct wfp_impl_url url;
|
|
bool result = wfp_impl_url_init(&url, "ws://127.0.0.1/");
|
|
ASSERT_TRUE(result);
|
|
ASSERT_EQ(80, url.port);
|
|
ASSERT_STREQ("127.0.0.1", url.host);
|
|
ASSERT_STREQ("/", url.path);
|
|
|
|
wfp_impl_url_cleanup(&url);
|
|
}
|
|
|
|
TEST(url, ParsePort)
|
|
{
|
|
struct wfp_impl_url url;
|
|
bool result = wfp_impl_url_init(&url, "ws://localhost:54321/");
|
|
ASSERT_TRUE(result);
|
|
ASSERT_EQ(54321, url.port);
|
|
|
|
wfp_impl_url_cleanup(&url);
|
|
}
|
|
|
|
TEST(url, ParseNonEmptyPath)
|
|
{
|
|
struct wfp_impl_url url;
|
|
bool result = wfp_impl_url_init(&url, "ws://localhost/some_path?query");
|
|
ASSERT_TRUE(result);
|
|
ASSERT_STREQ("/some_path?query", url.path);
|
|
|
|
wfp_impl_url_cleanup(&url);
|
|
}
|
|
|
|
TEST(url, FailToParseUnknownProtocol)
|
|
{
|
|
struct wfp_impl_url url;
|
|
bool result = wfp_impl_url_init(&url, "unknown://localhost/");
|
|
ASSERT_FALSE(result);
|
|
ASSERT_EQ(0, url.port);
|
|
ASSERT_EQ(nullptr, url.path);
|
|
ASSERT_EQ(nullptr, url.host);
|
|
}
|
|
|
|
TEST(url, FailToParseMissingProtocol)
|
|
{
|
|
struct wfp_impl_url url;
|
|
bool result = wfp_impl_url_init(&url, "unknown");
|
|
ASSERT_FALSE(result);
|
|
ASSERT_EQ(0, url.port);
|
|
ASSERT_EQ(nullptr, url.path);
|
|
ASSERT_EQ(nullptr, url.host);
|
|
}
|
|
|
|
TEST(url, FailToParseMissingPath)
|
|
{
|
|
struct wfp_impl_url url;
|
|
bool result = wfp_impl_url_init(&url, "ws://localhost");
|
|
ASSERT_FALSE(result);
|
|
ASSERT_EQ(0, url.port);
|
|
ASSERT_EQ(nullptr, url.path);
|
|
ASSERT_EQ(nullptr, url.host);
|
|
}
|
|
|