1 /*
2  * Copyright (c) 2022-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 #include "display_manager_proxy.h"
16 #include "display_manager_adapter.h"
17 #include "display_manager.h"
18 #include <gtest/gtest.h>
19 #include "hilog/log.h"
20 #include <iremote_broker.h>
21 #include <iservice_registry.h>
22 #include <system_ability_definition.h>
23 #include "scene_board_judgement.h"
24 #include "screen_manager.h"
25 #include "window_manager_hilog.h"
26 #include "window_scene.h"
27 #include "zidl/display_manager_agent_proxy.h"
28 
29 using namespace testing;
30 using namespace testing::ext;
31 
32 namespace OHOS {
33 namespace Rosen {
34 
35 class DisplayManagerAgentProxyTest : public testing::Test {
36 public:
37     static void SetUpTestCase();
38     static void TearDownTestCase();
39     void SetUp() override;
40     void TearDown() override;
41 };
42 
SetUpTestCase()43 void DisplayManagerAgentProxyTest::SetUpTestCase()
44 {
45 }
46 
TearDownTestCase()47 void DisplayManagerAgentProxyTest::TearDownTestCase()
48 {
49 }
50 
SetUp()51 void DisplayManagerAgentProxyTest::SetUp()
52 {
53 }
54 
TearDown()55 void DisplayManagerAgentProxyTest::TearDown()
56 {
57 }
58 
59 namespace {
60 /**
61  * @tc.name: NotifyDisplayPowerEvent
62  * @tc.desc: NotifyDisplayPowerEvent
63  * @tc.type: FUNC
64  */
HWTEST_F(DisplayManagerAgentProxyTest, NotifyDisplayPowerEvent, Function | SmallTest | Level1)65 HWTEST_F(DisplayManagerAgentProxyTest, NotifyDisplayPowerEvent, Function | SmallTest | Level1)
66 {
67     SingletonContainer::Get<ScreenManagerAdapter>().InitDMSProxy();
68     sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
69 
70     DisplayPowerEvent event = DisplayPowerEvent::DESKTOP_READY;
71     EventStatus status = EventStatus::BEGIN;
72     sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
73     GTEST_LOG_(INFO) << "WindowSessionImplTest:1";
74     displayManagerAgentProxy->NotifyDisplayPowerEvent(event, status);
75 
76     int resultValue = 0;
77     std::function<void()> func = [&]()
78     {
79         displayManagerAgentProxy->NotifyDisplayPowerEvent(event, status);
80         resultValue = 1;
81     };
82     func();
83     ASSERT_EQ(resultValue, 1);
84 }
85 
86 /**
87  * @tc.name: NotifyDisplayStateChanged
88  * @tc.desc: NotifyDisplayStateChanged
89  * @tc.type: FUNC
90  */
HWTEST_F(DisplayManagerAgentProxyTest, NotifyDisplayStateChanged, Function | SmallTest | Level1)91 HWTEST_F(DisplayManagerAgentProxyTest, NotifyDisplayStateChanged, Function | SmallTest | Level1)
92 {
93     sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
94     sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
95 
96     DisplayId displayId = 0;
97     DisplayState state = DisplayState{1};
98 
99     int resultValue = 0;
100     std::function<void()> func = [&]()
101     {
102         displayManagerAgentProxy->NotifyDisplayStateChanged(displayId, state);
103         resultValue = 1;
104     };
105     func();
106     ASSERT_EQ(resultValue, 1);
107 }
108 
109 /**
110  * @tc.name: NotifyCaptureStatusChanged
111  * @tc.desc: NotifyCaptureStatusChanged
112  * @tc.type: FUNC
113  */
HWTEST_F(DisplayManagerAgentProxyTest, NotifyCaptureStatusChanged, Function | SmallTest | Level1)114 HWTEST_F(DisplayManagerAgentProxyTest, NotifyCaptureStatusChanged, Function | SmallTest | Level1)
115 {
116     sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
117     sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
118 
119     int resultValue = 0;
120     std::function<void()> func = [&]()
121     {
122         displayManagerAgentProxy->NotifyCaptureStatusChanged(false);
123         resultValue = 1;
124     };
125     func();
126     ASSERT_EQ(resultValue, 1);
127 }
128 
129 /**
130  * @tc.name: NotifyCaptureStatusChanged01
131  * @tc.desc: NotifyCaptureStatusChanged01
132  * @tc.type: FUNC
133  */
HWTEST_F(DisplayManagerAgentProxyTest, NotifyCaptureStatusChanged01, Function | SmallTest | Level1)134 HWTEST_F(DisplayManagerAgentProxyTest, NotifyCaptureStatusChanged01, Function | SmallTest | Level1)
135 {
136     sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
137     sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
138 
139     int resultValue = 0;
140     std::function<void()> func = [&]()
141     {
142         displayManagerAgentProxy->NotifyCaptureStatusChanged(true);
143         resultValue = 1;
144     };
145     func();
146     ASSERT_EQ(resultValue, 1);
147 }
148 
149 /**
150  * @tc.name: NotifyDisplayChangeInfoChanged
151  * @tc.desc: NotifyDisplayChangeInfoChanged
152  * @tc.type: FUNC
153  */
HWTEST_F(DisplayManagerAgentProxyTest, NotifyDisplayChangeInfoChanged, Function | SmallTest | Level1)154 HWTEST_F(DisplayManagerAgentProxyTest, NotifyDisplayChangeInfoChanged, Function | SmallTest | Level1)
155 {
156     sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
157     sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
158 
159     sptr<DisplayChangeInfo> display_change_info = new DisplayChangeInfo();
160     int resultValue = 0;
161     std::function<void()> func = [&]()
162     {
163         displayManagerAgentProxy->NotifyDisplayChangeInfoChanged(display_change_info);
164         resultValue = 1;
165     };
166     func();
167     ASSERT_EQ(resultValue, 1);
168 }
169 
170 /**
171  * @tc.name: NotifyDisplayChangeInfoChanged01
172  * @tc.desc: NotifyDisplayChangeInfoChanged01
173  * @tc.type: FUNC
174  */
HWTEST_F(DisplayManagerAgentProxyTest, NotifyDisplayChangeInfoChanged01, Function | SmallTest | Level1)175 HWTEST_F(DisplayManagerAgentProxyTest, NotifyDisplayChangeInfoChanged01, Function | SmallTest | Level1)
176 {
177     sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
178     sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
179 
180     sptr<DisplayChangeInfo> display_change_info = nullptr;
181     int resultValue = 0;
182     std::function<void()> func = [&]()
183     {
184         displayManagerAgentProxy->NotifyDisplayChangeInfoChanged(display_change_info);
185         resultValue = 1;
186     };
187     func();
188     ASSERT_EQ(resultValue, 1);
189 }
190 
191 /**
192  * @tc.name: NotifyDisplayModeChanged
193  * @tc.desc: NotifyDisplayModeChanged
194  * @tc.type: FUNC
195  */
HWTEST_F(DisplayManagerAgentProxyTest, NotifyDisplayModeChanged, Function | SmallTest | Level1)196 HWTEST_F(DisplayManagerAgentProxyTest, NotifyDisplayModeChanged, Function | SmallTest | Level1)
197 {
198     sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
199     sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
200 
201     FoldDisplayMode mode = FoldDisplayMode{0};
202     int resultValue = 0;
203     std::function<void()> func = [&]()
204     {
205         displayManagerAgentProxy->NotifyDisplayModeChanged(mode);
206         resultValue = 1;
207     };
208     func();
209     ASSERT_EQ(resultValue, 1);
210 }
211 
212 /**
213  * @tc.name: NotifyAvailableAreaChanged
214  * @tc.desc: NotifyAvailableAreaChanged
215  * @tc.type: FUNC
216  */
HWTEST_F(DisplayManagerAgentProxyTest, NotifyAvailableAreaChanged, Function | SmallTest | Level1)217 HWTEST_F(DisplayManagerAgentProxyTest, NotifyAvailableAreaChanged, Function | SmallTest | Level1)
218 {
219     sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
220     sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
221 
222     DMRect rect = {2, 2, 2, 2};
223     int resultValue = 0;
224     std::function<void()> func = [&]()
225     {
226         displayManagerAgentProxy->NotifyAvailableAreaChanged(rect);
227         resultValue = 1;
228     };
229     func();
230     ASSERT_EQ(resultValue, 1);
231 }
232 
233 /**
234  * @tc.name: NotifyAvailableAreaChanged01
235  * @tc.desc: NotifyAvailableAreaChanged01
236  * @tc.type: FUNC
237  */
HWTEST_F(DisplayManagerAgentProxyTest, NotifyAvailableAreaChanged01, Function | SmallTest | Level1)238 HWTEST_F(DisplayManagerAgentProxyTest, NotifyAvailableAreaChanged01, Function | SmallTest | Level1)
239 {
240     sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
241     sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
242 
243     DMRect rect = {1, 1, 1, 1};
244     int resultValue = 0;
245     std::function<void()> func = [&]()
246     {
247         displayManagerAgentProxy->NotifyAvailableAreaChanged(rect);
248         resultValue = 1;
249     };
250     func();
251     ASSERT_EQ(resultValue, 1);
252 }
253 
254 /**
255  * @tc.name: NotifyAvailableAreaChanged02
256  * @tc.desc: NotifyAvailableAreaChanged02
257  * @tc.type: FUNC
258  */
HWTEST_F(DisplayManagerAgentProxyTest, NotifyAvailableAreaChanged02, Function | SmallTest | Level1)259 HWTEST_F(DisplayManagerAgentProxyTest, NotifyAvailableAreaChanged02, Function | SmallTest | Level1)
260 {
261     sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
262     sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
263 
264     DMRect rect = {3, 3, 3, 3};
265     int resultValue = 0;
266     std::function<void()> func = [&]()
267     {
268         displayManagerAgentProxy->NotifyAvailableAreaChanged(rect);
269         resultValue = 1;
270     };
271     func();
272     ASSERT_EQ(resultValue, 1);
273 }
274 
275 /**
276  * @tc.name: OnScreenConnect
277  * @tc.desc: OnScreenConnect
278  * @tc.type: FUNC
279  */
HWTEST_F(DisplayManagerAgentProxyTest, OnScreenConnect, Function | SmallTest | Level1)280 HWTEST_F(DisplayManagerAgentProxyTest, OnScreenConnect, Function | SmallTest | Level1)
281 {
282     sptr<ScreenInfo> screenInfo = nullptr;
283 
284     SingletonContainer::Get<ScreenManagerAdapter>().InitDMSProxy();
285     sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
286     sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
287 
288     int resultValue = 0;
289     std::function<void()> func = [&]()
290     {
291         displayManagerAgentProxy->OnScreenConnect(screenInfo);
292         resultValue = 1;
293     };
294     func();
295     ASSERT_EQ(resultValue, 1);
296 }
297 
298 /**
299  * @tc.name: OnScreenConnect01
300  * @tc.desc: OnScreenConnect01
301  * @tc.type: FUNC
302  */
HWTEST_F(DisplayManagerAgentProxyTest, OnScreenConnect01, Function | SmallTest | Level1)303 HWTEST_F(DisplayManagerAgentProxyTest, OnScreenConnect01, Function | SmallTest | Level1)
304 {
305     sptr<ScreenInfo> screenInfo = new ScreenInfo();
306 
307     SingletonContainer::Get<ScreenManagerAdapter>().InitDMSProxy();
308     sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
309     sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
310 
311     int resultValue = 0;
312     std::function<void()> func = [&]()
313     {
314         displayManagerAgentProxy->OnScreenConnect(screenInfo);
315         resultValue = 1;
316     };
317     func();
318     ASSERT_EQ(resultValue, 1);
319 }
320 
321 
322 /**
323  * @tc.name: OnScreenDisconnect
324  * @tc.desc: OnScreenDisconnect
325  * @tc.type: FUNC
326  */
HWTEST_F(DisplayManagerAgentProxyTest, OnScreenDisconnect, Function | SmallTest | Level1)327 HWTEST_F(DisplayManagerAgentProxyTest, OnScreenDisconnect, Function | SmallTest | Level1)
328 {
329     ScreenId screenId = 0;
330 
331     sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
332     sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
333 
334     int resultValue = 0;
335     std::function<void()> func = [&]()
336     {
337         displayManagerAgentProxy->OnScreenDisconnect(screenId);
338         resultValue = 1;
339     };
340     func();
341     ASSERT_EQ(resultValue, 1);
342 }
343 
344 /**
345  * @tc.name: OnScreenChange
346  * @tc.desc: OnScreenChange
347  * @tc.type: FUNC
348  */
HWTEST_F(DisplayManagerAgentProxyTest, OnScreenChange, Function | SmallTest | Level1)349 HWTEST_F(DisplayManagerAgentProxyTest, OnScreenChange, Function | SmallTest | Level1)
350 {
351     sptr<ScreenInfo> screenInfo = new ScreenInfo();
352     ScreenChangeEvent event = ScreenChangeEvent::CHANGE_MODE;
353 
354     sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
355     sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
356 
357     int resultValue = 0;
358     std::function<void()> func = [&]()
359     {
360         displayManagerAgentProxy->OnScreenChange(screenInfo, event);
361         resultValue = 1;
362     };
363     func();
364     ASSERT_EQ(resultValue, 1);
365 }
366 
367 /**
368  * @tc.name: OnScreenChange01
369  * @tc.desc: OnScreenChange01
370  * @tc.type: FUNC
371  */
HWTEST_F(DisplayManagerAgentProxyTest, OnScreenChange01, Function | SmallTest | Level1)372 HWTEST_F(DisplayManagerAgentProxyTest, OnScreenChange01, Function | SmallTest | Level1)
373 {
374     sptr<ScreenInfo> screenInfo = nullptr;
375     ScreenChangeEvent event = ScreenChangeEvent::CHANGE_MODE;
376 
377     sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
378     sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
379 
380     int resultValue = 0;
381     std::function<void()> func = [&]()
382     {
383         displayManagerAgentProxy->OnScreenChange(screenInfo, event);
384         resultValue = 1;
385     };
386     func();
387     ASSERT_EQ(resultValue, 1);
388 }
389 
390 /**
391  * @tc.name: OnScreenGroupChange
392  * @tc.desc: OnScreenGroupChange
393  * @tc.type: FUNC
394  */
HWTEST_F(DisplayManagerAgentProxyTest, OnScreenGroupChange, Function | SmallTest | Level1)395 HWTEST_F(DisplayManagerAgentProxyTest, OnScreenGroupChange, Function | SmallTest | Level1)
396 {
397     std::string trigger = " ";
398     std::vector<sptr<ScreenInfo>> screenInfos = {};
399     ScreenGroupChangeEvent event = ScreenGroupChangeEvent::CHANGE_GROUP;
400 
401     sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
402     sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
403 
404     int resultValue = 0;
405     std::function<void()> func = [&]()
406     {
407         displayManagerAgentProxy->OnScreenGroupChange(trigger, screenInfos, event);
408         resultValue = 1;
409     };
410     func();
411     ASSERT_EQ(resultValue, 1);
412 }
413 
414 /**
415  * @tc.name: OnDisplayCreate
416  * @tc.desc: OnDisplayCreate
417  * @tc.type: FUNC
418  */
HWTEST_F(DisplayManagerAgentProxyTest, OnDisplayCreate, Function | SmallTest | Level1)419 HWTEST_F(DisplayManagerAgentProxyTest, OnDisplayCreate, Function | SmallTest | Level1)
420 {
421     sptr<DisplayInfo> displayInfo = new DisplayInfo();
422 
423     sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
424     sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
425 
426     int resultValue = 0;
427     std::function<void()> func = [&]()
428     {
429         displayManagerAgentProxy->OnDisplayCreate(displayInfo);
430         resultValue = 1;
431     };
432     func();
433     ASSERT_EQ(resultValue, 1);
434 }
435 
436 /**
437  * @tc.name: OnDisplayCreate01
438  * @tc.desc: OnDisplayCreate01
439  * @tc.type: FUNC
440  */
HWTEST_F(DisplayManagerAgentProxyTest, OnDisplayCreate01, Function | SmallTest | Level1)441 HWTEST_F(DisplayManagerAgentProxyTest, OnDisplayCreate01, Function | SmallTest | Level1)
442 {
443     sptr<DisplayInfo> displayInfo = nullptr;
444 
445     sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
446     sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
447 
448     int resultValue = 0;
449     std::function<void()> func = [&]()
450     {
451         displayManagerAgentProxy->OnDisplayCreate(displayInfo);
452         resultValue = 1;
453     };
454     func();
455     ASSERT_EQ(resultValue, 1);
456 }
457 
458 /**
459  * @tc.name: OnDisplayDestroy
460  * @tc.desc: OnDisplayDestroy
461  * @tc.type: FUNC
462  */
HWTEST_F(DisplayManagerAgentProxyTest, OnDisplayDestroy, Function | SmallTest | Level1)463 HWTEST_F(DisplayManagerAgentProxyTest, OnDisplayDestroy, Function | SmallTest | Level1)
464 {
465     DisplayId displayId = 0;
466 
467     sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
468     sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
469 
470     int resultValue = 0;
471     std::function<void()> func = [&]()
472     {
473         displayManagerAgentProxy->OnDisplayDestroy(displayId);
474         resultValue = 1;
475     };
476     func();
477     ASSERT_EQ(resultValue, 1);
478 }
479 
480 /**
481  * @tc.name: OnDisplayChange
482  * @tc.desc: OnDisplayChange
483  * @tc.type: FUNC
484  */
HWTEST_F(DisplayManagerAgentProxyTest, OnDisplayChange, Function | SmallTest | Level1)485 HWTEST_F(DisplayManagerAgentProxyTest, OnDisplayChange, Function | SmallTest | Level1)
486 {
487     sptr<DisplayInfo> displayInfo = new DisplayInfo();
488     DisplayChangeEvent event = DisplayChangeEvent::DISPLAY_FREEZED;
489 
490     sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
491     sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
492 
493     int resultValue = 0;
494     std::function<void()> func = [&]()
495     {
496         displayManagerAgentProxy->OnDisplayChange(displayInfo, event);
497         resultValue = 1;
498     };
499     func();
500     ASSERT_EQ(resultValue, 1);
501 }
502 
503 /**
504  * @tc.name: OnDisplayChange01
505  * @tc.desc: OnDisplayChange01
506  * @tc.type: FUNC
507  */
HWTEST_F(DisplayManagerAgentProxyTest, OnDisplayChange01, Function | SmallTest | Level1)508 HWTEST_F(DisplayManagerAgentProxyTest, OnDisplayChange01, Function | SmallTest | Level1)
509 {
510     sptr<DisplayInfo> displayInfo = nullptr;
511     DisplayChangeEvent event = DisplayChangeEvent::DISPLAY_FREEZED;
512 
513     sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
514     sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
515 
516     int resultValue = 0;
517     std::function<void()> func = [&]()
518     {
519         displayManagerAgentProxy->OnDisplayChange(displayInfo, event);
520         resultValue = 1;
521     };
522     func();
523     ASSERT_EQ(resultValue, 1);
524 }
525 
526 
527 /**
528  * @tc.name: OnScreenshot
529  * @tc.desc: OnScreenshot
530  * @tc.type: FUNC
531  */
HWTEST_F(DisplayManagerAgentProxyTest, OnScreenshot, Function | SmallTest | Level1)532 HWTEST_F(DisplayManagerAgentProxyTest, OnScreenshot, Function | SmallTest | Level1)
533 {
534     sptr<ScreenshotInfo> snapshotInfo = new ScreenshotInfo();
535 
536     sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
537     sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
538 
539     int resultValue = 0;
540     std::function<void()> func = [&]()
541     {
542         displayManagerAgentProxy->OnScreenshot(snapshotInfo);
543         resultValue = 1;
544     };
545     func();
546     ASSERT_EQ(resultValue, 1);
547 }
548 
549 /**
550  * @tc.name: OnScreenshot01
551  * @tc.desc: OnScreenshot01
552  * @tc.type: FUNC
553  */
HWTEST_F(DisplayManagerAgentProxyTest, OnScreenshot01, Function | SmallTest | Level1)554 HWTEST_F(DisplayManagerAgentProxyTest, OnScreenshot01, Function | SmallTest | Level1)
555 {
556     sptr<ScreenshotInfo> snapshotInfo = nullptr;
557 
558     sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
559     sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
560 
561     int resultValue = 0;
562     std::function<void()> func = [&]()
563     {
564         displayManagerAgentProxy->OnScreenshot(snapshotInfo);
565         resultValue = 1;
566     };
567     func();
568     ASSERT_EQ(resultValue, 1);
569 }
570 
571 /**
572  * @tc.name: NotifyPrivateWindowStateChanged
573  * @tc.desc: NotifyPrivateWindowStateChanged
574  * @tc.type: FUNC
575  */
HWTEST_F(DisplayManagerAgentProxyTest, NotifyPrivateWindowStateChanged, Function | SmallTest | Level1)576 HWTEST_F(DisplayManagerAgentProxyTest, NotifyPrivateWindowStateChanged, Function | SmallTest | Level1)
577 {
578     bool hasPrivate = false;
579 
580     sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
581     sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
582 
583     int resultValue = 0;
584     std::function<void()> func = [&]()
585     {
586         displayManagerAgentProxy->NotifyPrivateWindowStateChanged(hasPrivate);
587         resultValue = 1;
588     };
589     func();
590     ASSERT_EQ(resultValue, 1);
591 }
592 
593 /**
594  * @tc.name: NotifyPrivateWindowStateChanged01
595  * @tc.desc: NotifyPrivateWindowStateChanged01
596  * @tc.type: FUNC
597  */
HWTEST_F(DisplayManagerAgentProxyTest, NotifyPrivateWindowStateChanged01, Function | SmallTest | Level1)598 HWTEST_F(DisplayManagerAgentProxyTest, NotifyPrivateWindowStateChanged01, Function | SmallTest | Level1)
599 {
600     bool hasPrivate = true;
601 
602     sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
603     sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
604 
605     int resultValue = 0;
606     std::function<void()> func = [&]()
607     {
608         displayManagerAgentProxy->NotifyPrivateWindowStateChanged(hasPrivate);
609         resultValue = 1;
610     };
611     func();
612     ASSERT_EQ(resultValue, 1);
613 }
614 
615 /**
616  * @tc.name: NotifyPrivateStateWindowListChanged
617  * @tc.desc: NotifyPrivateStateWindowListChanged
618  * @tc.type: FUNC
619  */
HWTEST_F(DisplayManagerAgentProxyTest, NotifyPrivateStateWindowListChanged, Function | SmallTest | Level1)620 HWTEST_F(DisplayManagerAgentProxyTest, NotifyPrivateStateWindowListChanged, Function | SmallTest | Level1)
621 {
622     SingletonContainer::Get<ScreenManagerAdapter>().InitDMSProxy();
623     DisplayId id = 0;
624     std::vector<std::string> privacyWindowList{"win0", "win1"};
625 
626     sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
627     sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
628 
629     int resultValue = 0;
630     std::function<void()> func = [&]()
631     {
632         displayManagerAgentProxy->NotifyPrivateStateWindowListChanged(id, privacyWindowList);
633         resultValue = 1;
634     };
635     func();
636     ASSERT_EQ(resultValue, 1);
637 }
638 
639 /**
640  * @tc.name: NotifyFoldStatusChanged
641  * @tc.desc: NotifyFoldStatusChanged
642  * @tc.type: FUNC
643  */
HWTEST_F(DisplayManagerAgentProxyTest, NotifyFoldStatusChanged, Function | SmallTest | Level1)644 HWTEST_F(DisplayManagerAgentProxyTest, NotifyFoldStatusChanged, Function | SmallTest | Level1)
645 {
646     sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
647     sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
648 
649     int resultValue = 0;
650     std::function<void()> func = [&]()
651     {
652         displayManagerAgentProxy->NotifyFoldStatusChanged(FoldStatus::EXPAND);
653         resultValue = 1;
654     };
655     func();
656 
657     ASSERT_EQ(resultValue, 1);
658 }
659 }
660 }
661 }