1 /*
2 * Copyright (c) 2024 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 "dsched_sync_e2e_test.h"
17
18 #include <thread>
19 #include "distributed_sched_test_util.h"
20 #include "dtbschedmgr_device_info_storage.h"
21 #include "test_log.h"
22
23 namespace OHOS {
24 namespace DistributedSchedule {
25 using namespace std;
26 using namespace testing;
27 using namespace testing::ext;
28 using namespace OHOS::DistributedKv;
29 using namespace OHOS::DistributedHardware;
30 namespace {
31 const std::string BASEDIR = "/data/service/el1/public/database/DistributedSchedule";
32 constexpr int32_t TASK_ID_1 = 11;
33 constexpr int32_t TASK_ID_2 = 12;
34 constexpr size_t BYTESTREAM_LENGTH = 100;
35 constexpr uint8_t ONE_BYTE = '6';
36 }
37
SetUpTestCase()38 void DmsKvSyncE2ETest::SetUpTestCase()
39 {
40 mkdir(BASEDIR.c_str(), (S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH));
41 DTEST_LOG << "DmsKvSyncE2ETest::SetUpTestCase" << std::endl;
42 }
43
TearDownTestCase()44 void DmsKvSyncE2ETest::TearDownTestCase()
45 {
46 (void)remove(BASEDIR.c_str());
47 DTEST_LOG << "DmsKvSyncE2ETest::TearDownTestCase" << std::endl;
48 }
49
SetUp()50 void DmsKvSyncE2ETest::SetUp()
51 {
52 DistributedSchedUtil::MockPermission();
53 dmsKvSyncE2E_ = std::make_shared<DmsKvSyncE2E>();
54 DTEST_LOG << "DmsKvSyncE2ETest::SetUp" << std::endl;
55 }
56
TearDown()57 void DmsKvSyncE2ETest::TearDown()
58 {
59 DTEST_LOG << "DmsKvSyncE2ETest::TearDown" << std::endl;
60 }
61
62
GetDmsKvSyncE2E()63 std::shared_ptr<DmsKvSyncE2E> DmsKvSyncE2ETest::GetDmsKvSyncE2E()
64 {
65 if (dmsKvSyncE2E_ == nullptr) {
66 dmsKvSyncE2E_ = std::make_unique<DmsKvSyncE2E>();
67 }
68 return dmsKvSyncE2E_;
69 }
70
71 /**
72 * @tc.name: PushAndPullDataTest_001
73 * @tc.desc: test insert DmsKvSyncE2E
74 * @tc.type: FUNC
75 */
76 HWTEST_F(DmsKvSyncE2ETest, PushAndPullDataTest_001, TestSize.Level1)
77 {
78 DTEST_LOG << "DmsKvSyncE2ETest PushAndPullDataTest_001 start" << std::endl;
79 ASSERT_NE(dmsKvSyncE2E_, nullptr);
80 auto dmsKvSyncE2E = GetDmsKvSyncE2E();
81 EXPECT_NE(dmsKvSyncE2E, nullptr);
82 if (dmsKvSyncE2E != nullptr) {
83 bool ret = dmsKvSyncE2E_->GetInstance()->PushAndPullData();
84 EXPECT_EQ(ret, false);
85 }
86 DTEST_LOG << "DmsKvSyncE2ETest PushAndPullDataTest_001 end" << std::endl;
87 }
88
89 /**
90 * @tc.name: PushAndPullDataTest_002
91 * @tc.desc: test insert DmsKvSyncE2E
92 * @tc.type: FUNC
93 */
94 HWTEST_F(DmsKvSyncE2ETest, PushAndPullDataTest_002, TestSize.Level1)
95 {
96 DTEST_LOG << "DmsKvSyncE2ETest PushAndPullDataTest_002 start" << std::endl;
97 ASSERT_NE(dmsKvSyncE2E_, nullptr);
98 auto dmsKvSyncE2E = GetDmsKvSyncE2E();
99 EXPECT_NE(dmsKvSyncE2E, nullptr);
100 if (dmsKvSyncE2E != nullptr) {
101 const std::string networkId = "123";
102 bool ret = dmsKvSyncE2E_->GetInstance()->PushAndPullData(networkId);
103 EXPECT_EQ(ret, false);
104 }
105 DTEST_LOG << "DmsKvSyncE2ETest PushAndPullDataTest_002 end" << std::endl;
106 }
107
108 /**
109 * @tc.name: SetDeviceCfgTest_001
110 * @tc.desc: test insert DmsKvSyncE2E
111 * @tc.type: FUNC
112 */
113 HWTEST_F(DmsKvSyncE2ETest, SetDeviceCfgTest_001, TestSize.Level1)
114 {
115 DTEST_LOG << "DmsKvSyncE2ETest SetDeviceCfgTest_001 start" << std::endl;
116 ASSERT_NE(dmsKvSyncE2E_, nullptr);
117 auto dmsKvSyncE2E = GetDmsKvSyncE2E();
118 EXPECT_NE(dmsKvSyncE2E, nullptr);
119 if (dmsKvSyncE2E != nullptr) {
120 dmsKvSyncE2E_->GetInstance()->SetDeviceCfg();
121 }
122 DTEST_LOG << "DmsKvSyncE2ETest SetDeviceCfgTest_001 end" << std::endl;
123 }
124
125 /**
126 * @tc.name: CheckDeviceCfgTest_001
127 * @tc.desc: test insert DmsKvSyncE2E
128 * @tc.type: FUNC
129 */
130 HWTEST_F(DmsKvSyncE2ETest, CheckDeviceCfgTest_001, TestSize.Level1)
131 {
132 DTEST_LOG << "DmsKvSyncE2ETest CheckDeviceCfgTest_001 start" << std::endl;
133 ASSERT_NE(dmsKvSyncE2E_, nullptr);
134 auto dmsKvSyncE2E = GetDmsKvSyncE2E();
135 EXPECT_NE(dmsKvSyncE2E, nullptr);
136 if (dmsKvSyncE2E != nullptr) {
137 bool ret = dmsKvSyncE2E_->GetInstance()->CheckDeviceCfg();
138 }
139 DTEST_LOG << "DmsKvSyncE2ETest CheckDeviceCfgTest_001 end" << std::endl;
140 }
141
142 /**
143 * @tc.name: SetSyncRecordTest_001
144 * @tc.desc: test insert DmsKvSyncE2E
145 * @tc.type: FUNC
146 */
147 HWTEST_F(DmsKvSyncE2ETest, SetSyncRecordTest_001, TestSize.Level1)
148 {
149 DTEST_LOG << "DmsKvSyncE2ETest SetSyncRecordTest_001 start" << std::endl;
150 ASSERT_NE(dmsKvSyncE2E_, nullptr);
151 auto dmsKvSyncE2E = GetDmsKvSyncE2E();
152 EXPECT_NE(dmsKvSyncE2E, nullptr);
153 if (dmsKvSyncE2E != nullptr) {
154 const std::string networkId = "123";
155 dmsKvSyncE2E_->GetInstance()->SetSyncRecord(networkId);
156 }
157 DTEST_LOG << "DmsKvSyncE2ETest SetSyncRecordTest_001 end" << std::endl;
158 }
159
160 /**
161 * @tc.name: ClearSyncRecordTest_001
162 * @tc.desc: test insert DmsKvSyncE2E
163 * @tc.type: FUNC
164 */
165 HWTEST_F(DmsKvSyncE2ETest, ClearSyncRecordTest_001, TestSize.Level1)
166 {
167 DTEST_LOG << "DmsKvSyncE2ETest ClearSyncRecordTest_001 start" << std::endl;
168 ASSERT_NE(dmsKvSyncE2E_, nullptr);
169 auto dmsKvSyncE2E = GetDmsKvSyncE2E();
170 EXPECT_NE(dmsKvSyncE2E, nullptr);
171 if (dmsKvSyncE2E != nullptr) {
172 const std::string networkId = "123";
173 dmsKvSyncE2E_->GetInstance()->ClearSyncRecord(networkId);
174 }
175 DTEST_LOG << "DmsKvSyncE2ETest ClearSyncRecordTest_001 end" << std::endl;
176 }
177
178 /**
179 * @tc.name: IsSynchronizedTest_001
180 * @tc.desc: test insert DmsKvSyncE2E
181 * @tc.type: FUNC
182 */
183 HWTEST_F(DmsKvSyncE2ETest, IsSynchronizedTest_001, TestSize.Level1)
184 {
185 DTEST_LOG << "DmsKvSyncE2ETest IsSynchronizedTest_001 start" << std::endl;
186 ASSERT_NE(dmsKvSyncE2E_, nullptr);
187 auto dmsKvSyncE2E = GetDmsKvSyncE2E();
188 EXPECT_NE(dmsKvSyncE2E, nullptr);
189 if (dmsKvSyncE2E != nullptr) {
190 const std::string networkId = "123";
191 dmsKvSyncE2E_->GetInstance()->SetSyncRecord(networkId);
192 bool ret = dmsKvSyncE2E_->GetInstance()->IsSynchronized(networkId);
193 EXPECT_EQ(ret, true);
194 }
195 DTEST_LOG << "DmsKvSyncE2ETest IsSynchronizedTest_001 end" << std::endl;
196 }
197 } // namespace DistributedSchedule
198 } // namespace OHOS
199