summaryrefslogtreecommitdiff
path: root/test/redfish-core/lib/update_service_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/redfish-core/lib/update_service_test.cpp')
-rw-r--r--test/redfish-core/lib/update_service_test.cpp72
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;