1 /*
2 * Copyright (c) 2022 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16 #include <gtest/gtest.h>
17
18 #include <securec.h>
19
20 #include "bus_center_event.h"
21 #include "lnn_heartbeat_ctrl.h"
22 #include "message_handler.h"
23 #include "softbus_access_token_test.h"
24 #include "softbus_bus_center.h"
25 #include "softbus_errcode.h"
26
27 namespace OHOS {
28 using namespace testing::ext;
29
30 static constexpr char TEST_PKG_NAME1[] = "com.softbus.test";
31 static constexpr char TEST_PKG_NAME2[] = "com.softbus.test1";
32
33 class BusCenterHeartbeatSdkTest : public testing::Test {
34 public:
35 static void SetUpTestCase();
36 static void TearDownTestCase();
37 void SetUp();
38 void TearDown();
39 };
40
SetUpTestCase()41 void BusCenterHeartbeatSdkTest::SetUpTestCase()
42 {
43 SetAceessTokenPermission("busCenterTest");
44 LooperInit();
45 LnnInitBusCenterEvent();
46 LnnInitHeartbeat();
47 }
48
TearDownTestCase()49 void BusCenterHeartbeatSdkTest::TearDownTestCase()
50 {
51 LnnDeinitHeartbeat();
52 LnnDeinitBusCenterEvent();
53 LooperDeinit();
54 }
55
SetUp()56 void BusCenterHeartbeatSdkTest::SetUp()
57 {
58 }
59
TearDown()60 void BusCenterHeartbeatSdkTest::TearDown()
61 {
62 }
63
64 /*
65 * @tc.name: Shift_Lnn_Gear_Test_001
66 * @tc.desc: heart beat parameter adjust test
67 * @tc.type: FUNC
68 * @tc.require: I5HMXC
69 */
70 HWTEST_F(BusCenterHeartbeatSdkTest, Shift_Lnn_Gear_Test_001, TestSize.Level1)
71 {
72 char networkId1[] = "012345678B987654321001234A678998";
73 char networkId2[] = "012345678B987654321001234A67899876543210012E4567899876543210012FFFFFFFFF012345678B9876";
74 const char *callerId1 = "1";
75 const char *callerId2 = "2";
76 const char *callerId3 = "3";
77 const char *callerId4 = "4";
78 const char *callerId5 = "5";
79 const char *callerId6 = "";
80 const char *callerId7 = "012345678B987654321001234A67899876543210012E4567899876543210012FFFFFFFFF012345678B9876"
81 "54321001234A67899876543210012E4567899876543210012FFFFFFFFF";
82 GearMode mode1 = {
83 .cycle = MID_FREQ_CYCLE,
84 .duration = DEFAULT_DURATION,
85 .wakeupFlag = false,
86 };
87 GearMode mode2 = {
88 .cycle = HIGH_FREQ_CYCLE,
89 .duration = DEFAULT_DURATION,
90 .wakeupFlag = true,
91 };
92 GearMode mode3 = {
93 .cycle = LOW_FREQ_CYCLE,
94 .duration = LONG_DURATION,
95 .wakeupFlag = true,
96 };
97 GearMode mode4 = {
98 .cycle = HIGH_FREQ_CYCLE,
99 .duration = NORMAL_DURATION,
100 .wakeupFlag = true,
101 };
102 GearMode mode5 = {
103 .cycle = MID_FREQ_CYCLE,
104 .duration = LONG_DURATION,
105 .wakeupFlag = false,
106 };
107
108 EXPECT_EQ(ShiftLNNGear(TEST_PKG_NAME1, callerId1, networkId1, &mode1), SOFTBUS_INVALID_PARAM);
109 EXPECT_EQ(ShiftLNNGear(TEST_PKG_NAME1, callerId1, networkId2, &mode1), SOFTBUS_INVALID_PARAM);
110 EXPECT_EQ(ShiftLNNGear(TEST_PKG_NAME1, callerId1, NULL, &mode1), SOFTBUS_OK);
111 EXPECT_EQ(ShiftLNNGear(TEST_PKG_NAME2, callerId1, NULL, &mode1), SOFTBUS_OK);
112 EXPECT_EQ(ShiftLNNGear(NULL, callerId1, NULL, &mode1), SOFTBUS_INVALID_PARAM);
113 EXPECT_EQ(ShiftLNNGear(TEST_PKG_NAME1, callerId1, NULL, NULL), SOFTBUS_INVALID_PARAM);
114
115 EXPECT_EQ(ShiftLNNGear(TEST_PKG_NAME1, callerId1, NULL, &mode2), SOFTBUS_OK);
116 EXPECT_EQ(ShiftLNNGear(TEST_PKG_NAME1, callerId2, NULL, &mode2), SOFTBUS_OK);
117 EXPECT_EQ(ShiftLNNGear(TEST_PKG_NAME1, callerId3, NULL, &mode3), SOFTBUS_OK);
118 EXPECT_EQ(ShiftLNNGear(TEST_PKG_NAME1, callerId4, NULL, &mode4), SOFTBUS_OK);
119 EXPECT_EQ(ShiftLNNGear(TEST_PKG_NAME1, callerId5, NULL, &mode5), SOFTBUS_OK);
120 EXPECT_EQ(ShiftLNNGear(TEST_PKG_NAME1, callerId6, NULL, &mode5), SOFTBUS_INVALID_PARAM);
121 EXPECT_EQ(ShiftLNNGear(TEST_PKG_NAME1, callerId7, NULL, &mode5), SOFTBUS_INVALID_PARAM);
122 }
123 } // namespace OHOS
124