1
0
mirror of https://github.com/falk-werner/webfuse-provider synced 2026-03-02 04:09:18 +00:00

added code to parse urls

This commit is contained in:
Falk Werner
2019-02-23 15:57:57 +01:00
parent 36560f71e7
commit d18150d305
4 changed files with 261 additions and 3 deletions

90
test/test_url.cc Normal file
View File

@@ -0,0 +1,90 @@
#include <gtest/gtest.h>
#include "wsfsp/url.h"
TEST(url, ParseWs)
{
struct wsfsp_url url;
bool result = wsfsp_url_init(&url, "ws://localhost/");
ASSERT_TRUE(result);
ASSERT_EQ(80, url.port);
ASSERT_STREQ("localhost", url.host);
ASSERT_STREQ("/", url.path);
wsfsp_url_cleanup(&url);
}
TEST(url, ParswWss)
{
struct wsfsp_url url;
bool result = wsfsp_url_init(&url, "wss://localhost/");
ASSERT_TRUE(result);
ASSERT_EQ(443, url.port);
ASSERT_STREQ("localhost", url.host);
ASSERT_STREQ("/", url.path);
wsfsp_url_cleanup(&url);
}
TEST(url, ParseIPAdress)
{
struct wsfsp_url url;
bool result = wsfsp_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);
wsfsp_url_cleanup(&url);
}
TEST(url, ParsePort)
{
struct wsfsp_url url;
bool result = wsfsp_url_init(&url, "ws://localhost:54321/");
ASSERT_TRUE(result);
ASSERT_EQ(54321, url.port);
wsfsp_url_cleanup(&url);
}
TEST(url, ParseNonEmptyPath)
{
struct wsfsp_url url;
bool result = wsfsp_url_init(&url, "ws://localhost/some_path?query");
ASSERT_TRUE(result);
ASSERT_STREQ("/some_path?query", url.path);
wsfsp_url_cleanup(&url);
}
TEST(url, FailToParseUnknownProtocol)
{
struct wsfsp_url url;
bool result = wsfsp_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 wsfsp_url url;
bool result = wsfsp_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 wsfsp_url url;
bool result = wsfsp_url_init(&url, "wss://localhost");
ASSERT_FALSE(result);
ASSERT_EQ(0, url.port);
ASSERT_EQ(nullptr, url.path);
ASSERT_EQ(nullptr, url.host);
}