• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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