12d4d9a4dSopenharmony_ci/*
22d4d9a4dSopenharmony_ci * Copyright (c) 2022-2024 Huawei Device Co., Ltd.
32d4d9a4dSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
42d4d9a4dSopenharmony_ci * you may not use this file except in compliance with the License.
52d4d9a4dSopenharmony_ci * You may obtain a copy of the License at
62d4d9a4dSopenharmony_ci *
72d4d9a4dSopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
82d4d9a4dSopenharmony_ci *
92d4d9a4dSopenharmony_ci * Unless required by applicable law or agreed to in writing, software
102d4d9a4dSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
112d4d9a4dSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
122d4d9a4dSopenharmony_ci * See the License for the specific language governing permissions and
132d4d9a4dSopenharmony_ci * limitations under the License.
142d4d9a4dSopenharmony_ci */
152d4d9a4dSopenharmony_ci
162d4d9a4dSopenharmony_ci#include "dinput_context_test.h"
172d4d9a4dSopenharmony_ci
182d4d9a4dSopenharmony_ci#include "dinput_context.h"
192d4d9a4dSopenharmony_ci#include "dinput_errcode.h"
202d4d9a4dSopenharmony_ci#include "dinput_utils_tool.h"
212d4d9a4dSopenharmony_ci#include "dinput_softbus_define.h"
222d4d9a4dSopenharmony_ci
232d4d9a4dSopenharmony_ciusing namespace testing::ext;
242d4d9a4dSopenharmony_ciusing namespace OHOS::DistributedHardware::DistributedInput;
252d4d9a4dSopenharmony_ciusing namespace std;
262d4d9a4dSopenharmony_ci
272d4d9a4dSopenharmony_cinamespace OHOS {
282d4d9a4dSopenharmony_cinamespace DistributedHardware {
292d4d9a4dSopenharmony_cinamespace DistributedInput {
302d4d9a4dSopenharmony_ciconstexpr uint32_t SIZE_AFTER_GET = 1;
312d4d9a4dSopenharmony_ciconstexpr uint32_t HEIGHT = 1080;
322d4d9a4dSopenharmony_ci
332d4d9a4dSopenharmony_civoid DInputContextTest::SetUp()
342d4d9a4dSopenharmony_ci{
352d4d9a4dSopenharmony_ci}
362d4d9a4dSopenharmony_ci
372d4d9a4dSopenharmony_civoid DInputContextTest::TearDown()
382d4d9a4dSopenharmony_ci{
392d4d9a4dSopenharmony_ci}
402d4d9a4dSopenharmony_ci
412d4d9a4dSopenharmony_civoid DInputContextTest::SetUpTestCase()
422d4d9a4dSopenharmony_ci{
432d4d9a4dSopenharmony_ci}
442d4d9a4dSopenharmony_ci
452d4d9a4dSopenharmony_civoid DInputContextTest::TearDownTestCase()
462d4d9a4dSopenharmony_ci{
472d4d9a4dSopenharmony_ci}
482d4d9a4dSopenharmony_ci
492d4d9a4dSopenharmony_ciHWTEST_F(DInputContextTest, GetSourceWindId001, testing::ext::TestSize.Level0)
502d4d9a4dSopenharmony_ci{
512d4d9a4dSopenharmony_ci    std::string devId = "hello";
522d4d9a4dSopenharmony_ci    uint64_t sourceWinId = 1;
532d4d9a4dSopenharmony_ci    std::string ret = DInputContext::GetInstance().GetScreenInfoKey(devId, sourceWinId);
542d4d9a4dSopenharmony_ci    EXPECT_EQ("hello###1", ret);
552d4d9a4dSopenharmony_ci}
562d4d9a4dSopenharmony_ci
572d4d9a4dSopenharmony_ciHWTEST_F(DInputContextTest, RemoveSinkScreenInfo001, testing::ext::TestSize.Level0)
582d4d9a4dSopenharmony_ci{
592d4d9a4dSopenharmony_ci    std::string sourceWinId = "hello";
602d4d9a4dSopenharmony_ci    int32_t ret = DInputContext::GetInstance().RemoveSinkScreenInfo(sourceWinId);
612d4d9a4dSopenharmony_ci    EXPECT_EQ(DH_SUCCESS, ret);
622d4d9a4dSopenharmony_ci}
632d4d9a4dSopenharmony_ci
642d4d9a4dSopenharmony_ciHWTEST_F(DInputContextTest, UpdateSinkScreenInfo001, testing::ext::TestSize.Level0)
652d4d9a4dSopenharmony_ci{
662d4d9a4dSopenharmony_ci    std::string sourceWinId = "hello";
672d4d9a4dSopenharmony_ci    SinkScreenInfo sinkScreenInfo;
682d4d9a4dSopenharmony_ci    int32_t ret = DInputContext::GetInstance().UpdateSinkScreenInfo(sourceWinId, sinkScreenInfo);
692d4d9a4dSopenharmony_ci    EXPECT_EQ(ERR_DH_INPUT_CONTEXT_KEY_NOT_EXIST, ret);
702d4d9a4dSopenharmony_ci}
712d4d9a4dSopenharmony_ci
722d4d9a4dSopenharmony_ciHWTEST_F(DInputContextTest, UpdateSinkScreenInfo002, testing::ext::TestSize.Level0)
732d4d9a4dSopenharmony_ci{
742d4d9a4dSopenharmony_ci    std::string sourceWinId = "hello";
752d4d9a4dSopenharmony_ci    SinkScreenInfo sinkScreenInfo = DInputContext::GetInstance().GetSinkScreenInfo(sourceWinId);
762d4d9a4dSopenharmony_ci    int32_t ret = DInputContext::GetInstance().UpdateSinkScreenInfo(sourceWinId, sinkScreenInfo);
772d4d9a4dSopenharmony_ci    EXPECT_EQ(DH_SUCCESS, ret);
782d4d9a4dSopenharmony_ci    DInputContext::GetInstance().RemoveSinkScreenInfo(sourceWinId);
792d4d9a4dSopenharmony_ci}
802d4d9a4dSopenharmony_ci
812d4d9a4dSopenharmony_ciHWTEST_F(DInputContextTest, GetSinkScreenInfo001, testing::ext::TestSize.Level0)
822d4d9a4dSopenharmony_ci{
832d4d9a4dSopenharmony_ci    std::string sourceWinId = "hello";
842d4d9a4dSopenharmony_ci    SinkScreenInfo sinkScreenInfo = DInputContext::GetInstance().GetSinkScreenInfo(sourceWinId);
852d4d9a4dSopenharmony_ci    EXPECT_EQ(SIZE_AFTER_GET, DInputContext::GetInstance().sinkScreenInfoMap_.size());
862d4d9a4dSopenharmony_ci    DInputContext::GetInstance().RemoveSinkScreenInfo(sourceWinId);
872d4d9a4dSopenharmony_ci}
882d4d9a4dSopenharmony_ci
892d4d9a4dSopenharmony_ciHWTEST_F(DInputContextTest, GetSinkScreenInfo002, testing::ext::TestSize.Level0)
902d4d9a4dSopenharmony_ci{
912d4d9a4dSopenharmony_ci    std::string sourceWinId = "hello";
922d4d9a4dSopenharmony_ci    SinkScreenInfo sinkScreenInfo1;
932d4d9a4dSopenharmony_ci    sinkScreenInfo1.sinkPhyHeight = HEIGHT;
942d4d9a4dSopenharmony_ci    DInputContext::GetInstance().sinkScreenInfoMap_[sourceWinId] = sinkScreenInfo1;
952d4d9a4dSopenharmony_ci    SinkScreenInfo sinkScreenInfo = DInputContext::GetInstance().GetSinkScreenInfo(sourceWinId);
962d4d9a4dSopenharmony_ci    EXPECT_EQ(HEIGHT, sinkScreenInfo.sinkPhyHeight);
972d4d9a4dSopenharmony_ci    DInputContext::GetInstance().RemoveSinkScreenInfo(sourceWinId);
982d4d9a4dSopenharmony_ci}
992d4d9a4dSopenharmony_ci
1002d4d9a4dSopenharmony_ciHWTEST_F(DInputContextTest, RemoveSrcScreenInfo001, testing::ext::TestSize.Level0)
1012d4d9a4dSopenharmony_ci{
1022d4d9a4dSopenharmony_ci    std::string sourceWinId = "hello";
1032d4d9a4dSopenharmony_ci    int32_t ret = DInputContext::GetInstance().RemoveSrcScreenInfo(sourceWinId);
1042d4d9a4dSopenharmony_ci    EXPECT_EQ(DH_SUCCESS, ret);
1052d4d9a4dSopenharmony_ci}
1062d4d9a4dSopenharmony_ci
1072d4d9a4dSopenharmony_ciHWTEST_F(DInputContextTest, UpdateSrcScreenInfo001, testing::ext::TestSize.Level0)
1082d4d9a4dSopenharmony_ci{
1092d4d9a4dSopenharmony_ci    std::string sourceWinId = "hello";
1102d4d9a4dSopenharmony_ci    SrcScreenInfo srcScreenInfo;
1112d4d9a4dSopenharmony_ci    int32_t ret = DInputContext::GetInstance().UpdateSrcScreenInfo(sourceWinId, srcScreenInfo);
1122d4d9a4dSopenharmony_ci    EXPECT_EQ(ERR_DH_INPUT_CONTEXT_KEY_NOT_EXIST, ret);
1132d4d9a4dSopenharmony_ci}
1142d4d9a4dSopenharmony_ci
1152d4d9a4dSopenharmony_ciHWTEST_F(DInputContextTest, UpdateSrcScreenInfo002, testing::ext::TestSize.Level0)
1162d4d9a4dSopenharmony_ci{
1172d4d9a4dSopenharmony_ci    std::string sourceWinId = "hello";
1182d4d9a4dSopenharmony_ci    SrcScreenInfo srcScreenInfo = DInputContext::GetInstance().GetSrcScreenInfo(sourceWinId);
1192d4d9a4dSopenharmony_ci    int32_t ret = DInputContext::GetInstance().UpdateSrcScreenInfo(sourceWinId, srcScreenInfo);
1202d4d9a4dSopenharmony_ci    EXPECT_EQ(DH_SUCCESS, ret);
1212d4d9a4dSopenharmony_ci    DInputContext::GetInstance().RemoveSrcScreenInfo(sourceWinId);
1222d4d9a4dSopenharmony_ci}
1232d4d9a4dSopenharmony_ci
1242d4d9a4dSopenharmony_ciHWTEST_F(DInputContextTest, GetSrcScreenInfo001, testing::ext::TestSize.Level0)
1252d4d9a4dSopenharmony_ci{
1262d4d9a4dSopenharmony_ci    std::string sourceWinId = "hello";
1272d4d9a4dSopenharmony_ci    SrcScreenInfo srcScreenInfo = DInputContext::GetInstance().GetSrcScreenInfo(sourceWinId);
1282d4d9a4dSopenharmony_ci    EXPECT_EQ(SIZE_AFTER_GET, DInputContext::GetInstance().srcScreenInfoMap_.size());
1292d4d9a4dSopenharmony_ci    DInputContext::GetInstance().RemoveSrcScreenInfo(sourceWinId);
1302d4d9a4dSopenharmony_ci}
1312d4d9a4dSopenharmony_ci
1322d4d9a4dSopenharmony_ciHWTEST_F(DInputContextTest, GetSrcScreenInfo002, testing::ext::TestSize.Level0)
1332d4d9a4dSopenharmony_ci{
1342d4d9a4dSopenharmony_ci    std::string sourceWinId = "hello";
1352d4d9a4dSopenharmony_ci    SrcScreenInfo srcScreenInfo1;
1362d4d9a4dSopenharmony_ci    srcScreenInfo1.sourcePhyHeight = HEIGHT;
1372d4d9a4dSopenharmony_ci    DInputContext::GetInstance().srcScreenInfoMap_[sourceWinId] = srcScreenInfo1;
1382d4d9a4dSopenharmony_ci    SrcScreenInfo srcScreenInfo = DInputContext::GetInstance().GetSrcScreenInfo(sourceWinId);
1392d4d9a4dSopenharmony_ci    EXPECT_EQ(HEIGHT, srcScreenInfo.sourcePhyHeight);
1402d4d9a4dSopenharmony_ci    DInputContext::GetInstance().RemoveSrcScreenInfo(sourceWinId);
1412d4d9a4dSopenharmony_ci}
1422d4d9a4dSopenharmony_ci
1432d4d9a4dSopenharmony_ciHWTEST_F(DInputContextTest, SetGetLocalTouchScreenInfo001, testing::ext::TestSize.Level0)
1442d4d9a4dSopenharmony_ci{
1452d4d9a4dSopenharmony_ci    LocalTouchScreenInfo localTouchScreenInfo;
1462d4d9a4dSopenharmony_ci    localTouchScreenInfo.sinkShowWidth = HEIGHT;
1472d4d9a4dSopenharmony_ci    DInputContext::GetInstance().SetLocalTouchScreenInfo(localTouchScreenInfo);
1482d4d9a4dSopenharmony_ci    EXPECT_EQ(HEIGHT, DInputContext::GetInstance().GetLocalTouchScreenInfo().sinkShowWidth);
1492d4d9a4dSopenharmony_ci}
1502d4d9a4dSopenharmony_ci
1512d4d9a4dSopenharmony_ciHWTEST_F(DInputContextTest, CalculateTransformInfo001, testing::ext::TestSize.Level0)
1522d4d9a4dSopenharmony_ci{
1532d4d9a4dSopenharmony_ci    SinkScreenInfo sinkScreenInfo;
1542d4d9a4dSopenharmony_ci    int32_t ret = DInputContext::GetInstance().CalculateTransformInfo(sinkScreenInfo);
1552d4d9a4dSopenharmony_ci    EXPECT_EQ(ERR_DH_INPUT_CONTEXT_CALCULATE_FAIL, ret);
1562d4d9a4dSopenharmony_ci}
1572d4d9a4dSopenharmony_ci
1582d4d9a4dSopenharmony_ciHWTEST_F(DInputContextTest, CalculateTransformInfo002, testing::ext::TestSize.Level0)
1592d4d9a4dSopenharmony_ci{
1602d4d9a4dSopenharmony_ci    SinkScreenInfo sinkScreenInfo;
1612d4d9a4dSopenharmony_ci    sinkScreenInfo.sinkPhyHeight = 1080;
1622d4d9a4dSopenharmony_ci    sinkScreenInfo.sinkPhyWidth = 960;
1632d4d9a4dSopenharmony_ci    sinkScreenInfo.sinkShowHeight = 1080;
1642d4d9a4dSopenharmony_ci    sinkScreenInfo.sinkShowWidth = 960;
1652d4d9a4dSopenharmony_ci    int32_t ret = DInputContext::GetInstance().CalculateTransformInfo(sinkScreenInfo);
1662d4d9a4dSopenharmony_ci    EXPECT_EQ(ERR_DH_INPUT_CONTEXT_CALCULATE_FAIL, ret);
1672d4d9a4dSopenharmony_ci}
1682d4d9a4dSopenharmony_ci
1692d4d9a4dSopenharmony_ciHWTEST_F(DInputContextTest, CalculateTransformInfo003, testing::ext::TestSize.Level0)
1702d4d9a4dSopenharmony_ci{
1712d4d9a4dSopenharmony_ci    SinkScreenInfo sinkScreenInfo;
1722d4d9a4dSopenharmony_ci    sinkScreenInfo.sinkPhyHeight = 1080;
1732d4d9a4dSopenharmony_ci    sinkScreenInfo.sinkPhyWidth = 960;
1742d4d9a4dSopenharmony_ci    sinkScreenInfo.sinkShowHeight = 1080;
1752d4d9a4dSopenharmony_ci    sinkScreenInfo.sinkShowWidth = 960;
1762d4d9a4dSopenharmony_ci    sinkScreenInfo.sinkProjShowHeight = 640;
1772d4d9a4dSopenharmony_ci    sinkScreenInfo.sinkProjShowWidth = 480;
1782d4d9a4dSopenharmony_ci    int32_t ret = DInputContext::GetInstance().CalculateTransformInfo(sinkScreenInfo);
1792d4d9a4dSopenharmony_ci    EXPECT_EQ(DH_SUCCESS, ret);
1802d4d9a4dSopenharmony_ci}
1812d4d9a4dSopenharmony_ci
1822d4d9a4dSopenharmony_ciHWTEST_F(DInputContextTest, GetLocalDeviceInfo_001, testing::ext::TestSize.Level1)
1832d4d9a4dSopenharmony_ci{
1842d4d9a4dSopenharmony_ci    DevInfo devInfo = GetLocalDeviceInfo();
1852d4d9a4dSopenharmony_ci    EXPECT_NE(0, devInfo.networkId.size());
1862d4d9a4dSopenharmony_ci}
1872d4d9a4dSopenharmony_ci
1882d4d9a4dSopenharmony_ciHWTEST_F(DInputContextTest, GetLocalNetworkId_001, testing::ext::TestSize.Level1)
1892d4d9a4dSopenharmony_ci{
1902d4d9a4dSopenharmony_ci    std::string ret = GetLocalNetworkId();
1912d4d9a4dSopenharmony_ci    EXPECT_NE(0, ret.size());
1922d4d9a4dSopenharmony_ci}
1932d4d9a4dSopenharmony_ci
1942d4d9a4dSopenharmony_ciHWTEST_F(DInputContextTest, GetUUIDBySoftBus_001, testing::ext::TestSize.Level1)
1952d4d9a4dSopenharmony_ci{
1962d4d9a4dSopenharmony_ci    std::string networkId = "";
1972d4d9a4dSopenharmony_ci    std::string ret = GetUUIDBySoftBus(networkId);
1982d4d9a4dSopenharmony_ci    EXPECT_EQ(0, ret.size());
1992d4d9a4dSopenharmony_ci
2002d4d9a4dSopenharmony_ci    networkId = "networkidc08647073e02e7a78f09473aa122ff57fc81c00";
2012d4d9a4dSopenharmony_ci    ret = GetUUIDBySoftBus(networkId);
2022d4d9a4dSopenharmony_ci    EXPECT_EQ(0, ret.size());
2032d4d9a4dSopenharmony_ci}
2042d4d9a4dSopenharmony_ci
2052d4d9a4dSopenharmony_ciHWTEST_F(DInputContextTest, GetCurrentTime_001, testing::ext::TestSize.Level1)
2062d4d9a4dSopenharmony_ci{
2072d4d9a4dSopenharmony_ci    uint64_t ret = GetCurrentTimeUs();
2082d4d9a4dSopenharmony_ci    EXPECT_NE(0, ret);
2092d4d9a4dSopenharmony_ci}
2102d4d9a4dSopenharmony_ci
2112d4d9a4dSopenharmony_ciHWTEST_F(DInputContextTest, SetAnonyId_001, testing::ext::TestSize.Level1)
2122d4d9a4dSopenharmony_ci{
2132d4d9a4dSopenharmony_ci    std::string message = "";
2142d4d9a4dSopenharmony_ci    std::string ret = SetAnonyId(message);
2152d4d9a4dSopenharmony_ci    EXPECT_EQ(0, ret.size());
2162d4d9a4dSopenharmony_ci}
2172d4d9a4dSopenharmony_ci
2182d4d9a4dSopenharmony_ciHWTEST_F(DInputContextTest, SetAnonyId_002, testing::ext::TestSize.Level1)
2192d4d9a4dSopenharmony_ci{
2202d4d9a4dSopenharmony_ci    nlohmann::json jsonObj;
2212d4d9a4dSopenharmony_ci    std::string deviceId = "deviceId_test";
2222d4d9a4dSopenharmony_ci    std::string inputData = "inputData_data";
2232d4d9a4dSopenharmony_ci    std::string vecDhId = "dhId_123.dhId_456.dhId_789";
2242d4d9a4dSopenharmony_ci    std::string srcDevId = "srcDevId_test";
2252d4d9a4dSopenharmony_ci    std::string sinkDevId = "sinkDevId_test";
2262d4d9a4dSopenharmony_ci    jsonObj[DINPUT_SOFTBUS_KEY_DEVICE_ID] = deviceId;
2272d4d9a4dSopenharmony_ci    jsonObj[DINPUT_SOFTBUS_KEY_INPUT_DATA] = inputData;
2282d4d9a4dSopenharmony_ci    jsonObj[DINPUT_SOFTBUS_KEY_VECTOR_DHID] = vecDhId;
2292d4d9a4dSopenharmony_ci    jsonObj[DINPUT_SOFTBUS_KEY_SRC_DEV_ID] = srcDevId;
2302d4d9a4dSopenharmony_ci    jsonObj[DINPUT_SOFTBUS_KEY_SINK_DEV_ID] = sinkDevId;
2312d4d9a4dSopenharmony_ci    std::string ret = SetAnonyId(jsonObj.dump());
2322d4d9a4dSopenharmony_ci    EXPECT_NE(0, ret.size());
2332d4d9a4dSopenharmony_ci}
2342d4d9a4dSopenharmony_ci
2352d4d9a4dSopenharmony_ciHWTEST_F(DInputContextTest, GetNodeDesc_001, testing::ext::TestSize.Level1)
2362d4d9a4dSopenharmony_ci{
2372d4d9a4dSopenharmony_ci    std::string parameters = "";
2382d4d9a4dSopenharmony_ci    std::string ret = GetNodeDesc(parameters);
2392d4d9a4dSopenharmony_ci    EXPECT_EQ(0, ret.size());
2402d4d9a4dSopenharmony_ci}
2412d4d9a4dSopenharmony_ci
2422d4d9a4dSopenharmony_ciHWTEST_F(DInputContextTest, JointDhIds_001, testing::ext::TestSize.Level1)
2432d4d9a4dSopenharmony_ci{
2442d4d9a4dSopenharmony_ci    std::vector<std::string> dhids;
2452d4d9a4dSopenharmony_ci    std::string ret = JointDhIds(dhids);
2462d4d9a4dSopenharmony_ci    EXPECT_EQ("", ret);
2472d4d9a4dSopenharmony_ci}
2482d4d9a4dSopenharmony_ci
2492d4d9a4dSopenharmony_ci} // namespace DistributedInput
2502d4d9a4dSopenharmony_ci} // namespace DistributedHardware
2512d4d9a4dSopenharmony_ci} // namespace OHOS
252