diff options
Diffstat (limited to 'test/redfish-core/lib/update_service_test.cpp')
-rw-r--r-- | test/redfish-core/lib/update_service_test.cpp | 72 |
1 files changed, 71 insertions, 1 deletions
diff --git a/test/redfish-core/lib/update_service_test.cpp b/test/redfish-core/lib/update_service_test.cpp index 87af3f116a..3e013e3cbd 100644 --- a/test/redfish-core/lib/update_service_test.cpp +++ b/test/redfish-core/lib/update_service_test.cpp @@ -43,7 +43,7 @@ TEST(UpdateService, ParseTFTPPostitive) EXPECT_EQ(ret->scheme(), "tftp"); } { - // Both protocl and schema on url + // Both protocol and schema on url std::optional<boost::urls::url> ret = parseSimpleUpdateUrl("tftp://1.1.1.1/path", "TFTP", res); ASSERT_TRUE(ret); @@ -57,6 +57,76 @@ TEST(UpdateService, ParseTFTPPostitive) } } +TEST(UpdateService, ParseHTTPSPostitive) +{ + crow::Response res; + { + // No protocol, schema on url + std::optional<boost::urls::url> ret = + parseSimpleUpdateUrl("https://1.1.1.1/path", std::nullopt, res); + ASSERT_TRUE(ret); + if (!ret) + { + return; + } + EXPECT_EQ(ret->encoded_host_and_port(), "1.1.1.1"); + EXPECT_EQ(ret->encoded_path(), "/path"); + EXPECT_EQ(ret->scheme(), "https"); + } + { + // Protocol, no schema on url + std::optional<boost::urls::url> ret = + parseSimpleUpdateUrl("1.1.1.1/path", "HTTPS", res); + ASSERT_TRUE(ret); + if (!ret) + { + return; + } + EXPECT_EQ(ret->encoded_host_and_port(), "1.1.1.1"); + EXPECT_EQ(ret->encoded_path(), "/path"); + EXPECT_EQ(ret->scheme(), "https"); + } + { + // Both protocol and schema on url with path + std::optional<boost::urls::url> ret = + parseSimpleUpdateUrl("https://1.1.1.1/path", "HTTPS", res); + ASSERT_TRUE(ret); + if (!ret) + { + return; + } + EXPECT_EQ(ret->encoded_host_and_port(), "1.1.1.1"); + EXPECT_EQ(ret->encoded_path(), "/path"); + EXPECT_EQ(ret->scheme(), "https"); + } + { + // Both protocol and schema on url without path + std::optional<boost::urls::url> ret = + parseSimpleUpdateUrl("https://1.1.1.1", "HTTPS", res); + ASSERT_TRUE(ret); + if (!ret) + { + return; + } + EXPECT_EQ(ret->encoded_host_and_port(), "1.1.1.1"); + EXPECT_EQ(ret->encoded_path(), "/"); + EXPECT_EQ(ret->scheme(), "https"); + } + { + // Both protocol and schema on url without path + std::optional<boost::urls::url> ret = + parseSimpleUpdateUrl("https://[2001:db8::1]", "HTTPS", res); + ASSERT_TRUE(ret); + if (!ret) + { + return; + } + EXPECT_EQ(ret->encoded_host_and_port(), "[2001:db8::1]"); + EXPECT_EQ(ret->encoded_path(), "/"); + EXPECT_EQ(ret->scheme(), "https"); + } +} + TEST(UpdateService, ParseTFTPNegative) { crow::Response res; |