1 /*
2  * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 "scene_unit_test.h"
17 #include <iostream>
18 #include <limits>
19 #include "common/sharing_log.h"
20 #include "event/event_manager.h"
21 #include "if_system_ability_manager.h"
22 #include "interaction/interaction_manager.h"
23 #include "interaction/ipc_codec/ipc_codec.h"
24 #include "interaction/ipc_codec/ipc_msg_decoder.h"
25 #include "interaction/ipc_codec/ipc_msg_encoder.h"
26 #include "interaction/scene/scene_format.h"
27 #include "iservice_registry.h"
28 #include "system_ability_definition.h"
29 
30 using namespace testing::ext;
31 using namespace OHOS::Sharing;
32 using namespace OHOS::Sharing::IPC_CODEC;
33 
34 namespace OHOS {
35 namespace Sharing {
36 
37 constexpr uint32_t TEST_SERVICE_SA_ID = 3301;
38 
SetUpTestCase()39 void SceneUnitTest::SetUpTestCase() {}
TearDownTestCase()40 void SceneUnitTest::TearDownTestCase() {}
SetUp()41 void SceneUnitTest::SetUp() {}
TearDown()42 void SceneUnitTest::TearDown() {}
43 struct TestMessageParcel {
44     int32_t value = 0;
IpcSerializeOHOS::Sharing::TestMessageParcel45     int32_t IpcSerialize(MessageParcel &pIpcMsg)
46     {
47         return pIpcMsg.WriteInt32(value) ? 0 : 1;
48     }
IpcDeserializeOHOS::Sharing::TestMessageParcel49     int32_t IpcDeserialize(MessageParcel &pIpcMsg)
50     {
51         return pIpcMsg.ReadInt32(value) ? 0 : 1;
52     }
53 };
54 
55 namespace {
HWTEST_F(SceneUnitTest, InteractionManager_Test_001, Function | SmallTest | Level2)56 HWTEST_F(SceneUnitTest, InteractionManager_Test_001, Function | SmallTest | Level2)
57 {
58     SHARING_LOGD("trace");
59     InteractionManager &manager = InteractionManager::GetInstance();
60     manager.Init();
61 }
62 
HWTEST_F(SceneUnitTest, InteractionManager_Test_002, Function | SmallTest | Level2)63 HWTEST_F(SceneUnitTest, InteractionManager_Test_002, Function | SmallTest | Level2)
64 {
65     SHARING_LOGD("trace");
66     InteractionManager &manager = InteractionManager::GetInstance();
67     const std::string &key = "1";
68     uint32_t interactionId = 2;
69     manager.AddInteractionKey(key, interactionId);
70     manager.RemoveInteraction(interactionId);
71 }
72 
HWTEST_F(SceneUnitTest, InteractionManager_Test_003, Function | SmallTest | Level2)73 HWTEST_F(SceneUnitTest, InteractionManager_Test_003, Function | SmallTest | Level2)
74 {
75     SHARING_LOGD("trace");
76     InteractionManager &manager = InteractionManager::GetInstance();
77     const std::string &key = "1";
78     uint32_t interactionId = 2;
79     manager.AddInteractionKey(key, interactionId);
80     manager.DestroyInteraction(interactionId);
81 }
82 
HWTEST_F(SceneUnitTest, InteractionManager_Test_004, Function | SmallTest | Level2)83 HWTEST_F(SceneUnitTest, InteractionManager_Test_004, Function | SmallTest | Level2)
84 {
85     SHARING_LOGD("trace");
86     InteractionManager &manager = InteractionManager::GetInstance();
87     Interaction::Ptr ptr = manager.CreateInteraction("WfdSinkScene");
88     EXPECT_NE(ptr, nullptr);
89 }
90 
HWTEST_F(SceneUnitTest, InteractionManager_Test_005, Function | SmallTest | Level2)91 HWTEST_F(SceneUnitTest, InteractionManager_Test_005, Function | SmallTest | Level2)
92 {
93     SHARING_LOGD("trace");
94     InteractionManager &manager = InteractionManager::GetInstance();
95     Interaction::Ptr ptr = manager.CreateInteraction("WfdSinkScene1");
96     EXPECT_EQ(ptr, nullptr);
97 }
98 
HWTEST_F(SceneUnitTest, InteractionManager_Test_006, Function | SmallTest | Level2)99 HWTEST_F(SceneUnitTest, InteractionManager_Test_006, Function | SmallTest | Level2)
100 {
101     SHARING_LOGD("trace");
102     InteractionManager &manager = InteractionManager::GetInstance();
103     Interaction::Ptr ptr = manager.CreateInteraction("WfdSourceScene");
104     EXPECT_NE(ptr, nullptr);
105     SharingEvent event;
106     event.description = "test";
107     event.emitterType = CLASS_TYPE_PRODUCER;
108     event.eventMsg = std::make_shared<EventMsg>();
109     event.listenerType = CLASS_TYPE_SCHEDULER;
110     event.eventMsg->type = EVENT_CONFIGURE_INTERACT;
111     int32_t ret = ptr->HandleEvent(event);
112     EXPECT_EQ(ret, 0);
113 }
114 
HWTEST_F(SceneUnitTest, InteractionManager_Test_007, Function | SmallTest | Level2)115 HWTEST_F(SceneUnitTest, InteractionManager_Test_007, Function | SmallTest | Level2)
116 {
117     SHARING_LOGD("trace");
118     InteractionManager &manager = InteractionManager::GetInstance();
119     Interaction::Ptr ptr = manager.CreateInteraction("WfdSourceScene");
120     EXPECT_NE(ptr, nullptr);
121     SharingEvent event;
122     event.description = "test";
123     event.emitterType = CLASS_TYPE_PRODUCER;
124     event.eventMsg = std::make_shared<EventMsg>();
125     event.listenerType = CLASS_TYPE_SCHEDULER;
126     event.eventMsg->type = EVENT_INTERACTIONMGR_DESTROY_INTERACTION;
127     int32_t ret = ptr->HandleEvent(event);
128     EXPECT_EQ(ret, 0);
129 }
130 
HWTEST_F(SceneUnitTest, InteractionManager_Test_008, Function | SmallTest | Level2)131 HWTEST_F(SceneUnitTest, InteractionManager_Test_008, Function | SmallTest | Level2)
132 {
133     SHARING_LOGD("trace");
134     InteractionManager &manager = InteractionManager::GetInstance();
135     Interaction::Ptr ptr = manager.CreateInteraction("WfdSourceScene");
136     EXPECT_NE(ptr, nullptr);
137     SharingEvent event;
138     event.description = "test";
139     event.emitterType = CLASS_TYPE_PRODUCER;
140     event.eventMsg = std::make_shared<EventMsg>();
141     event.listenerType = CLASS_TYPE_SCHEDULER;
142     event.eventMsg->type = EVENT_INTERACTIONMGR_REMOVE_INTERACTION;
143     int32_t ret = ptr->HandleEvent(event);
144     EXPECT_EQ(ret, 0);
145 }
146 
HWTEST_F(SceneUnitTest, InteractionManager_Test_009, Function | SmallTest | Level2)147 HWTEST_F(SceneUnitTest, InteractionManager_Test_009, Function | SmallTest | Level2)
148 {
149     SHARING_LOGD("trace");
150     InteractionManager &manager = InteractionManager::GetInstance();
151     Interaction::Ptr ptr = manager.CreateInteraction("WfdSourceScene");
152     EXPECT_NE(ptr, nullptr);
153     SharingEvent event;
154     event.description = "test";
155     event.emitterType = CLASS_TYPE_PRODUCER;
156     event.eventMsg = std::make_shared<EventMsg>();
157     event.listenerType = CLASS_TYPE_SCHEDULER;
158     event.eventMsg->type = EVENT_INTERACTION_DECODER_DIED;
159     int32_t ret = ptr->HandleEvent(event);
160     EXPECT_EQ(ret, 0);
161 }
162 
HWTEST_F(SceneUnitTest, InteractionManager_Test_010, Function | SmallTest | Level2)163 HWTEST_F(SceneUnitTest, InteractionManager_Test_010, Function | SmallTest | Level2)
164 {
165     SHARING_LOGD("trace");
166     InteractionManager &manager = InteractionManager::GetInstance();
167     const std::string &key = "1";
168     uint32_t interactionId = 2;
169     manager.AddInteractionKey(key, interactionId);
170     manager.DelInteractionKey(key);
171 }
172 
HWTEST_F(SceneUnitTest, InteractionManager_Test_011, Function | SmallTest | Level2)173 HWTEST_F(SceneUnitTest, InteractionManager_Test_011, Function | SmallTest | Level2)
174 {
175     SHARING_LOGD("trace");
176     InteractionManager &manager = InteractionManager::GetInstance();
177     const std::string &key = "1";
178     uint32_t interactionId = 2;
179     manager.AddInteractionKey(key, interactionId);
180     auto ret = manager.GetInteractionId(key);
181     EXPECT_EQ(ret, interactionId);
182 }
183 
HWTEST_F(SceneUnitTest, InteractionManager_Test_012, Function | SmallTest | Level2)184 HWTEST_F(SceneUnitTest, InteractionManager_Test_012, Function | SmallTest | Level2)
185 {
186     SHARING_LOGD("trace");
187     InteractionManager &manager = InteractionManager::GetInstance();
188     auto domainMsg = std::make_shared<BaseDomainMsg>();
189     EXPECT_NE(domainMsg, nullptr);
190     auto ret = manager.SendDomainMsg(domainMsg);
191     EXPECT_EQ(ret, 0);
192 }
193 
HWTEST_F(SceneUnitTest, InteractionManager_Test_013, Function | SmallTest | Level2)194 HWTEST_F(SceneUnitTest, InteractionManager_Test_013, Function | SmallTest | Level2)
195 {
196     SHARING_LOGD("trace");
197     InteractionManager &manager = InteractionManager::GetInstance();
198     auto domainMsg = std::make_shared<BaseDomainMsg>();
199     EXPECT_NE(domainMsg, nullptr);
200     auto ret = manager.OnDomainMsg(domainMsg);
201     EXPECT_NE(ret, 0);
202 }
203 
HWTEST_F(SceneUnitTest, InteractionManager_Test_014, Function | SmallTest | Level2)204 HWTEST_F(SceneUnitTest, InteractionManager_Test_014, Function | SmallTest | Level2)
205 {
206     SHARING_LOGD("trace");
207     InteractionManager &manager = InteractionManager::GetInstance();
208     const std::string &key = "1";
209     uint32_t interactionId = 2;
210     manager.AddInteractionKey(key, interactionId);
211     auto ret = manager.GetInteraction(key);
212     EXPECT_EQ(ret, nullptr);
213 }
214 
HWTEST_F(SceneUnitTest, InteractionManager_Test_015, Function | SmallTest | Level2)215 HWTEST_F(SceneUnitTest, InteractionManager_Test_015, Function | SmallTest | Level2)
216 {
217     SHARING_LOGD("trace");
218     InteractionManager &manager = InteractionManager::GetInstance();
219     Interaction::Ptr ptr = manager.CreateInteraction("WfdSourceScene");
220     EXPECT_NE(ptr, nullptr);
221     const std::string &key = "1";
222     manager.AddInteractionKey(key, ptr->GetId());
223     auto ret = manager.GetInteraction(key);
224     EXPECT_NE(ret, nullptr);
225 }
226 
HWTEST_F(SceneUnitTest, InteractionManager_Test_016, Function | SmallTest | Level2)227 HWTEST_F(SceneUnitTest, InteractionManager_Test_016, Function | SmallTest | Level2)
228 {
229     SHARING_LOGD("trace");
230     InteractionManager &manager = InteractionManager::GetInstance();
231     Interaction::Ptr ptr = manager.CreateInteraction("WfdSourceScene");
232     EXPECT_NE(ptr, nullptr);
233     auto ret = manager.GetInteraction(ptr->GetId());
234     EXPECT_NE(ret, nullptr);
235 }
236 
HWTEST_F(SceneUnitTest, Interaction_Test_017, Function | SmallTest | Level2)237 HWTEST_F(SceneUnitTest, Interaction_Test_017, Function | SmallTest | Level2)
238 {
239     SHARING_LOGD("trace");
240     auto interaction = std::make_shared<Interaction>();
241     EXPECT_NE(interaction, nullptr);
242 }
243 
HWTEST_F(SceneUnitTest, Interaction_Test_018, Function | SmallTest | Level2)244 HWTEST_F(SceneUnitTest, Interaction_Test_018, Function | SmallTest | Level2)
245 {
246     SHARING_LOGD("trace");
247     auto interaction = std::make_shared<Interaction>();
248     EXPECT_NE(interaction, nullptr);
249 }
250 
HWTEST_F(SceneUnitTest, Interaction_Test_019, Function | SmallTest | Level2)251 HWTEST_F(SceneUnitTest, Interaction_Test_019, Function | SmallTest | Level2)
252 {
253     SHARING_LOGD("trace");
254     auto interaction = std::make_shared<Interaction>();
255     EXPECT_NE(interaction, nullptr);
256     auto ret = interaction->GetIpcAdapter();
257     EXPECT_EQ(ret, nullptr);
258 }
259 
HWTEST_F(SceneUnitTest, Interaction_Test_020, Function | SmallTest | Level2)260 HWTEST_F(SceneUnitTest, Interaction_Test_020, Function | SmallTest | Level2)
261 {
262     SHARING_LOGD("trace");
263     auto interaction = std::make_shared<Interaction>();
264     EXPECT_NE(interaction, nullptr);
265     auto adapter = std::make_shared<IpcMsgAdapter>();
266     EXPECT_NE(adapter, nullptr);
267     interaction->SetIpcAdapter(adapter);
268 }
269 
HWTEST_F(SceneUnitTest, Interaction_Test_021, Function | SmallTest | Level2)270 HWTEST_F(SceneUnitTest, Interaction_Test_021, Function | SmallTest | Level2)
271 {
272     SHARING_LOGD("trace");
273     auto interaction = std::make_shared<Interaction>();
274     EXPECT_NE(interaction, nullptr);
275     auto ret = interaction->GetScene();
276     EXPECT_EQ(ret, nullptr);
277 }
278 
HWTEST_F(SceneUnitTest, Interaction_Test_022, Function | SmallTest | Level2)279 HWTEST_F(SceneUnitTest, Interaction_Test_022, Function | SmallTest | Level2)
280 {
281     SHARING_LOGD("trace");
282     auto interaction = std::make_shared<Interaction>();
283     EXPECT_NE(interaction, nullptr);
284     auto ret = interaction->GetRequestId();
285     EXPECT_EQ(ret, 1);
286 }
287 
HWTEST_F(SceneUnitTest, Interaction_Test_023, Function | SmallTest | Level2)288 HWTEST_F(SceneUnitTest, Interaction_Test_023, Function | SmallTest | Level2)
289 {
290     SHARING_LOGD("trace");
291     auto interaction = std::make_shared<Interaction>();
292     EXPECT_NE(interaction, nullptr);
293     const std::string &key = "1";
294     interaction->SetRpcKey(key);
295     auto ret = interaction->GetRpcKey();
296     EXPECT_EQ(ret, key);
297 }
298 
HWTEST_F(SceneUnitTest, Interaction_Test_024, Function | SmallTest | Level2)299 HWTEST_F(SceneUnitTest, Interaction_Test_024, Function | SmallTest | Level2)
300 {
301     SHARING_LOGD("trace");
302     auto interaction = std::make_shared<Interaction>();
303     EXPECT_NE(interaction, nullptr);
304     interaction->Destroy();
305 }
306 
HWTEST_F(SceneUnitTest, Interaction_Test_025, Function | SmallTest | Level2)307 HWTEST_F(SceneUnitTest, Interaction_Test_025, Function | SmallTest | Level2)
308 {
309     SHARING_LOGD("trace");
310     auto interaction = std::make_shared<Interaction>();
311     EXPECT_NE(interaction, nullptr);
312     const std::string &className = "WfdSourceScene";
313     auto ret = interaction->CreateScene(className);
314     EXPECT_EQ(ret, true);
315 }
316 
HWTEST_F(SceneUnitTest, Interaction_Test_026, Function | SmallTest | Level2)317 HWTEST_F(SceneUnitTest, Interaction_Test_026, Function | SmallTest | Level2)
318 {
319     SHARING_LOGD("trace");
320     auto interaction = std::make_shared<Interaction>();
321     EXPECT_NE(interaction, nullptr);
322     const std::string &className = "WfdSourceScene1";
323     auto ret = interaction->CreateScene(className);
324     EXPECT_EQ(ret, false);
325 }
326 
HWTEST_F(SceneUnitTest, Interaction_Test_027, Function | SmallTest | Level2)327 HWTEST_F(SceneUnitTest, Interaction_Test_027, Function | SmallTest | Level2)
328 {
329     SHARING_LOGD("trace");
330     auto interaction = std::make_shared<Interaction>();
331     EXPECT_NE(interaction, nullptr);
332     SharingEvent event;
333     event.eventMsg = std::make_shared<InteractionEventMsg>();
334     ASSERT_TRUE(event.eventMsg != nullptr);
335     event.eventMsg->type = EVENT_INTERACTION_MSG_ERROR;
336     event.eventMsg->dstId = 0;
337     auto ret = interaction->HandleEvent(event);
338     ASSERT_TRUE(ret == 0);
339 }
340 
HWTEST_F(SceneUnitTest, Interaction_Test_028, Function | SmallTest | Level2)341 HWTEST_F(SceneUnitTest, Interaction_Test_028, Function | SmallTest | Level2)
342 {
343     SHARING_LOGD("trace");
344     auto interaction = std::make_shared<Interaction>();
345     EXPECT_NE(interaction, nullptr);
346     const std::string &className = "WfdSourceScene";
347     auto ret0 = interaction->CreateScene(className);
348     EXPECT_EQ(ret0, true);
349     SharingEvent event;
350     event.eventMsg = std::make_shared<InteractionEventMsg>();
351     ASSERT_TRUE(event.eventMsg != nullptr);
352     event.eventMsg->type = EVENT_INTERACTION_MSG_ERROR;
353     event.eventMsg->dstId = 0;
354     event.eventMsg->errorCode = ERR_NETWORK_ERROR;
355     auto ret = interaction->HandleEvent(event);
356     ASSERT_TRUE(ret == 0);
357 }
358 
HWTEST_F(SceneUnitTest, Interaction_Test_029, Function | SmallTest | Level2)359 HWTEST_F(SceneUnitTest, Interaction_Test_029, Function | SmallTest | Level2)
360 {
361     SHARING_LOGD("trace");
362     auto interaction = std::make_shared<Interaction>();
363     EXPECT_NE(interaction, nullptr);
364     const std::string &className = "WfdSourceScene";
365     auto ret0 = interaction->CreateScene(className);
366     EXPECT_EQ(ret0, true);
367     SharingEvent event;
368     event.eventMsg = std::make_shared<InteractionEventMsg>();
369     ASSERT_TRUE(event.eventMsg != nullptr);
370     event.eventMsg->type = EVENT_INTERACTION_STATE_AGENT_DESTROYED;
371     event.eventMsg->dstId = 0;
372     event.eventMsg->errorCode = ERR_NETWORK_ERROR;
373     auto ret = interaction->HandleEvent(event);
374     ASSERT_TRUE(ret == 0);
375 }
376 
HWTEST_F(SceneUnitTest, Interaction_Test_030, Function | SmallTest | Level2)377 HWTEST_F(SceneUnitTest, Interaction_Test_030, Function | SmallTest | Level2)
378 {
379     SHARING_LOGD("trace");
380     auto interaction = std::make_shared<Interaction>();
381     EXPECT_NE(interaction, nullptr);
382     const std::string &className = "WfdSourceScene";
383     auto ret0 = interaction->CreateScene(className);
384     EXPECT_EQ(ret0, true);
385     SharingEvent event;
386     event.eventMsg = std::make_shared<InteractionEventMsg>();
387     ASSERT_TRUE(event.eventMsg != nullptr);
388     event.eventMsg->type = EVENT_INTERACTION_STATE_CONTEXT_DESTROYED;
389     event.eventMsg->dstId = 0;
390     event.eventMsg->errorCode = ERR_NETWORK_ERROR;
391     auto ret = interaction->HandleEvent(event);
392     ASSERT_TRUE(ret == 0);
393 }
394 
HWTEST_F(SceneUnitTest, Interaction_Test_031, Function | SmallTest | Level2)395 HWTEST_F(SceneUnitTest, Interaction_Test_031, Function | SmallTest | Level2)
396 {
397     SHARING_LOGD("trace");
398     auto interaction = std::make_shared<Interaction>();
399     EXPECT_NE(interaction, nullptr);
400     const std::string &className = "WfdSourceScene";
401     auto ret0 = interaction->CreateScene(className);
402     EXPECT_EQ(ret0, true);
403     SharingEvent event;
404     event.eventMsg = std::make_shared<InteractionEventMsg>();
405     ASSERT_TRUE(event.eventMsg != nullptr);
406     event.eventMsg->type = EVENT_INTERACTION_ACCELERATION_DONE;
407     event.eventMsg->dstId = 0;
408     event.eventMsg->errorCode = ERR_NETWORK_ERROR;
409     auto ret = interaction->HandleEvent(event);
410     ASSERT_TRUE(ret == 0);
411 }
412 
HWTEST_F(SceneUnitTest, Interaction_Test_032, Function | SmallTest | Level2)413 HWTEST_F(SceneUnitTest, Interaction_Test_032, Function | SmallTest | Level2)
414 {
415     SHARING_LOGD("trace");
416     auto interaction = std::make_shared<Interaction>();
417     EXPECT_NE(interaction, nullptr);
418     const std::string &className = "WfdSourceScene";
419     auto ret0 = interaction->CreateScene(className);
420     EXPECT_EQ(ret0, true);
421     auto domainMsg = std::make_shared<BaseDomainMsg>();
422     EXPECT_NE(domainMsg, nullptr);
423     interaction->OnDomainMsg(domainMsg);
424 }
425 
HWTEST_F(SceneUnitTest, Interaction_Test_033, Function | SmallTest | Level2)426 HWTEST_F(SceneUnitTest, Interaction_Test_033, Function | SmallTest | Level2)
427 {
428     SHARING_LOGD("trace");
429     auto interaction = std::make_shared<Interaction>();
430     EXPECT_NE(interaction, nullptr);
431     const std::string &className = "WfdSourceScene";
432     auto ret0 = interaction->CreateScene(className);
433     EXPECT_EQ(ret0, true);
434     auto domainMsg = std::make_shared<BaseDomainMsg>();
435     EXPECT_NE(domainMsg, nullptr);
436     interaction->ForwardDomainMsg(domainMsg);
437 }
438 
HWTEST_F(SceneUnitTest, Interaction_Test_034, Function | SmallTest | Level2)439 HWTEST_F(SceneUnitTest, Interaction_Test_034, Function | SmallTest | Level2)
440 {
441     SHARING_LOGD("trace");
442     auto interaction = std::make_shared<Interaction>();
443     EXPECT_NE(interaction, nullptr);
444     interaction->ReleaseScene(1);
445 }
446 
HWTEST_F(SceneUnitTest, Interaction_Test_035, Function | SmallTest | Level2)447 HWTEST_F(SceneUnitTest, Interaction_Test_035, Function | SmallTest | Level2)
448 {
449     SHARING_LOGD("trace");
450     auto interaction = std::make_shared<Interaction>();
451     EXPECT_NE(interaction, nullptr);
452     interaction->OnSceneNotifyDestroyed(1);
453 }
454 
HWTEST_F(SceneUnitTest, Interaction_Test_036, Function | SmallTest | Level2)455 HWTEST_F(SceneUnitTest, Interaction_Test_036, Function | SmallTest | Level2)
456 {
457     SHARING_LOGD("trace");
458     auto interaction = std::make_shared<Interaction>();
459     EXPECT_NE(interaction, nullptr);
460     interaction->OnSceneNotifyDestroyed(1);
461 }
462 
HWTEST_F(SceneUnitTest, Interaction_Test_037, Function | SmallTest | Level2)463 HWTEST_F(SceneUnitTest, Interaction_Test_037, Function | SmallTest | Level2)
464 {
465     SHARING_LOGD("trace");
466     auto interaction = std::make_shared<Interaction>();
467     EXPECT_NE(interaction, nullptr);
468     SharingEvent event;
469     event.eventMsg = std::make_shared<InteractionEventMsg>();
470     ASSERT_TRUE(event.eventMsg != nullptr);
471     event.eventMsg->type = EVENT_INTERACTION_ACCELERATION_DONE;
472     event.eventMsg->dstId = 0;
473     event.eventMsg->errorCode = ERR_NETWORK_ERROR;
474     auto ret = interaction->ForwardEvent(1, 1, event, true);
475     EXPECT_NE(ret, 0);
476 }
477 
HWTEST_F(SceneUnitTest, Interaction_Test_038, Function | SmallTest | Level2)478 HWTEST_F(SceneUnitTest, Interaction_Test_038, Function | SmallTest | Level2)
479 {
480     SHARING_LOGD("trace");
481     auto interaction = std::make_shared<Interaction>();
482     EXPECT_NE(interaction, nullptr);
483     SharingEvent event;
484     event.eventMsg = std::make_shared<InteractionEventMsg>();
485     ASSERT_TRUE(event.eventMsg != nullptr);
486     event.eventMsg->type = EVENT_INTERACTION_ACCELERATION_DONE;
487     event.eventMsg->dstId = 0;
488     event.eventMsg->errorCode = ERR_NETWORK_ERROR;
489     auto ret = interaction->ForwardEvent(1, 1, event, false);
490     EXPECT_EQ(ret, 0);
491 }
492 
HWTEST_F(SceneUnitTest, Interaction_Test_039, Function | SmallTest | Level2)493 HWTEST_F(SceneUnitTest, Interaction_Test_039, Function | SmallTest | Level2)
494 {
495     SHARING_LOGD("trace");
496     auto interaction = std::make_shared<Interaction>();
497     EXPECT_NE(interaction, nullptr);
498     uint32_t contextId = 0;
499     auto ret = interaction->CreateContext(contextId);
500     EXPECT_EQ(ret, 0);
501 }
502 
HWTEST_F(SceneUnitTest, Interaction_Test_040, Function | SmallTest | Level2)503 HWTEST_F(SceneUnitTest, Interaction_Test_040, Function | SmallTest | Level2)
504 {
505     SHARING_LOGD("trace");
506     auto interaction = std::make_shared<Interaction>();
507     EXPECT_NE(interaction, nullptr);
508     uint32_t contextId = 0;
509     auto ret = interaction->DestroyContext(contextId);
510     EXPECT_EQ(ret, 0);
511 }
512 
HWTEST_F(SceneUnitTest, Interaction_Test_041, Function | SmallTest | Level2)513 HWTEST_F(SceneUnitTest, Interaction_Test_041, Function | SmallTest | Level2)
514 {
515     SHARING_LOGD("trace");
516     auto interaction = std::make_shared<Interaction>();
517     EXPECT_NE(interaction, nullptr);
518     uint32_t contextId = 0;
519     uint32_t agentId = 0;
520     auto ret = interaction->DestroyAgent(contextId, agentId);
521     EXPECT_EQ(ret, 0);
522 }
523 
HWTEST_F(SceneUnitTest, Interaction_Test_042, Function | SmallTest | Level2)524 HWTEST_F(SceneUnitTest, Interaction_Test_042, Function | SmallTest | Level2)
525 {
526     SHARING_LOGD("trace");
527     auto interaction = std::make_shared<Interaction>();
528     EXPECT_NE(interaction, nullptr);
529     uint32_t contextId = 0;
530     uint32_t agentId = 0;
531     auto ret = interaction->CreateAgent(contextId, agentId, SRC_AGENT, "WfdSourceSession");
532     EXPECT_NE(ret, 0);
533 }
534 
HWTEST_F(SceneUnitTest, Interaction_Test_043, Function | SmallTest | Level2)535 HWTEST_F(SceneUnitTest, Interaction_Test_043, Function | SmallTest | Level2)
536 {
537     SHARING_LOGD("trace");
538     auto interaction = std::make_shared<Interaction>();
539     EXPECT_NE(interaction, nullptr);
540     uint32_t contextId = 0;
541     uint32_t agentId = 0;
542     auto ret = interaction->Stop(contextId, agentId);
543     EXPECT_EQ(ret, 0);
544 }
545 
HWTEST_F(SceneUnitTest, Interaction_Test_044, Function | SmallTest | Level2)546 HWTEST_F(SceneUnitTest, Interaction_Test_044, Function | SmallTest | Level2)
547 {
548     SHARING_LOGD("trace");
549     auto interaction = std::make_shared<Interaction>();
550     EXPECT_NE(interaction, nullptr);
551     uint32_t contextId = 0;
552     uint32_t agentId = 0;
553     auto ret = interaction->Start(contextId, agentId);
554     EXPECT_EQ(ret, 0);
555 }
556 
HWTEST_F(SceneUnitTest, Interaction_Test_045, Function | SmallTest | Level2)557 HWTEST_F(SceneUnitTest, Interaction_Test_045, Function | SmallTest | Level2)
558 {
559     SHARING_LOGD("trace");
560     auto interaction = std::make_shared<Interaction>();
561     EXPECT_NE(interaction, nullptr);
562     uint32_t contextId = 0;
563     uint32_t agentId = 0;
564     auto ret = interaction->Pause(contextId, agentId, MEDIA_TYPE_AV);
565     EXPECT_EQ(ret, 0);
566 }
567 
HWTEST_F(SceneUnitTest, Interaction_Test_046, Function | SmallTest | Level2)568 HWTEST_F(SceneUnitTest, Interaction_Test_046, Function | SmallTest | Level2)
569 {
570     SHARING_LOGD("trace");
571     auto interaction = std::make_shared<Interaction>();
572     EXPECT_NE(interaction, nullptr);
573     uint32_t contextId = 0;
574     uint32_t agentId = 0;
575     auto ret = interaction->Resume(contextId, agentId, MEDIA_TYPE_AV);
576     EXPECT_EQ(ret, 0);
577 }
578 
HWTEST_F(SceneUnitTest, Interaction_Test_047, Function | SmallTest | Level2)579 HWTEST_F(SceneUnitTest, Interaction_Test_047, Function | SmallTest | Level2)
580 {
581     SHARING_LOGD("trace");
582     auto interaction = std::make_shared<Interaction>();
583     EXPECT_NE(interaction, nullptr);
584     uint32_t contextId = 0;
585     uint32_t agentId = 0;
586     auto ret = interaction->Play(contextId, agentId);
587     EXPECT_EQ(ret, 0);
588 }
589 
HWTEST_F(SceneUnitTest, Interaction_Test_048, Function | SmallTest | Level2)590 HWTEST_F(SceneUnitTest, Interaction_Test_048, Function | SmallTest | Level2)
591 {
592     SHARING_LOGD("trace");
593     auto interaction = std::make_shared<Interaction>();
594     EXPECT_NE(interaction, nullptr);
595     uint32_t contextId = 0;
596     uint32_t agentId = 0;
597     auto ret = interaction->Close(contextId, agentId);
598     EXPECT_EQ(ret, 0);
599 }
600 
HWTEST_F(SceneUnitTest, Interaction_Test_049, Function | SmallTest | Level2)601 HWTEST_F(SceneUnitTest, Interaction_Test_049, Function | SmallTest | Level2)
602 {
603     SHARING_LOGD("trace");
604     auto interaction = std::make_shared<Interaction>();
605     EXPECT_NE(interaction, nullptr);
606     uint32_t contextId = 0;
607     uint32_t agentId = 0;
608     float volume = 0;
609     auto ret = interaction->SetVolume(contextId, agentId, volume);
610     EXPECT_EQ(ret, 0);
611 }
612 
HWTEST_F(SceneUnitTest, Interaction_Test_050, Function | SmallTest | Level2)613 HWTEST_F(SceneUnitTest, Interaction_Test_050, Function | SmallTest | Level2)
614 {
615     SHARING_LOGD("trace");
616     auto interaction = std::make_shared<Interaction>();
617     EXPECT_NE(interaction, nullptr);
618     uint32_t contextId = 0;
619     uint32_t agentId = 0;
620     uint64_t surfaceId = 0;
621     bool keyFrame = false;
622     auto ret = interaction->SetKeyPlay(contextId, agentId, surfaceId, keyFrame);
623     EXPECT_EQ(ret, 0);
624 }
625 
HWTEST_F(SceneUnitTest, Interaction_Test_051, Function | SmallTest | Level2)626 HWTEST_F(SceneUnitTest, Interaction_Test_051, Function | SmallTest | Level2)
627 {
628     SHARING_LOGD("trace");
629     auto interaction = std::make_shared<Interaction>();
630     EXPECT_NE(interaction, nullptr);
631     uint32_t contextId = 0;
632     uint32_t agentId = 0;
633     uint64_t surfaceId = 0;
634     bool keyFrame = true;
635     auto ret = interaction->SetKeyPlay(contextId, agentId, surfaceId, keyFrame);
636     EXPECT_EQ(ret, 0);
637 }
638 
HWTEST_F(SceneUnitTest, Interaction_Test_052, Function | SmallTest | Level2)639 HWTEST_F(SceneUnitTest, Interaction_Test_052, Function | SmallTest | Level2)
640 {
641     SHARING_LOGD("trace");
642     auto interaction = std::make_shared<Interaction>();
643     EXPECT_NE(interaction, nullptr);
644     uint32_t contextId = 0;
645     uint32_t agentId = 0;
646     uint64_t surfaceId = 0;
647     bool keyRedirect = true;
648     auto ret = interaction->SetKeyRedirect(contextId, agentId, surfaceId, keyRedirect);
649     EXPECT_EQ(ret, 0);
650 }
651 
HWTEST_F(SceneUnitTest, Interaction_Test_053, Function | SmallTest | Level2)652 HWTEST_F(SceneUnitTest, Interaction_Test_053, Function | SmallTest | Level2)
653 {
654     SHARING_LOGD("trace");
655     auto interaction = std::make_shared<Interaction>();
656     EXPECT_NE(interaction, nullptr);
657     uint32_t contextId = 0;
658     uint32_t agentId = 0;
659     uint64_t surfaceId = 0;
660     bool keyRedirect = false;
661     auto ret = interaction->SetKeyRedirect(contextId, agentId, surfaceId, keyRedirect);
662     EXPECT_EQ(ret, 0);
663 }
664 
HWTEST_F(SceneUnitTest, Interaction_Test_054, Function | SmallTest | Level2)665 HWTEST_F(SceneUnitTest, Interaction_Test_054, Function | SmallTest | Level2)
666 {
667     SHARING_LOGD("trace");
668     auto interaction = std::make_shared<Interaction>();
669     EXPECT_NE(interaction, nullptr);
670     uint32_t contextId = 0;
671     uint32_t agentId = 0;
672     uint64_t surfaceId = 0;
673     auto ret = interaction->RemoveSurface(contextId, agentId, surfaceId);
674     EXPECT_EQ(ret, 0);
675 }
676 
HWTEST_F(SceneUnitTest, Interaction_Test_055, Function | SmallTest | Level2)677 HWTEST_F(SceneUnitTest, Interaction_Test_055, Function | SmallTest | Level2)
678 {
679     SHARING_LOGD("trace");
680     auto interaction = std::make_shared<Interaction>();
681     EXPECT_NE(interaction, nullptr);
682     uint32_t contextId = 0;
683     uint32_t agentId = 0;
684     sptr<Surface> surfacePtr = nullptr;
685     auto ret = interaction->AppendSurface(contextId, agentId, surfacePtr);
686     EXPECT_NE(ret, 0);
687 }
688 
HWTEST_F(SceneUnitTest, Interaction_Test_056, Function | SmallTest | Level2)689 HWTEST_F(SceneUnitTest, Interaction_Test_056, Function | SmallTest | Level2)
690 {
691     SHARING_LOGD("trace");
692     auto interaction = std::make_shared<Interaction>();
693     EXPECT_NE(interaction, nullptr);
694     int32_t windowId = 0;
695     auto ret = interaction->DestroyWindow(windowId);
696     EXPECT_EQ(ret, 0);
697 }
698 
HWTEST_F(SceneUnitTest, Interaction_Test_057, Function | SmallTest | Level2)699 HWTEST_F(SceneUnitTest, Interaction_Test_057, Function | SmallTest | Level2)
700 {
701     SHARING_LOGD("trace");
702     auto interaction = std::make_shared<Interaction>();
703     EXPECT_NE(interaction, nullptr);
704     int32_t windowId = 0;
705     WindowProperty windowProperty;
706     auto ret = interaction->CreateWindow(windowId, windowProperty);
707     EXPECT_EQ(ret, 0);
708 }
709 
HWTEST_F(SceneUnitTest, Interaction_Test_058, Function | SmallTest | Level2)710 HWTEST_F(SceneUnitTest, Interaction_Test_058, Function | SmallTest | Level2)
711 {
712     SHARING_LOGD("trace");
713     auto interaction = std::make_shared<Interaction>();
714     EXPECT_NE(interaction, nullptr);
715     int32_t windowId = 0;
716     auto ret = interaction->Hide(windowId);
717     EXPECT_EQ(ret, 0);
718 }
719 
HWTEST_F(SceneUnitTest, Interaction_Test_059, Function | SmallTest | Level2)720 HWTEST_F(SceneUnitTest, Interaction_Test_059, Function | SmallTest | Level2)
721 {
722     SHARING_LOGD("trace");
723     auto interaction = std::make_shared<Interaction>();
724     EXPECT_NE(interaction, nullptr);
725     int32_t windowId = 0;
726     auto ret = interaction->Show(windowId);
727     EXPECT_EQ(ret, 0);
728 }
729 
HWTEST_F(SceneUnitTest, Interaction_Test_060, Function | SmallTest | Level2)730 HWTEST_F(SceneUnitTest, Interaction_Test_060, Function | SmallTest | Level2)
731 {
732     SHARING_LOGD("trace");
733     auto interaction = std::make_shared<Interaction>();
734     EXPECT_NE(interaction, nullptr);
735     int32_t windowId = 0;
736     bool isFull = true;
737     auto ret = interaction->SetFullScreen(windowId, isFull);
738     EXPECT_EQ(ret, 0);
739 }
740 
HWTEST_F(SceneUnitTest, Interaction_Test_061, Function | SmallTest | Level2)741 HWTEST_F(SceneUnitTest, Interaction_Test_061, Function | SmallTest | Level2)
742 {
743     SHARING_LOGD("trace");
744     auto interaction = std::make_shared<Interaction>();
745     EXPECT_NE(interaction, nullptr);
746     int32_t windowId = 0;
747     int32_t x = 0;
748     int32_t y = 0;
749     auto ret = interaction->MoveTo(windowId, x, y);
750     EXPECT_EQ(ret, 0);
751 }
752 
HWTEST_F(SceneUnitTest, Interaction_Test_062, Function | SmallTest | Level2)753 HWTEST_F(SceneUnitTest, Interaction_Test_062, Function | SmallTest | Level2)
754 {
755     SHARING_LOGD("trace");
756     auto interaction = std::make_shared<Interaction>();
757     EXPECT_NE(interaction, nullptr);
758     int32_t windowId = 0;
759     sptr<Surface> surfacePtr = nullptr;
760     auto ret = interaction->GetSurface(windowId, surfacePtr);
761     EXPECT_EQ(ret, 0);
762 }
763 
HWTEST_F(SceneUnitTest, Interaction_Test_063, Function | SmallTest | Level2)764 HWTEST_F(SceneUnitTest, Interaction_Test_063, Function | SmallTest | Level2)
765 {
766     SHARING_LOGD("trace");
767     auto interaction = std::make_shared<Interaction>();
768     EXPECT_NE(interaction, nullptr);
769     int32_t windowId = 0;
770     int32_t width = 0;
771     int32_t height = 0;
772     auto ret = interaction->ReSize(windowId, width, height);
773     EXPECT_EQ(ret, 0);
774 }
775 
HWTEST_F(SceneUnitTest, Interaction_Test_064, Function | SmallTest | Level2)776 HWTEST_F(SceneUnitTest, Interaction_Test_064, Function | SmallTest | Level2)
777 {
778     SHARING_LOGD("trace");
779     auto interaction = std::make_shared<Interaction>();
780     EXPECT_NE(interaction, nullptr);
781     auto eventMsg = std::make_shared<EventMsg>();
782     EXPECT_NE(eventMsg, nullptr);
783     auto ret = interaction->NotifyEvent(eventMsg);
784     EXPECT_EQ(ret, 0);
785 }
786 
HWTEST_F(SceneUnitTest, SceneFormat_Test_065, Function | SmallTest | Level2)787 HWTEST_F(SceneUnitTest, SceneFormat_Test_065, Function | SmallTest | Level2)
788 {
789     SHARING_LOGD("trace");
790     auto sceneFormat = std::make_shared<SceneFormat>();
791     EXPECT_NE(sceneFormat, nullptr);
792 }
793 
HWTEST_F(SceneUnitTest, SceneFormat_Test_066, Function | SmallTest | Level2)794 HWTEST_F(SceneUnitTest, SceneFormat_Test_066, Function | SmallTest | Level2)
795 {
796     SHARING_LOGD("trace");
797     auto sceneFormat = std::make_shared<SceneFormat>();
798     EXPECT_NE(sceneFormat, nullptr);
799     sceneFormat->GetFormatMap();
800 }
801 
HWTEST_F(SceneUnitTest, SceneFormat_Test_067, Function | SmallTest | Level2)802 HWTEST_F(SceneUnitTest, SceneFormat_Test_067, Function | SmallTest | Level2)
803 {
804     SHARING_LOGD("trace");
805     auto sceneFormat = std::make_shared<SceneFormat>();
806     EXPECT_NE(sceneFormat, nullptr);
807     const std::string_view &key = "1";
808     bool value = false;
809     auto ret = sceneFormat->PutBoolValue(key, value);
810     EXPECT_EQ(ret, true);
811     bool valueNew = false;
812     sceneFormat->GetBoolValue(key, valueNew);
813     EXPECT_EQ(valueNew, value);
814 }
815 
HWTEST_F(SceneUnitTest, SceneFormat_Test_068, Function | SmallTest | Level2)816 HWTEST_F(SceneUnitTest, SceneFormat_Test_068, Function | SmallTest | Level2)
817 {
818     SHARING_LOGD("trace");
819     auto sceneFormat = std::make_shared<SceneFormat>();
820     EXPECT_NE(sceneFormat, nullptr);
821     const std::string_view &key = "1";
822     int32_t value = 2;
823     auto ret = sceneFormat->PutIntValue(key, value);
824     EXPECT_EQ(ret, true);
825     int32_t valueNew = 0;
826     sceneFormat->GetIntValue(key, valueNew);
827     EXPECT_EQ(valueNew, value);
828 }
829 
HWTEST_F(SceneUnitTest, SceneFormat_Test_069, Function | SmallTest | Level2)830 HWTEST_F(SceneUnitTest, SceneFormat_Test_069, Function | SmallTest | Level2)
831 {
832     SHARING_LOGD("trace");
833     auto sceneFormat = std::make_shared<SceneFormat>();
834     EXPECT_NE(sceneFormat, nullptr);
835     const std::string_view &key = "1";
836     float value = 2.0;
837     auto ret = sceneFormat->PutFloatValue(key, value);
838     EXPECT_EQ(ret, true);
839     float valueNew = 0;
840     sceneFormat->GetFloatValue(key, valueNew);
841     EXPECT_EQ(valueNew, value);
842 }
843 
HWTEST_F(SceneUnitTest, SceneFormat_Test_070, Function | SmallTest | Level2)844 HWTEST_F(SceneUnitTest, SceneFormat_Test_070, Function | SmallTest | Level2)
845 {
846     SHARING_LOGD("trace");
847     auto sceneFormat = std::make_shared<SceneFormat>();
848     EXPECT_NE(sceneFormat, nullptr);
849     const std::string_view &key = "1";
850     double value = 2.0;
851     auto ret = sceneFormat->PutDoubleValue(key, value);
852     EXPECT_EQ(ret, true);
853     double valueNew = 0;
854     sceneFormat->GetDoubleValue(key, valueNew);
855     EXPECT_EQ(valueNew, value);
856 }
857 
HWTEST_F(SceneUnitTest, SceneFormat_Test_071, Function | SmallTest | Level2)858 HWTEST_F(SceneUnitTest, SceneFormat_Test_071, Function | SmallTest | Level2)
859 {
860     SHARING_LOGD("trace");
861     auto sceneFormat = std::make_shared<SceneFormat>();
862     EXPECT_NE(sceneFormat, nullptr);
863     const std::string_view &key = "1";
864     int64_t value = 2;
865     auto ret = sceneFormat->PutInt64Value(key, value);
866     EXPECT_EQ(ret, true);
867     int64_t valueNew = 0;
868     sceneFormat->GetInt64Value(key, valueNew);
869     EXPECT_EQ(valueNew, value);
870 }
871 
HWTEST_F(SceneUnitTest, SceneFormat_Test_072, Function | SmallTest | Level2)872 HWTEST_F(SceneUnitTest, SceneFormat_Test_072, Function | SmallTest | Level2)
873 {
874     SHARING_LOGD("trace");
875     auto sceneFormat = std::make_shared<SceneFormat>();
876     EXPECT_NE(sceneFormat, nullptr);
877     const std::string_view &key = "1";
878     uint16_t value = 2;
879     auto ret = sceneFormat->PutUint16Value(key, value);
880     EXPECT_EQ(ret, true);
881     uint16_t valueNew = 0;
882     sceneFormat->GetUint16Value(key, valueNew);
883     EXPECT_EQ(valueNew, value);
884 }
885 
HWTEST_F(SceneUnitTest, SceneFormat_Test_073, Function | SmallTest | Level2)886 HWTEST_F(SceneUnitTest, SceneFormat_Test_073, Function | SmallTest | Level2)
887 {
888     SHARING_LOGD("trace");
889     auto sceneFormat = std::make_shared<SceneFormat>();
890     EXPECT_NE(sceneFormat, nullptr);
891     const std::string_view &key = "1";
892     uint32_t value = 2;
893     auto ret = sceneFormat->PutUint32Value(key, value);
894     EXPECT_EQ(ret, true);
895     uint32_t valueNew = 0;
896     sceneFormat->GetUint32Value(key, valueNew);
897     EXPECT_EQ(valueNew, value);
898 }
899 
HWTEST_F(SceneUnitTest, SceneFormat_Test_074, Function | SmallTest | Level2)900 HWTEST_F(SceneUnitTest, SceneFormat_Test_074, Function | SmallTest | Level2)
901 {
902     SHARING_LOGD("trace");
903     auto sceneFormat = std::make_shared<SceneFormat>();
904     EXPECT_NE(sceneFormat, nullptr);
905     const std::string_view &key = "1";
906     uint64_t value = 2;
907     auto ret = sceneFormat->PutUint64Value(key, value);
908     EXPECT_EQ(ret, true);
909     uint64_t valueNew = 0;
910     sceneFormat->GetUint64Value(key, valueNew);
911     EXPECT_EQ(valueNew, value);
912 }
913 
HWTEST_F(SceneUnitTest, SceneFormat_Test_075, Function | SmallTest | Level2)914 HWTEST_F(SceneUnitTest, SceneFormat_Test_075, Function | SmallTest | Level2)
915 {
916     SHARING_LOGD("trace");
917     auto sceneFormat = std::make_shared<SceneFormat>();
918     EXPECT_NE(sceneFormat, nullptr);
919     const std::string_view &key = "1";
920     const std::string_view value = "2";
921     auto ret = sceneFormat->PutStringValue(key, value);
922     EXPECT_EQ(ret, true);
923     std::string valueNew;
924     sceneFormat->GetStringValue(key, valueNew);
925     EXPECT_EQ(valueNew, value);
926 }
927 
HWTEST_F(SceneUnitTest, SceneFormat_Test_076, Function | SmallTest | Level2)928 HWTEST_F(SceneUnitTest, SceneFormat_Test_076, Function | SmallTest | Level2)
929 {
930     SHARING_LOGD("trace");
931     auto sceneFormat = std::make_shared<SceneFormat>();
932     EXPECT_NE(sceneFormat, nullptr);
933     const std::string_view &key = "1";
934     auto systemAbilityManager = SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager();
935     EXPECT_NE(systemAbilityManager, nullptr);
936     sptr<IRemoteObject> value = systemAbilityManager->GetSystemAbility(TEST_SERVICE_SA_ID);
937     EXPECT_NE(value, nullptr);
938     auto ret = sceneFormat->PutObjectValue(key, value);
939     EXPECT_EQ(ret, true);
940     sptr<IRemoteObject> valueNew;
941     sceneFormat->GetObjectValue(key, valueNew);
942     EXPECT_EQ(valueNew, value);
943 }
944 
HWTEST_F(SceneUnitTest, SceneFormat_Test_077, Function | SmallTest | Level2)945 HWTEST_F(SceneUnitTest, SceneFormat_Test_077, Function | SmallTest | Level2)
946 {
947     SHARING_LOGD("trace");
948     MessageParcel parcel;
949     SceneFormat sceneFormatIn;
950     SceneFormat sceneFormatOut;
951     const std::string_view key = "1";
952     bool valueBool = false;
953     auto systemAbilityManager = SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager();
954     EXPECT_NE(systemAbilityManager, nullptr);
955     sptr<IRemoteObject> valueObject = systemAbilityManager->GetSystemAbility(TEST_SERVICE_SA_ID);
956     EXPECT_NE(valueObject, nullptr);
957     sceneFormatIn.PutBoolValue(key, valueBool);
958     auto ret1 = SceneFormatParcel::Marshalling(parcel, sceneFormatIn);
959     EXPECT_EQ(ret1, true);
960     auto ret2 = SceneFormatParcel::Unmarshalling(parcel, sceneFormatOut);
961     EXPECT_EQ(ret2, true);
962     bool valueGetBool = false;
963     bool ret = sceneFormatOut.GetBoolValue(key, valueGetBool);
964     EXPECT_EQ(ret, true);
965     EXPECT_EQ(valueGetBool, valueBool);
966 }
967 
HWTEST_F(SceneUnitTest, SceneFormat_Test_078, Function | SmallTest | Level2)968 HWTEST_F(SceneUnitTest, SceneFormat_Test_078, Function | SmallTest | Level2)
969 {
970     SHARING_LOGD("trace");
971     MessageParcel parcel;
972     bool attr = false;
973     bool attrGet = true;
974     auto ret = IpcEncodeBindAttr(parcel, attr);
975     EXPECT_EQ(ret, true);
976     auto ret1 = IpcDecodeBindAttr(parcel, attrGet);
977     EXPECT_EQ(ret1, true);
978     EXPECT_EQ(attr, attrGet);
979 }
980 
HWTEST_F(SceneUnitTest, SceneFormat_Test_079, Function | SmallTest | Level2)981 HWTEST_F(SceneUnitTest, SceneFormat_Test_079, Function | SmallTest | Level2)
982 {
983     SHARING_LOGD("trace");
984     MessageParcel parcel;
985     int8_t attr = 1;
986     int8_t attrGet = 0;
987     auto ret = IpcEncodeBindAttr(parcel, attr);
988     EXPECT_EQ(ret, true);
989     auto ret1 = IpcDecodeBindAttr(parcel, attrGet);
990     EXPECT_EQ(ret1, true);
991     EXPECT_EQ(attr, attrGet);
992 }
993 
HWTEST_F(SceneUnitTest, SceneFormat_Test_080, Function | SmallTest | Level2)994 HWTEST_F(SceneUnitTest, SceneFormat_Test_080, Function | SmallTest | Level2)
995 {
996     SHARING_LOGD("trace");
997     MessageParcel parcel;
998     int16_t attr = 1;
999     int16_t attrGet = 0;
1000     auto ret = IpcEncodeBindAttr(parcel, attr);
1001     EXPECT_EQ(ret, true);
1002     auto ret1 = IpcDecodeBindAttr(parcel, attrGet);
1003     EXPECT_EQ(ret1, true);
1004     EXPECT_EQ(attr, attrGet);
1005 }
1006 
HWTEST_F(SceneUnitTest, SceneFormat_Test_081, Function | SmallTest | Level2)1007 HWTEST_F(SceneUnitTest, SceneFormat_Test_081, Function | SmallTest | Level2)
1008 {
1009     SHARING_LOGD("trace");
1010     MessageParcel parcel;
1011     int32_t attr = 1;
1012     int32_t attrGet = 0;
1013     auto ret = IpcEncodeBindAttr(parcel, attr);
1014     EXPECT_EQ(ret, true);
1015     auto ret1 = IpcDecodeBindAttr(parcel, attrGet);
1016     EXPECT_EQ(ret1, true);
1017     EXPECT_EQ(attr, attrGet);
1018 }
1019 
HWTEST_F(SceneUnitTest, SceneFormat_Test_082, Function | SmallTest | Level2)1020 HWTEST_F(SceneUnitTest, SceneFormat_Test_082, Function | SmallTest | Level2)
1021 {
1022     SHARING_LOGD("trace");
1023     MessageParcel parcel;
1024     int64_t attr = 1;
1025     int64_t attrGet = 0;
1026     auto ret = IpcEncodeBindAttr(parcel, attr);
1027     EXPECT_EQ(ret, true);
1028     auto ret1 = IpcDecodeBindAttr(parcel, attrGet);
1029     EXPECT_EQ(ret1, true);
1030     EXPECT_EQ(attr, attrGet);
1031 }
1032 
HWTEST_F(SceneUnitTest, SceneFormat_Test_083, Function | SmallTest | Level2)1033 HWTEST_F(SceneUnitTest, SceneFormat_Test_083, Function | SmallTest | Level2)
1034 {
1035     SHARING_LOGD("trace");
1036     MessageParcel parcel;
1037     uint8_t attr = 1;
1038     uint8_t attrGet = 0;
1039     auto ret = IpcEncodeBindAttr(parcel, attr);
1040     EXPECT_EQ(ret, true);
1041     auto ret1 = IpcDecodeBindAttr(parcel, attrGet);
1042     EXPECT_EQ(ret1, true);
1043     EXPECT_EQ(attr, attrGet);
1044 }
1045 
HWTEST_F(SceneUnitTest, SceneFormat_Test_084, Function | SmallTest | Level2)1046 HWTEST_F(SceneUnitTest, SceneFormat_Test_084, Function | SmallTest | Level2)
1047 {
1048     SHARING_LOGD("trace");
1049     MessageParcel parcel;
1050     uint16_t attr = 1;
1051     uint16_t attrGet = 0;
1052     auto ret = IpcEncodeBindAttr(parcel, attr);
1053     EXPECT_EQ(ret, true);
1054     auto ret1 = IpcDecodeBindAttr(parcel, attrGet);
1055     EXPECT_EQ(ret1, true);
1056     EXPECT_EQ(attr, attrGet);
1057 }
1058 
HWTEST_F(SceneUnitTest, SceneFormat_Test_085, Function | SmallTest | Level2)1059 HWTEST_F(SceneUnitTest, SceneFormat_Test_085, Function | SmallTest | Level2)
1060 {
1061     SHARING_LOGD("trace");
1062     MessageParcel parcel;
1063     uint32_t attr = 1;
1064     uint32_t attrGet = 0;
1065     auto ret = IpcEncodeBindAttr(parcel, attr);
1066     EXPECT_EQ(ret, true);
1067     auto ret1 = IpcDecodeBindAttr(parcel, attrGet);
1068     EXPECT_EQ(ret1, true);
1069     EXPECT_EQ(attr, attrGet);
1070 }
1071 
HWTEST_F(SceneUnitTest, SceneFormat_Test_086, Function | SmallTest | Level2)1072 HWTEST_F(SceneUnitTest, SceneFormat_Test_086, Function | SmallTest | Level2)
1073 {
1074     SHARING_LOGD("trace");
1075     MessageParcel parcel;
1076     uint64_t attr = 1;
1077     uint64_t attrGet = 0;
1078     auto ret = IpcEncodeBindAttr(parcel, attr);
1079     EXPECT_EQ(ret, true);
1080     auto ret1 = IpcDecodeBindAttr(parcel, attrGet);
1081     EXPECT_EQ(ret1, true);
1082     EXPECT_EQ(attr, attrGet);
1083 }
1084 
HWTEST_F(SceneUnitTest, SceneFormat_Test_087, Function | SmallTest | Level2)1085 HWTEST_F(SceneUnitTest, SceneFormat_Test_087, Function | SmallTest | Level2)
1086 {
1087     SHARING_LOGD("trace");
1088     MessageParcel parcel;
1089     float attr = 1.0;
1090     float attrGet = 0;
1091     auto ret = IpcEncodeBindAttr(parcel, attr);
1092     EXPECT_EQ(ret, true);
1093     auto ret1 = IpcDecodeBindAttr(parcel, attrGet);
1094     EXPECT_EQ(ret1, true);
1095     EXPECT_EQ(attr, attrGet);
1096 }
1097 
HWTEST_F(SceneUnitTest, SceneFormat_Test_088, Function | SmallTest | Level2)1098 HWTEST_F(SceneUnitTest, SceneFormat_Test_088, Function | SmallTest | Level2)
1099 {
1100     SHARING_LOGD("trace");
1101     MessageParcel parcel;
1102     double attr = 1.0;
1103     double attrGet = 0;
1104     auto ret = IpcEncodeBindAttr(parcel, attr);
1105     EXPECT_EQ(ret, true);
1106     auto ret1 = IpcDecodeBindAttr(parcel, attrGet);
1107     EXPECT_EQ(ret1, true);
1108     EXPECT_EQ(attr, attrGet);
1109 }
1110 
HWTEST_F(SceneUnitTest, SceneFormat_Test_089, Function | SmallTest | Level2)1111 HWTEST_F(SceneUnitTest, SceneFormat_Test_089, Function | SmallTest | Level2)
1112 {
1113     SHARING_LOGD("trace");
1114     MessageParcel parcel;
1115     std::string attr = "12121";
1116     std::string attrGet = "";
1117     auto ret = IpcEncodeBindAttr(parcel, attr);
1118     EXPECT_EQ(ret, true);
1119     auto ret1 = IpcDecodeBindAttr(parcel, attrGet);
1120     EXPECT_EQ(ret1, true);
1121     EXPECT_EQ(attr, attrGet);
1122 }
1123 
HWTEST_F(SceneUnitTest, SceneFormat_Test_090, Function | SmallTest | Level2)1124 HWTEST_F(SceneUnitTest, SceneFormat_Test_090, Function | SmallTest | Level2)
1125 {
1126     SHARING_LOGD("trace");
1127     MessageParcel parcel;
1128     auto systemAbilityManager = SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager();
1129     EXPECT_NE(systemAbilityManager, nullptr);
1130     sptr<IRemoteObject> attr = systemAbilityManager->GetSystemAbility(TEST_SERVICE_SA_ID);
1131     EXPECT_NE(attr, nullptr);
1132     sptr<IRemoteObject> attrGet = nullptr;
1133     auto ret = IpcEncodeBindAttr(parcel, attr);
1134     EXPECT_EQ(ret, true);
1135     auto ret1 = IpcDecodeBindAttr(parcel, attrGet);
1136     EXPECT_EQ(ret1, true);
1137     EXPECT_EQ(attr, attrGet);
1138 }
1139 
HWTEST_F(SceneUnitTest, SceneFormat_Test_091, Function | SmallTest | Level2)1140 HWTEST_F(SceneUnitTest, SceneFormat_Test_091, Function | SmallTest | Level2)
1141 {
1142     SHARING_LOGD("trace");
1143     MessageParcel parcel;
1144     TestMessageParcel attr{5};
1145     TestMessageParcel attrGet;
1146     auto ret = IpcEncodeBindAttr(parcel, attr);
1147     EXPECT_EQ(ret, true);
1148     auto ret1 = IpcDecodeBindAttr(parcel, attrGet);
1149     EXPECT_EQ(ret1, true);
1150     EXPECT_EQ(attr.value, attrGet.value);
1151 }
1152 
HWTEST_F(SceneUnitTest, SceneFormat_Test_092, Function | SmallTest | Level2)1153 HWTEST_F(SceneUnitTest, SceneFormat_Test_092, Function | SmallTest | Level2)
1154 {
1155     SHARING_LOGD("trace");
1156     MessageParcel parcel;
1157     std::vector<TestMessageParcel> attrVec;
1158     std::vector<TestMessageParcel> attrVecGet;
1159     TestMessageParcel attr{5};
1160     attrVec.push_back(attr);
1161     auto ret = IpcEncodeBindAttr(parcel, attrVec);
1162     EXPECT_EQ(ret, true);
1163     auto ret1 = IpcDecodeBindAttr(parcel, attrVecGet);
1164     EXPECT_EQ(ret1, true);
1165     EXPECT_EQ(attrVec.size(), attrVecGet.size());
1166     EXPECT_EQ(attrVec[0].value, attrVecGet[0].value);
1167 }
1168 
HWTEST_F(SceneUnitTest, SceneFormat_Test_093, Function | SmallTest | Level2)1169 HWTEST_F(SceneUnitTest, SceneFormat_Test_093, Function | SmallTest | Level2)
1170 {
1171     SHARING_LOGD("trace");
1172     MessageParcel ipcMsg;
1173     auto wfdCommonRsp = std::make_shared<WfdCommonRsp>();
1174     EXPECT_NE(wfdCommonRsp, nullptr);
1175     wfdCommonRsp->ret = 100;
1176     auto wfdCommonRspGet = std::make_shared<WfdCommonRsp>();
1177     EXPECT_NE(wfdCommonRspGet, nullptr);
1178     auto baseMsg = std::static_pointer_cast<BaseMsg>(wfdCommonRsp);
1179     auto baseMsgGet = std::static_pointer_cast<BaseMsg>(wfdCommonRspGet);
1180     auto ret = IpcMsgEncoder::GetInstance().MsgEncode(ipcMsg, baseMsg);
1181     EXPECT_EQ(ret, 0);
1182     auto ret1 = IpcMsgDecoder::GetInstance().MsgDecode(baseMsgGet, ipcMsg);
1183     EXPECT_EQ(ret1, 0);
1184     auto wfdCommonRspGetNew = std::static_pointer_cast<WfdCommonRsp>(baseMsgGet);
1185     EXPECT_EQ(wfdCommonRsp->ret, wfdCommonRspGetNew->ret);
1186 }
1187 
HWTEST_F(SceneUnitTest, SceneFormat_Test_094, Function | SmallTest | Level2)1188 HWTEST_F(SceneUnitTest, SceneFormat_Test_094, Function | SmallTest | Level2)
1189 {
1190     SHARING_LOGD("trace");
1191     MessageParcel parcel;
1192     SceneFormat sceneFormatIn;
1193     SceneFormat sceneFormatOut;
1194     const std::string_view key = "2";
1195     int32_t valueInt32 = 2;
1196 
1197     auto systemAbilityManager = SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager();
1198     EXPECT_NE(systemAbilityManager, nullptr);
1199     sptr<IRemoteObject> valueObject = systemAbilityManager->GetSystemAbility(TEST_SERVICE_SA_ID);
1200     EXPECT_NE(valueObject, nullptr);
1201 
1202     sceneFormatIn.PutIntValue(key, valueInt32);
1203     auto ret1 = SceneFormatParcel::Marshalling(parcel, sceneFormatIn);
1204     EXPECT_EQ(ret1, true);
1205     auto ret2 = SceneFormatParcel::Unmarshalling(parcel, sceneFormatOut);
1206     EXPECT_EQ(ret2, true);
1207 
1208     int32_t valueGetInt32 = 0;
1209     auto ret = sceneFormatOut.GetIntValue(key, valueGetInt32);
1210     EXPECT_EQ(ret, true);
1211     EXPECT_EQ(valueGetInt32, valueInt32);
1212 }
1213 
HWTEST_F(SceneUnitTest, SceneFormat_Test_095, Function | SmallTest | Level2)1214 HWTEST_F(SceneUnitTest, SceneFormat_Test_095, Function | SmallTest | Level2)
1215 {
1216     SHARING_LOGD("trace");
1217     MessageParcel parcel;
1218     SceneFormat sceneFormatIn;
1219     SceneFormat sceneFormatOut;
1220     const std::string_view key = "3";
1221     float valueFloat = 3.14f;
1222 
1223     auto systemAbilityManager = SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager();
1224     EXPECT_NE(systemAbilityManager, nullptr);
1225     sptr<IRemoteObject> valueObject = systemAbilityManager->GetSystemAbility(TEST_SERVICE_SA_ID);
1226     EXPECT_NE(valueObject, nullptr);
1227 
1228     sceneFormatIn.PutFloatValue(key, valueFloat);
1229     auto ret1 = SceneFormatParcel::Marshalling(parcel, sceneFormatIn);
1230     EXPECT_EQ(ret1, true);
1231     auto ret2 = SceneFormatParcel::Unmarshalling(parcel, sceneFormatOut);
1232     EXPECT_EQ(ret2, true);
1233 
1234     float valueGetFloat = 0.0f;
1235     auto ret = sceneFormatOut.GetFloatValue(key, valueGetFloat);
1236     EXPECT_EQ(ret, true);
1237     auto isEqual = std::abs(valueGetFloat - valueFloat) < std::numeric_limits<float>::epsilon();
1238     EXPECT_EQ(isEqual, true);
1239 }
1240 
1241 HWTEST_F(SceneUnitTest, SceneFormat_Test_096, Function | SmallTest | Level2)
1242 {
1243     SHARING_LOGD("trace");
1244     MessageParcel parcel;
1245     SceneFormat sceneFormatIn;
1246     SceneFormat sceneFormatOut;
1247     const std::string_view key = "4";
1248     double valueDouble = 3.14;
1249 
1250     auto systemAbilityManager = SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager();
1251     EXPECT_NE(systemAbilityManager, nullptr);
1252     sptr<IRemoteObject> valueObject = systemAbilityManager->GetSystemAbility(TEST_SERVICE_SA_ID);
1253     EXPECT_NE(valueObject, nullptr);
1254 
1255     sceneFormatIn.PutDoubleValue(key, valueDouble);
1256     auto ret1 = SceneFormatParcel::Marshalling(parcel, sceneFormatIn);
1257     EXPECT_EQ(ret1, true);
1258     auto ret2 = SceneFormatParcel::Unmarshalling(parcel, sceneFormatOut);
1259     EXPECT_EQ(ret2, true);
1260 
1261     double valueGetDouble = 0;
1262     auto ret = sceneFormatOut.GetDoubleValue(key, valueGetDouble);
1263     EXPECT_EQ(ret, true);
1264     auto isEqual = std::abs(valueGetDouble - valueDouble) < std::numeric_limits<float>::epsilon();
1265     EXPECT_EQ(isEqual, true);
1266 }
1267 
1268 HWTEST_F(SceneUnitTest, SceneFormat_Test_097, Function | SmallTest | Level2)
1269 {
1270     SHARING_LOGD("trace");
1271     MessageParcel parcel;
1272     SceneFormat sceneFormatIn;
1273     SceneFormat sceneFormatOut;
1274     const std::string_view key = "5";
1275     int64_t valueInt64 = std::numeric_limits<std::int64_t>::max();
1276 
1277     auto systemAbilityManager = SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager();
1278     EXPECT_NE(systemAbilityManager, nullptr);
1279     sptr<IRemoteObject> valueObject = systemAbilityManager->GetSystemAbility(TEST_SERVICE_SA_ID);
1280     EXPECT_NE(valueObject, nullptr);
1281 
1282     sceneFormatIn.PutInt64Value(key, valueInt64);
1283     auto ret1 = SceneFormatParcel::Marshalling(parcel, sceneFormatIn);
1284     EXPECT_EQ(ret1, true);
1285     auto ret2 = SceneFormatParcel::Unmarshalling(parcel, sceneFormatOut);
1286     EXPECT_EQ(ret2, true);
1287 
1288     int64_t valueGetInt64 = 0;
1289     auto ret = sceneFormatOut.GetInt64Value(key, valueGetInt64);
1290     EXPECT_EQ(ret, true);
1291     EXPECT_EQ(valueGetInt64, valueInt64);
1292 }
1293 
HWTEST_F(SceneUnitTest, SceneFormat_Test_098, Function | SmallTest | Level2)1294 HWTEST_F(SceneUnitTest, SceneFormat_Test_098, Function | SmallTest | Level2)
1295 {
1296     SHARING_LOGD("trace");
1297     MessageParcel parcel;
1298     SceneFormat sceneFormatIn;
1299     SceneFormat sceneFormatOut;
1300     const std::string_view key = "6";
1301     uint16_t valueUInt16 = std::numeric_limits<std::uint16_t>::max();
1302 
1303     auto systemAbilityManager = SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager();
1304     EXPECT_NE(systemAbilityManager, nullptr);
1305     sptr<IRemoteObject> valueObject = systemAbilityManager->GetSystemAbility(TEST_SERVICE_SA_ID);
1306     EXPECT_NE(valueObject, nullptr);
1307 
1308     sceneFormatIn.PutUint16Value(key, valueUInt16);
1309     auto ret1 = SceneFormatParcel::Marshalling(parcel, sceneFormatIn);
1310     EXPECT_EQ(ret1, true);
1311     auto ret2 = SceneFormatParcel::Unmarshalling(parcel, sceneFormatOut);
1312     EXPECT_EQ(ret2, true);
1313 
1314     uint16_t valueGetUInt16 = 0;
1315     auto ret = sceneFormatOut.GetUint16Value(key, valueGetUInt16);
1316     EXPECT_EQ(ret, true);
1317     EXPECT_EQ(valueGetUInt16, valueUInt16);
1318 }
1319 
HWTEST_F(SceneUnitTest, SceneFormat_Test_099, Function | SmallTest | Level2)1320 HWTEST_F(SceneUnitTest, SceneFormat_Test_099, Function | SmallTest | Level2)
1321 {
1322     SHARING_LOGD("trace");
1323     MessageParcel parcel;
1324     SceneFormat sceneFormatIn;
1325     SceneFormat sceneFormatOut;
1326     const std::string_view key = "7";
1327     uint32_t valueUint32 = std::numeric_limits<std::uint32_t>::max();
1328 
1329     auto systemAbilityManager = SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager();
1330     EXPECT_NE(systemAbilityManager, nullptr);
1331     sptr<IRemoteObject> valueObject = systemAbilityManager->GetSystemAbility(TEST_SERVICE_SA_ID);
1332     EXPECT_NE(valueObject, nullptr);
1333 
1334     sceneFormatIn.PutUint32Value(key, valueUint32);
1335     auto ret1 = SceneFormatParcel::Marshalling(parcel, sceneFormatIn);
1336     EXPECT_EQ(ret1, true);
1337     auto ret2 = SceneFormatParcel::Unmarshalling(parcel, sceneFormatOut);
1338     EXPECT_EQ(ret2, true);
1339 
1340     uint32_t valueGetUint32 = 0;
1341     auto ret = sceneFormatOut.GetUint32Value(key, valueGetUint32);
1342     EXPECT_EQ(ret, true);
1343     EXPECT_EQ(valueGetUint32, valueUint32);
1344 }
1345 
HWTEST_F(SceneUnitTest, SceneFormat_Test_100, Function | SmallTest | Level2)1346 HWTEST_F(SceneUnitTest, SceneFormat_Test_100, Function | SmallTest | Level2)
1347 {
1348     SHARING_LOGD("trace");
1349     MessageParcel parcel;
1350     SceneFormat sceneFormatIn;
1351     SceneFormat sceneFormatOut;
1352     const std::string_view key = "8";
1353     uint64_t valueUint64 = std::numeric_limits<std::uint64_t>::max();
1354 
1355     auto systemAbilityManager = SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager();
1356     EXPECT_NE(systemAbilityManager, nullptr);
1357     sptr<IRemoteObject> valueObject = systemAbilityManager->GetSystemAbility(TEST_SERVICE_SA_ID);
1358     EXPECT_NE(valueObject, nullptr);
1359 
1360     sceneFormatIn.PutUint64Value(key, valueUint64);
1361     auto ret1 = SceneFormatParcel::Marshalling(parcel, sceneFormatIn);
1362     EXPECT_EQ(ret1, true);
1363     auto ret2 = SceneFormatParcel::Unmarshalling(parcel, sceneFormatOut);
1364     EXPECT_EQ(ret2, true);
1365 
1366     uint64_t valueGetUint64 = 0;
1367     auto ret = sceneFormatOut.GetUint64Value(key, valueGetUint64);
1368     EXPECT_EQ(ret, true);
1369     EXPECT_EQ(valueGetUint64, valueUint64);
1370 }
1371 
HWTEST_F(SceneUnitTest, SceneFormat_Test_101, Function | SmallTest | Level2)1372 HWTEST_F(SceneUnitTest, SceneFormat_Test_101, Function | SmallTest | Level2)
1373 {
1374     SHARING_LOGD("trace");
1375     MessageParcel parcel;
1376     SceneFormat sceneFormatIn;
1377     SceneFormat sceneFormatOut;
1378     const std::string_view key = "9";
1379 
1380     auto systemAbilityManager = SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager();
1381     EXPECT_NE(systemAbilityManager, nullptr);
1382     sptr<IRemoteObject> valueObject = systemAbilityManager->GetSystemAbility(TEST_SERVICE_SA_ID);
1383     EXPECT_NE(valueObject, nullptr);
1384 
1385     sceneFormatIn.PutObjectValue(key, valueObject);
1386     auto ret1 = SceneFormatParcel::Marshalling(parcel, sceneFormatIn);
1387     EXPECT_EQ(ret1, true);
1388     auto ret2 = SceneFormatParcel::Unmarshalling(parcel, sceneFormatOut);
1389     EXPECT_EQ(ret2, true);
1390 
1391     sptr<IRemoteObject> valueGetObject = nullptr;
1392     auto ret = sceneFormatOut.GetObjectValue(key, valueGetObject);
1393     EXPECT_EQ(ret, true);
1394     EXPECT_EQ(valueGetObject, valueObject);
1395 }
1396 
HWTEST_F(SceneUnitTest, SceneFormat_Test_102, Function | SmallTest | Level2)1397 HWTEST_F(SceneUnitTest, SceneFormat_Test_102, Function | SmallTest | Level2)
1398 {
1399     SHARING_LOGD("trace");
1400     MessageParcel parcel;
1401     SceneFormat sceneFormatIn;
1402     SceneFormat sceneFormatOut;
1403     const std::string_view key = "10";
1404     const std::string_view valueString = "string";
1405 
1406     auto systemAbilityManager = SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager();
1407     EXPECT_NE(systemAbilityManager, nullptr);
1408     sptr<IRemoteObject> valueObject = systemAbilityManager->GetSystemAbility(TEST_SERVICE_SA_ID);
1409     EXPECT_NE(valueObject, nullptr);
1410 
1411     sceneFormatIn.PutStringValue(key, valueString);
1412     auto ret1 = SceneFormatParcel::Marshalling(parcel, sceneFormatIn);
1413     EXPECT_EQ(ret1, true);
1414     auto ret2 = SceneFormatParcel::Unmarshalling(parcel, sceneFormatOut);
1415     EXPECT_EQ(ret2, true);
1416 
1417     std::string valueGetString = "";
1418     auto ret = sceneFormatOut.GetStringValue(key, valueGetString);
1419     EXPECT_EQ(ret, true);
1420     EXPECT_EQ(valueGetString, valueString);
1421 }
1422 
1423 } // namespace
1424 } // namespace Sharing
1425 } // namespace OHOS