1 /*
2 * Copyright (c) 2023-2023 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 #include "device/clip_para.h"
16
17 #include <chrono>
18 #include <gtest/gtest.h>
19
20 namespace OHOS::MiscServices {
21 using namespace testing::ext;
22 using namespace std::chrono;
23 using namespace OHOS::MiscServices;
24 class ClipParaTest : public testing::Test {
25 public:
26 static void SetUpTestCase(void);
27 static void TearDownTestCase(void);
28 void SetUp();
29 void TearDown();
30 };
31
SetUpTestCase(void)32 void ClipParaTest::SetUpTestCase(void)
33 {
34 }
35
TearDownTestCase(void)36 void ClipParaTest::TearDownTestCase(void)
37 {
38 }
39
SetUp(void)40 void ClipParaTest::SetUp(void)
41 {
42 }
43
TearDown(void)44 void ClipParaTest::TearDown(void)
45 {
46 ClipPara::GetInstance().InitMemberVariable();
47 }
48
49 /**
50 * @tc.name: InitMemberVariable_001
51 * @tc.desc: Init Member Variable
52 * @tc.type: FUNC
53 * @tc.require:
54 * @tc.author:
55 */
56 HWTEST_F(ClipParaTest, InitMemberVariable_001, TestSize.Level0)
57 {
58 ClipPara::GetInstance().InitMemberVariable();
59 auto sendInformation = ClipPara::GetInstance().GetSendInformation();
60 ASSERT_TRUE(sendInformation == nullptr);
61 auto remoteExpiration = ClipPara::GetInstance().GetRemoteExpiration();
62 ASSERT_TRUE(remoteExpiration == 0);
63 auto lastSyncNetworkId = ClipPara::GetInstance().GetLastSyncNetworkId();
64 ASSERT_TRUE(lastSyncNetworkId.empty());
65 auto isPullEvent = ClipPara::GetInstance().GetPullEvent();
66 ASSERT_FALSE(isPullEvent);
67 auto isPullEventResult = ClipPara::GetInstance().GetPullEventResult();
68 ASSERT_FALSE(isPullEventResult);
69 auto isPasted = ClipPara::GetInstance().GetPasted();
70 ASSERT_FALSE(isPasted);
71 }
72
73 /**
74 * @tc.name: LastLocalSyncKey_001
75 * @tc.desc: test LastLocalSyncKey
76 * @tc.type: FUNC
77 * @tc.require:
78 * @tc.author:
79 */
80 HWTEST_F(ClipParaTest, LastLocalSyncKey_001, TestSize.Level0)
81 {
82 ClipPara::GetInstance().InitMemberVariable();
83 std::string lastLocalSyncKey = "event_100";
84 ClipPara::GetInstance().SetLastLocalSyncKey(lastLocalSyncKey);
85 auto ret = ClipPara::GetInstance().GetLastLocalSyncKey();
86 ASSERT_TRUE(ret == lastLocalSyncKey);
87 }
88
89 /**
90 * @tc.name: LastRemoteSyncKey_001
91 * @tc.desc: test LastRemoteSyncKey
92 * @tc.type: FUNC
93 * @tc.require:
94 * @tc.author:
95 */
96 HWTEST_F(ClipParaTest, LastRemoteSyncKey_001, TestSize.Level0)
97 {
98 ClipPara::GetInstance().InitMemberVariable();
99 std::string lastRemoteSyncKey = "event_100";
100 ClipPara::GetInstance().SetLastRemoteSyncKey(lastRemoteSyncKey);
101 auto ret = ClipPara::GetInstance().GetLastRemoteSyncKey();
102 ASSERT_TRUE(ret == lastRemoteSyncKey);
103 }
104
105 /**
106 * @tc.name: LocalExpiration_001
107 * @tc.desc: test LocalExpiration
108 * @tc.type: FUNC
109 * @tc.require:
110 * @tc.author:
111 */
112 HWTEST_F(ClipParaTest, LocalExpiration_001, TestSize.Level0)
113 {
114 ClipPara::GetInstance().InitMemberVariable();
115 uint64_t localExpiration = 10000;
116 ClipPara::GetInstance().SetLocalExpiration(localExpiration);
117 auto ret = ClipPara::GetInstance().GetLocalExpiration();
118 ASSERT_TRUE(ret == localExpiration);
119 }
120
121 /**
122 * @tc.name: RemoteExpiration_001
123 * @tc.desc: test RemoteExpiration
124 * @tc.type: FUNC
125 * @tc.require:
126 * @tc.author:
127 */
128 HWTEST_F(ClipParaTest, RemoteExpiration_001, TestSize.Level0)
129 {
130 ClipPara::GetInstance().InitMemberVariable();
131 uint64_t remoteExpiration = 10000;
132 ClipPara::GetInstance().SetRemoteExpiration(remoteExpiration);
133 auto ret = ClipPara::GetInstance().GetRemoteExpiration();
134 ASSERT_TRUE(ret == remoteExpiration);
135 }
136
137 /**
138 * @tc.name: SendInformation_001
139 * @tc.desc: Init Member Variable
140 * @tc.type: FUNC
141 * @tc.require:
142 * @tc.author:
143 */
144 HWTEST_F(ClipParaTest, SendInformation_001, TestSize.Level0)
145 {
146 ClipPara::GetInstance().InitMemberVariable();
147 ClipPara::SendInformation sendInformation;
148 ClipPara::GetInstance().SetSendInformation(sendInformation);
149 auto ret = ClipPara::GetInstance().GetSendInformation();
150 ASSERT_TRUE(ret != nullptr);
151 }
152
153 /**
154 * @tc.name: PullEventResult_001
155 * @tc.desc: test PullEventResult
156 * @tc.type: FUNC
157 * @tc.require:
158 * @tc.author:
159 */
160 HWTEST_F(ClipParaTest, PullEventResult_001, TestSize.Level0)
161 {
162 ClipPara::GetInstance().InitMemberVariable();
163 ClipPara::GetInstance().SetPullEventResult(true);
164 auto ret = ClipPara::GetInstance().GetPullEventResult();
165 ASSERT_TRUE(ret);
166 }
167
168 /**
169 * @tc.name: HasRemoteData
170 * @tc.desc: Check Has Remote Data.
171 * @tc.type: FUNC
172 * @tc.require:
173 * @tc.author:
174 */
175 HWTEST_F(ClipParaTest, HasRemoteData_001, TestSize.Level0)
176 {
177 ClipPara::GetInstance().InitMemberVariable();
178 auto has = ClipPara::GetInstance().HasRemoteData();
179 ASSERT_FALSE(has);
180 }
181
182 /**
183 * @tc.name: UpdateStageValue_001
184 * @tc.desc: Update Stage Value.
185 * @tc.type: FUNC
186 * @tc.require:
187 * @tc.author:
188 */
189 HWTEST_F(ClipParaTest, UpdateStageValue_001, TestSize.Level0)
190 {
191 uint64_t curTime = duration_cast<milliseconds>((system_clock::now() + minutes(2)).time_since_epoch()).count();
192 ClipPara::GetInstance().InitMemberVariable();
193 ClipPara::GetInstance().SetFirstStageValue(2);
194 ClipPara::GetInstance().SetSecondStageValue(0);
195 ClipPara::GetInstance().UpdateStageValue(curTime, false);
196 auto firstStageValue1 = ClipPara::GetInstance().GetFirstStageValue();
197 ASSERT_TRUE(firstStageValue1 == 2);
198 auto secondStageValue1 = ClipPara::GetInstance().GetSecondStageValue();
199 ASSERT_TRUE(secondStageValue1 == 0);
200 ClipPara::GetInstance().UpdateStageValue(curTime, true);
201 auto firstStageValue = ClipPara::GetInstance().GetFirstStageValue();
202 ASSERT_TRUE(firstStageValue == 2);
203 auto secondStageValue = ClipPara::GetInstance().GetSecondStageValue();
204 ASSERT_TRUE(secondStageValue == 0);
205 auto ret = ClipPara::GetInstance().GetPasted();
206 ASSERT_TRUE(ret);
207 }
208
209 /**
210 * @tc.name: UpdateStageValue_002
211 * @tc.desc: Update Stage Value.
212 * @tc.type: FUNC
213 * @tc.require:
214 * @tc.author:
215 */
216 HWTEST_F(ClipParaTest, UpdateStageValue_002, TestSize.Level0)
217 {
218 uint64_t curTime = duration_cast<milliseconds>((system_clock::now() + minutes(2)).time_since_epoch()).count();
219 ClipPara::GetInstance().InitMemberVariable();
220 ClipPara::GetInstance().SetPasted(true);
221 ClipPara::GetInstance().SetFirstStageValue(0);
222 ClipPara::GetInstance().SetSecondStageValue(2);
223 ClipPara::GetInstance().UpdateStageValue(curTime, true);
224 auto firstStageValue = ClipPara::GetInstance().GetFirstStageValue();
225 ASSERT_TRUE(firstStageValue == 0);
226 auto secondStageValue = ClipPara::GetInstance().GetSecondStageValue();
227 ASSERT_TRUE(secondStageValue == 2);
228 }
229
230 /**
231 * @tc.name: UpdateStageValue_003
232 * @tc.desc: Update Stage Value.
233 * @tc.type: FUNC
234 * @tc.require:
235 * @tc.author:
236 */
237 HWTEST_F(ClipParaTest, UpdateStageValue_003, TestSize.Level0)
238 {
239 uint64_t curTime = duration_cast<milliseconds>((system_clock::now() + minutes(2)).time_since_epoch()).count();
240 ClipPara::GetInstance().InitMemberVariable();
241 ClipPara::GetInstance().SetFirstStageValue(0);
242 ClipPara::GetInstance().SetSecondStageValue(2);
243 ClipPara::GetInstance().UpdateStageValue(curTime, true);
244 auto firstStageValue = ClipPara::GetInstance().GetFirstStageValue();
245 ASSERT_TRUE(firstStageValue == 2);
246 auto secondStageValue = ClipPara::GetInstance().GetSecondStageValue();
247 ASSERT_TRUE(secondStageValue == 0);
248 }
249
250 /**
251 * @tc.name: UpdateStageValue_004
252 * @tc.desc: Update Stage Value.
253 * @tc.type: FUNC
254 * @tc.require:
255 * @tc.author:
256 */
257 HWTEST_F(ClipParaTest, UpdateStageValue_004, TestSize.Level0)
258 {
259 uint64_t curTime = duration_cast<milliseconds>((system_clock::now()).time_since_epoch()).count();
260 ClipPara::GetInstance().InitMemberVariable();
261 ClipPara::GetInstance().SetPullEvent(true);
262 ClipPara::GetInstance().SetPasted(false);
263 ClipPara::GetInstance().SetFirstStageValue(1);
264 ClipPara::GetInstance().SetSecondStageValue(0);
265 ClipPara::GetInstance().UpdateStageValue(curTime, true);
266 auto firstStageValue = ClipPara::GetInstance().GetFirstStageValue();
267 ASSERT_TRUE(firstStageValue == 0);
268 auto secondStageValue = ClipPara::GetInstance().GetSecondStageValue();
269 ASSERT_TRUE(secondStageValue == 0);
270 }
271 }