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