11e934351Sopenharmony_ci/*
21e934351Sopenharmony_ci * Copyright (c) 2022-2023 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 <gtest/gtest.h>
171e934351Sopenharmony_ci#include <regex>
181e934351Sopenharmony_ci#include "socket_error.h"
191e934351Sopenharmony_ci
201e934351Sopenharmony_cinamespace OHOS {
211e934351Sopenharmony_cinamespace NetStack {
221e934351Sopenharmony_cinamespace TlsSocket {
231e934351Sopenharmony_cinamespace {
241e934351Sopenharmony_ciusing namespace testing::ext;
251e934351Sopenharmony_ciconst int32_t ERROR_NOT_EXIT = 2303800;
261e934351Sopenharmony_ci} // namespace
271e934351Sopenharmony_ci
281e934351Sopenharmony_ciclass SocketErrorTest : public testing::Test {
291e934351Sopenharmony_cipublic:
301e934351Sopenharmony_ci    static void SetUpTestCase() {}
311e934351Sopenharmony_ci
321e934351Sopenharmony_ci    static void TearDownTestCase() {}
331e934351Sopenharmony_ci
341e934351Sopenharmony_ci    virtual void SetUp() {}
351e934351Sopenharmony_ci
361e934351Sopenharmony_ci    virtual void TearDown() {}
371e934351Sopenharmony_ci};
381e934351Sopenharmony_ci
391e934351Sopenharmony_ciHWTEST_F(SocketErrorTest, SocketError, TestSize.Level2)
401e934351Sopenharmony_ci{
411e934351Sopenharmony_ci    std::string errorMsg = MakeErrorMessage(TLS_ERR_SYS_EINTR);
421e934351Sopenharmony_ci    EXPECT_STREQ(errorMsg.data(), "Interrupted system call");
431e934351Sopenharmony_ci}
441e934351Sopenharmony_ci
451e934351Sopenharmony_ciHWTEST_F(SocketErrorTest, SocketError2, TestSize.Level2)
461e934351Sopenharmony_ci{
471e934351Sopenharmony_ci    std::string errorMsg = MakeErrorMessage(ERROR_NOT_EXIT);
481e934351Sopenharmony_ci    std::regex value("^error:000002BC:lib.{5,12}reason.{5}");
491e934351Sopenharmony_ci    EXPECT_TRUE(std::regex_match(errorMsg, value) == true);
501e934351Sopenharmony_ci}
511e934351Sopenharmony_ci} // namespace TlsSocket
521e934351Sopenharmony_ci} // namespace NetStack
531e934351Sopenharmony_ci} // namespace OHOS