11e934351Sopenharmony_ci/* 21e934351Sopenharmony_ci * Copyright (c) 2022 Huawei Device Co., Ltd. 31e934351Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 41e934351Sopenharmony_ci * you may not use this file except in compliance with the License. 51e934351Sopenharmony_ci * You may obtain a copy of the License at 61e934351Sopenharmony_ci * 71e934351Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 81e934351Sopenharmony_ci * 91e934351Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 101e934351Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 111e934351Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 121e934351Sopenharmony_ci * See the License for the specific language governing permissions and 131e934351Sopenharmony_ci * limitations under the License. 141e934351Sopenharmony_ci */ 151e934351Sopenharmony_ci 161e934351Sopenharmony_ci#include <map> 171e934351Sopenharmony_ci 181e934351Sopenharmony_ci#include "gtest/gtest.h" 191e934351Sopenharmony_ci 201e934351Sopenharmony_ci#include "base64_utils.h" 211e934351Sopenharmony_ci 221e934351Sopenharmony_cinamespace OHOS { 231e934351Sopenharmony_cinamespace NetStack { 241e934351Sopenharmony_ciusing namespace Base64; 251e934351Sopenharmony_ciusing namespace testing::ext; 261e934351Sopenharmony_cinamespace { 271e934351Sopenharmony_ciconst std::string TEST_TEXT[] = { 281e934351Sopenharmony_ci "We are supporting a community where more than 28 million* people learn, share, and work together " 291e934351Sopenharmony_ci "to build software. ", 301e934351Sopenharmony_ci "这是一段用来测试的文本,测试加密内容。", 311e934351Sopenharmony_ci "\\C6y\\83u\\F9C\\8As\\C8\\D1j.\\CFi\\83\\E2#Z:\\FB \\A7m\\8B\\D9\\E5ܫ\\E4\\D7PMY\\D6\\CF\\F0" 321e934351Sopenharmony_ci "É", 331e934351Sopenharmony_ci}; 341e934351Sopenharmony_ci 351e934351Sopenharmony_ciconst std::map<std::string, std::string> CODE_MAP = { 361e934351Sopenharmony_ci {"abcde", "YWJjZGU="}, 371e934351Sopenharmony_ci {"测试加密解密", "5rWL6K+V5Yqg5a+G6Kej5a+G"}, 381e934351Sopenharmony_ci {"\\C6y\\83u\\F9C\\8As\\C8\\D1j.\\CFi\\83\\E2#Z:", "XEM2eVw4M3VcRjlDXDhBcxtcQzhcRDFqLlxDRmkeXDgzElxFMiNaETo="}, 391e934351Sopenharmony_ci}; 401e934351Sopenharmony_ci} // namespace 411e934351Sopenharmony_ci 421e934351Sopenharmony_ciclass Base64Test : public testing::Test { 431e934351Sopenharmony_cipublic: 441e934351Sopenharmony_ci static void SetUpTestCase() {} 451e934351Sopenharmony_ci 461e934351Sopenharmony_ci static void TearDownTestCase() {} 471e934351Sopenharmony_ci 481e934351Sopenharmony_ci void SetUp() {} 491e934351Sopenharmony_ci 501e934351Sopenharmony_ci void TearDown() {} 511e934351Sopenharmony_ci}; 521e934351Sopenharmony_ci 531e934351Sopenharmony_ciHWTEST_F(Base64Test, EncodeAndDecodeTest, TestSize.Level1) 541e934351Sopenharmony_ci{ 551e934351Sopenharmony_ci for (const auto &str : TEST_TEXT) { 561e934351Sopenharmony_ci EXPECT_EQ(Decode(Encode(str)), str); 571e934351Sopenharmony_ci } 581e934351Sopenharmony_ci 591e934351Sopenharmony_ci for (const auto &test : CODE_MAP) { 601e934351Sopenharmony_ci EXPECT_EQ(Encode(test.first), test.second); 611e934351Sopenharmony_ci EXPECT_EQ(Decode(test.second), test.first); 621e934351Sopenharmony_ci } 631e934351Sopenharmony_ci} 641e934351Sopenharmony_ci} // namespace NetStack 651e934351Sopenharmony_ci} // namespace OHOS 66