Add base64 encode and decode.

This commit is contained in:
Chunting Gu
2019-03-27 14:06:22 +08:00
parent ee56fe9d1b
commit 18db152419
7 changed files with 249 additions and 23 deletions
+2 -6
View File
@@ -1,14 +1,10 @@
# Unit test
set(UT_SRCS
base64_test.cc
rest_service_manager_test.cc
url_test.cc
)
if(WEBCC_ENABLE_REST)
set(UT_SRCS ${UT_SRCS}
rest_service_manager_test.cc
)
endif()
set(UT_TARGET_NAME webcc_unittest)
add_executable(${UT_TARGET_NAME} ${UT_SRCS})
+29
View File
@@ -0,0 +1,29 @@
#include "gtest/gtest.h"
#include "webcc/base64.h"
TEST(Base64, Encode) {
std::string encoded;
encoded = webcc::Base64Encode("ban");
EXPECT_EQ("YmFu", encoded);
encoded = webcc::Base64Encode("bana");
EXPECT_EQ("YmFuYQ==", encoded);
encoded = webcc::Base64Encode("banan");
EXPECT_EQ("YmFuYW4=", encoded);
}
TEST(Base64, Decode) {
std::string decoded;
decoded = webcc::Base64Decode("YmFu");
EXPECT_EQ("ban", decoded);
decoded = webcc::Base64Decode("YmFuYQ==");
EXPECT_EQ("bana", decoded);
decoded = webcc::Base64Decode("YmFuYW4=");
EXPECT_EQ("banan", decoded);
}
-17
View File
@@ -37,23 +37,6 @@ TEST(RestServiceManager, URL_RegexBasic) {
EXPECT_FALSE(!!service);
}
TEST(RestServiceManager, URL_Temp) {
webcc::RestServiceManager service_manager;
service_manager.AddService(std::make_shared<TestRestService>(),
"/instance/([\\w.]+)", true);
std::vector<std::string> matches;
std::string url = "/instance/123.45-+6aaa";
webcc::RestServicePtr service = service_manager.GetService(url, &matches);
EXPECT_TRUE(!!service);
EXPECT_EQ(1, matches.size());
EXPECT_EQ("123.45-6aaa", matches[0]);
}
TEST(RestServiceManager, URL_RegexMultiple) {
webcc::RestServiceManager service_manager;