• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 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 
16 #include <gtest/gtest.h>
17 #include "window_agent.h"
18 #include "window_stub.h"
19 #include "modifier_render_thread/rs_modifiers_draw_thread.h"
20 
21 using namespace testing;
22 using namespace testing::ext;
23 namespace OHOS {
24 namespace Rosen {
25 class WindowStubTest : public testing::Test {
26 public:
27     static void SetUpTestCase();
28     static void TearDownTestCase();
29     void SetUp() override;
30     void TearDown() override;
31     sptr<WindowStub> windowStub_;
32 };
33 
SetUpTestCase()34 void WindowStubTest::SetUpTestCase() {}
35 
TearDownTestCase()36 void WindowStubTest::TearDownTestCase()
37 {
38 #ifdef RS_ENABLE_VK
39     RSModifiersDrawThread::Destroy();
40 #endif
41 }
42 
SetUp()43 void WindowStubTest::SetUp()
44 {
45     sptr<WindowOption> option = new WindowOption();
46     sptr<WindowImpl> window = new WindowImpl(option);
47     windowStub_ = new WindowAgent(window);
48 }
49 
TearDown()50 void WindowStubTest::TearDown() {}
51 
52 namespace {
53 /**
54  * @tc.name: OnRemoteRequest01
55  * @tc.desc: test InterfaceToken check failed
56  * @tc.type: FUNC
57  */
58 HWTEST_F(WindowStubTest, OnRemoteRequest01, TestSize.Level1)
59 {
60     MessageParcel data;
61     MessageParcel reply;
62     MessageOption option;
63 
64     data.WriteInterfaceToken(u"error.GetDescriptor");
65 
66     data.WriteInt32(0);
67     data.WriteInt32(0);
68     data.WriteUint32(100);
69     data.WriteUint32(100);
70 
71     data.WriteBool(false);
72 
73     data.WriteUint32(static_cast<uint32_t>(WindowSizeChangeReason::DRAG_START));
74 
75     uint32_t code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_UPDATE_WINDOW_RECT);
76 
77     int res = windowStub_->OnRemoteRequest(code, data, reply, option);
78     EXPECT_EQ(res, static_cast<int>(ERR_TRANSACTION_FAILED));
79 }
80 
81 /**
82  * @tc.name: OnRemoteRequest02
83  * @tc.desc: test TRANS_ID_UPDATE_WINDOW_RECT
84  * @tc.type: FUNC
85  */
86 HWTEST_F(WindowStubTest, OnRemoteRequest02, TestSize.Level1)
87 {
88     MessageParcel data;
89     MessageParcel reply;
90     MessageOption option;
91 
92     data.WriteInterfaceToken(WindowStub::GetDescriptor());
93 
94     data.WriteInt32(0);
95     data.WriteInt32(0);
96     data.WriteUint32(100);
97     data.WriteUint32(100);
98 
99     data.WriteBool(false);
100 
101     data.WriteUint32(static_cast<uint32_t>(WindowSizeChangeReason::DRAG_START));
102 
103     uint32_t code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_UPDATE_WINDOW_RECT);
104 
105     int res = windowStub_->OnRemoteRequest(code, data, reply, option);
106     EXPECT_EQ(res, static_cast<int>(ERR_INVALID_DATA));
107 }
108 
109 /**
110  * @tc.name: OnRemoteRequest03
111  * @tc.desc: test TRANS_ID_UPDATE_AVOID_AREA success
112  * @tc.type: FUNC
113  */
114 HWTEST_F(WindowStubTest, OnRemoteRequest03, TestSize.Level1)
115 {
116     MessageParcel data;
117     MessageParcel reply;
118     MessageOption option;
119 
120     data.WriteInterfaceToken(WindowStub::GetDescriptor());
121 
122     sptr<AvoidArea> avoidArea = new AvoidArea();
123     data.WriteStrongParcelable(avoidArea);
124 
125     data.WriteUint32(static_cast<uint32_t>(AvoidAreaType::TYPE_SYSTEM));
126 
127     uint32_t code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_UPDATE_AVOID_AREA);
128 
129     int res = windowStub_->OnRemoteRequest(code, data, reply, option);
130     EXPECT_EQ(res, 0);
131 }
132 
133 /**
134  * @tc.name: OnRemoteRequest04
135  * @tc.desc: test TRANS_ID_UPDATE_AVOID_AREA success
136  * @tc.type: FUNC
137  */
138 HWTEST_F(WindowStubTest, OnRemoteRequest04, TestSize.Level1)
139 {
140     MessageParcel data;
141     MessageParcel reply;
142     MessageOption option;
143 
144     data.WriteInterfaceToken(WindowStub::GetDescriptor());
145 
146     sptr<AvoidArea> avoidArea = new AvoidArea();
147     data.WriteStrongParcelable(avoidArea);
148 
149     uint32_t code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_UPDATE_AVOID_AREA);
150 
151     int res = windowStub_->OnRemoteRequest(code, data, reply, option);
152     EXPECT_EQ(res, static_cast<int>(ERR_INVALID_DATA));
153 }
154 
155 /**
156  * @tc.name: OnRemoteRequest05
157  * @tc.desc: test TRANS_ID_DUMP_INFO success
158  * @tc.type: FUNC
159  */
160 HWTEST_F(WindowStubTest, OnRemoteRequest05, TestSize.Level1)
161 {
162     MessageParcel data;
163     MessageParcel reply;
164     MessageOption option;
165 
166     data.WriteInterfaceToken(WindowStub::GetDescriptor());
167 
168     std::vector<std::string> params;
169     params.push_back("-a");
170     data.WriteStringVector(params);
171 
172     uint32_t code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_DUMP_INFO);
173 
174     int res = windowStub_->OnRemoteRequest(code, data, reply, option);
175     EXPECT_EQ(res, 0);
176 }
177 
178 /**
179  * @tc.name: OnRemoteRequest06
180  * @tc.desc: test TRANS_ID_DUMP_INFO failed
181  * @tc.type: FUNC
182  */
183 HWTEST_F(WindowStubTest, OnRemoteRequest06, TestSize.Level1)
184 {
185     MessageParcel data;
186     MessageParcel reply;
187     MessageOption option;
188 
189     data.WriteInterfaceToken(WindowStub::GetDescriptor());
190     data.WriteRawData(nullptr, 0);
191 
192     uint32_t code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_DUMP_INFO);
193 
194     int res = windowStub_->OnRemoteRequest(code, data, reply, option);
195     EXPECT_EQ(res, 0);
196 }
197 
198 /**
199  * @tc.name: OnRemoteRequest07
200  * @tc.desc: test TRANS_ID_NOTIFY_CLIENT_POINT_UP success
201  * @tc.type: FUNC
202  */
203 HWTEST_F(WindowStubTest, OnRemoteRequest07, TestSize.Level1)
204 {
205     MessageParcel data;
206     MessageParcel reply;
207     MessageOption option;
208 
209     data.WriteInterfaceToken(WindowStub::GetDescriptor());
210 
211     std::shared_ptr<MMI::PointerEvent> pointerEvent = MMI::PointerEvent::Create();
212     pointerEvent->WriteToParcel(data);
213 
214     uint32_t code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_NOTIFY_CLIENT_POINT_UP);
215 
216     int res = windowStub_->OnRemoteRequest(code, data, reply, option);
217     EXPECT_EQ(res, 0);
218 }
219 
220 /**
221  * @tc.name: OnRemoteRequest08
222  * @tc.desc: test TRANS_ID_NOTIFY_CLIENT_POINT_UP success
223  * @tc.type: FUNC
224  */
225 HWTEST_F(WindowStubTest, OnRemoteRequest08, TestSize.Level1)
226 {
227     MessageParcel data;
228     MessageParcel reply;
229     MessageOption option;
230 
231     data.WriteInterfaceToken(WindowStub::GetDescriptor());
232 
233     uint32_t code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_NOTIFY_CLIENT_POINT_UP);
234 
235     int res = windowStub_->OnRemoteRequest(code, data, reply, option);
236     EXPECT_EQ(res, static_cast<int>(ERR_INVALID_DATA));
237 }
238 
239 /**
240  * @tc.name: OnRemoteRequest09
241  * @tc.desc: test TRANS_ID_NOTIFY_FOREGROUND_INTERACTIVE_STATUS success
242  * @tc.type: FUNC
243  */
244 HWTEST_F(WindowStubTest, OnRemoteRequest09, TestSize.Level1)
245 {
246     MessageParcel data;
247     MessageParcel reply;
248     MessageOption option(MessageOption::TF_ASYNC);
249 
250     data.WriteInterfaceToken(WindowStub::GetDescriptor());
251     data.WriteBool(false);
252     uint32_t code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_NOTIFY_FOREGROUND_INTERACTIVE_STATUS);
253     int res = windowStub_->OnRemoteRequest(code, data, reply, option);
254     EXPECT_EQ(res, 0);
255 }
256 
257 /**
258  * @tc.name: OnRemoteRequest10
259  * @tc.desc: test TRANS_ID_NOTIFY_FOREGROUND_INTERACTIVE_STATUS success
260  * @tc.type: FUNC
261  */
262 HWTEST_F(WindowStubTest, OnRemoteRequest10, TestSize.Level1)
263 {
264     MessageParcel data;
265     MessageParcel reply;
266     MessageOption option(MessageOption::TF_ASYNC);
267     uint32_t code = 0;
268 
269     int res = windowStub_->OnRemoteRequest(code, data, reply, option);
270     EXPECT_EQ(res, static_cast<int>(ERR_TRANSACTION_FAILED));
271 }
272 
273 /**
274  * @tc.name: OnRemoteRequest11
275  * @tc.desc: test TRANS_ID_NOTIFY_FOREGROUND_INTERACTIVE_STATUS success
276  * @tc.type: FUNC
277  */
278 HWTEST_F(WindowStubTest, OnRemoteRequest11, TestSize.Level1)
279 {
280     MessageParcel data;
281     MessageParcel reply;
282     MessageOption option(MessageOption::TF_ASYNC);
283     uint32_t code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_UPDATE_WINDOW_RECT);
284     data.WriteBool(false);
285     data.WriteInterfaceToken(WindowStub::GetDescriptor());
286 
287     code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_UPDATE_WINDOW_MODE);
288     windowStub_->OnRemoteRequest(code, data, reply, option);
289     code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_UPDATE_MODE_SUPPORT_INFO);
290     windowStub_->OnRemoteRequest(code, data, reply, option);
291     code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_UPDATE_FOCUS_STATUS);
292     windowStub_->OnRemoteRequest(code, data, reply, option);
293     code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_UPDATE_AVOID_AREA);
294     windowStub_->OnRemoteRequest(code, data, reply, option);
295     uint32_t type = 1;
296     data.ReadUint32(type);
297     code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_UPDATE_WINDOW_STATE);
298     windowStub_->OnRemoteRequest(code, data, reply, option);
299     code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_UPDATE_DRAG_EVENT);
300     windowStub_->OnRemoteRequest(code, data, reply, option);
301     code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_UPDATE_DISPLAY_ID);
302     windowStub_->OnRemoteRequest(code, data, reply, option);
303     code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_UPDATE_OCCUPIED_AREA);
304     windowStub_->OnRemoteRequest(code, data, reply, option);
305     code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_UPDATE_OCCUPIED_AREA_AND_RECT);
306     windowStub_->OnRemoteRequest(code, data, reply, option);
307     code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_UPDATE_ACTIVE_STATUS);
308 
309     int res = windowStub_->OnRemoteRequest(code, data, reply, option);
310     EXPECT_NE(res, 10);
311 }
312 
313 /**
314  * @tc.name: OnRemoteRequest12
315  * @tc.desc: test TRANS_ID_NOTIFY_FOREGROUND_INTERACTIVE_STATUS success
316  * @tc.type: FUNC
317  */
318 HWTEST_F(WindowStubTest, OnRemoteRequest12, TestSize.Level1)
319 {
320     MessageParcel data;
321     MessageParcel reply;
322     MessageOption option(MessageOption::TF_ASYNC);
323     uint32_t code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_UPDATE_WINDOW_RECT);
324     data.WriteBool(false);
325     data.WriteInterfaceToken(WindowStub::GetDescriptor());
326 
327     code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_GET_WINDOW_PROPERTY);
328     windowStub_->OnRemoteRequest(code, data, reply, option);
329     code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_NOTIFY_OUTSIDE_PRESSED);
330     windowStub_->OnRemoteRequest(code, data, reply, option);
331     code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_NOTIFY_SCREEN_SHOT);
332     windowStub_->OnRemoteRequest(code, data, reply, option);
333     code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_NOTIFY_DESTROY);
334     windowStub_->OnRemoteRequest(code, data, reply, option);
335     code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_NOTIFY_FOREGROUND);
336     windowStub_->OnRemoteRequest(code, data, reply, option);
337     code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_NOTIFY_BACKGROUND);
338     windowStub_->OnRemoteRequest(code, data, reply, option);
339     code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_DUMP_INFO);
340     windowStub_->OnRemoteRequest(code, data, reply, option);
341     code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_NOTIFY_CLIENT_POINT_UP);
342     windowStub_->OnRemoteRequest(code, data, reply, option);
343     code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_UPDATE_ZOOM_TRANSFORM);
344     windowStub_->OnRemoteRequest(code, data, reply, option);
345     code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_RESTORE_SPLIT_WINDOW_MODE);
346     windowStub_->OnRemoteRequest(code, data, reply, option);
347     code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_NOTIFY_FOREGROUND_INTERACTIVE_STATUS);
348 
349     int res = windowStub_->OnRemoteRequest(code, data, reply, option);
350     EXPECT_NE(res, 10);
351 }
352 
353 /**
354  * @tc.name: OnRemoteRequest13
355  * @tc.desc: test TRANS_ID_UPDATE_WINDOW_RECT success
356  * @tc.type: FUNC
357  */
358 HWTEST_F(WindowStubTest, OnRemoteRequest13, TestSize.Level1)
359 {
360     MessageParcel data;
361     MessageParcel reply;
362     MessageOption option(MessageOption::TF_ASYNC);
363 
364     data.WriteInterfaceToken(WindowStub::GetDescriptor());
365 
366     uint32_t code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_UPDATE_WINDOW_RECT);
367     int res = windowStub_->OnRemoteRequest(code, data, reply, option);
368     EXPECT_EQ(res, static_cast<int>(ERR_INVALID_DATA));
369 }
370 
371 /**
372  * @tc.name: OnRemoteRequest14
373  * @tc.desc: test TRANS_ID_UPDATE_WINDOW_MODE success
374  * @tc.type: FUNC
375  */
376 HWTEST_F(WindowStubTest, OnRemoteRequest14, TestSize.Level1)
377 {
378     MessageParcel data;
379     MessageParcel reply;
380     MessageOption option(MessageOption::TF_ASYNC);
381 
382     data.WriteInterfaceToken(WindowStub::GetDescriptor());
383 
384     uint32_t code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_UPDATE_WINDOW_MODE);
385     int res = windowStub_->OnRemoteRequest(code, data, reply, option);
386     EXPECT_EQ(res, static_cast<int>(ERR_INVALID_DATA));
387 
388     data.WriteInterfaceToken(WindowStub::GetDescriptor());
389     data.WriteUint32(static_cast<uint32_t>(WindowMode::WINDOW_MODE_FB) + 1);
390     res = windowStub_->OnRemoteRequest(code, data, reply, option);
391     EXPECT_EQ(res, static_cast<int>(ERR_INVALID_DATA));
392 }
393 
394 /**
395  * @tc.name: OnRemoteRequest15
396  * @tc.desc: test TRANS_ID_UPDATE_MODE_SUPPORT_INFO success
397  * @tc.type: FUNC
398  */
399 HWTEST_F(WindowStubTest, OnRemoteRequest15, TestSize.Level1)
400 {
401     MessageParcel data;
402     MessageParcel reply;
403     MessageOption option(MessageOption::TF_ASYNC);
404 
405     data.WriteInterfaceToken(WindowStub::GetDescriptor());
406 
407     uint32_t code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_UPDATE_MODE_SUPPORT_INFO);
408     int res = windowStub_->OnRemoteRequest(code, data, reply, option);
409     EXPECT_EQ(res, static_cast<int>(ERR_INVALID_DATA));
410 }
411 
412 /**
413  * @tc.name: OnRemoteRequest16
414  * @tc.desc: test TRANS_ID_UPDATE_FOCUS_STATUS success
415  * @tc.type: FUNC
416  */
417 HWTEST_F(WindowStubTest, OnRemoteRequest16, TestSize.Level1)
418 {
419     MessageParcel data;
420     MessageParcel reply;
421     MessageOption option(MessageOption::TF_ASYNC);
422 
423     data.WriteInterfaceToken(WindowStub::GetDescriptor());
424 
425     uint32_t code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_UPDATE_FOCUS_STATUS);
426     int res = windowStub_->OnRemoteRequest(code, data, reply, option);
427     EXPECT_EQ(res, 0);
428 }
429 
430 /**
431  * @tc.name: OnRemoteRequest17
432  * @tc.desc: test TRANS_ID_UPDATE_AVOID_AREA success
433  * @tc.type: FUNC
434  */
435 HWTEST_F(WindowStubTest, OnRemoteRequest17, TestSize.Level1)
436 {
437     MessageParcel data;
438     MessageParcel reply;
439     MessageOption option(MessageOption::TF_ASYNC);
440 
441     data.WriteInterfaceToken(WindowStub::GetDescriptor());
442 
443     uint32_t code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_UPDATE_AVOID_AREA);
444     int res = windowStub_->OnRemoteRequest(code, data, reply, option);
445     EXPECT_EQ(res, static_cast<int>(ERR_INVALID_DATA));
446 }
447 
448 /**
449  * @tc.name: OnRemoteRequest18
450  * @tc.desc: test TRANS_ID_UPDATE_WINDOW_STATE success
451  * @tc.type: FUNC
452  */
453 HWTEST_F(WindowStubTest, OnRemoteRequest18, TestSize.Level1)
454 {
455     MessageParcel data;
456     MessageParcel reply;
457     MessageOption option(MessageOption::TF_ASYNC);
458 
459     data.WriteInterfaceToken(WindowStub::GetDescriptor());
460     data.WriteUint32(1);
461 
462     uint32_t code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_UPDATE_WINDOW_STATE);
463     int res = windowStub_->OnRemoteRequest(code, data, reply, option);
464     EXPECT_EQ(res, static_cast<int>(ERR_NONE));
465 }
466 
467 /**
468  * @tc.name: OnRemoteRequest19
469  * @tc.desc: test TRANS_ID_UPDATE_DRAG_EVENT success
470  * @tc.type: FUNC
471  */
472 HWTEST_F(WindowStubTest, OnRemoteRequest19, TestSize.Level1)
473 {
474     MessageParcel data;
475     MessageParcel reply;
476     MessageOption option(MessageOption::TF_ASYNC);
477 
478     data.WriteInterfaceToken(WindowStub::GetDescriptor());
479     data.WriteInt32(0);
480     data.WriteInt32(0);
481     data.WriteUint32(1);
482 
483     uint32_t code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_UPDATE_DRAG_EVENT);
484     int res = windowStub_->OnRemoteRequest(code, data, reply, option);
485     EXPECT_EQ(res, 0);
486 }
487 
488 /**
489  * @tc.name: OnRemoteRequest20
490  * @tc.desc: test TRANS_ID_UPDATE_DISPLAY_ID success
491  * @tc.type: FUNC
492  */
493 HWTEST_F(WindowStubTest, OnRemoteRequest20, TestSize.Level1)
494 {
495     MessageParcel data;
496     MessageParcel reply;
497     MessageOption option(MessageOption::TF_ASYNC);
498 
499     data.WriteInterfaceToken(WindowStub::GetDescriptor());
500 
501     uint32_t code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_UPDATE_DISPLAY_ID);
502     int res = windowStub_->OnRemoteRequest(code, data, reply, option);
503     EXPECT_EQ(res, static_cast<int>(ERR_INVALID_DATA));
504 }
505 
506 /**
507  * @tc.name: OnRemoteRequest21
508  * @tc.desc: test TRANS_ID_UPDATE_OCCUPIED_AREA success
509  * @tc.type: FUNC
510  */
511 HWTEST_F(WindowStubTest, OnRemoteRequest21, TestSize.Level1)
512 {
513     MessageParcel data;
514     MessageParcel reply;
515     MessageOption option(MessageOption::TF_ASYNC);
516 
517     data.WriteInterfaceToken(WindowStub::GetDescriptor());
518 
519     uint32_t code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_UPDATE_OCCUPIED_AREA);
520     int res = windowStub_->OnRemoteRequest(code, data, reply, option);
521     EXPECT_EQ(res, static_cast<int>(ERR_INVALID_DATA));
522 }
523 
524 /**
525  * @tc.name: OnRemoteRequest22
526  * @tc.desc: test TRANS_ID_UPDATE_OCCUPIED_AREA_AND_RECT success
527  * @tc.type: FUNC
528  */
529 HWTEST_F(WindowStubTest, OnRemoteRequest22, TestSize.Level1)
530 {
531     MessageParcel data;
532     MessageParcel reply;
533     MessageOption option(MessageOption::TF_ASYNC);
534 
535     data.WriteInterfaceToken(WindowStub::GetDescriptor());
536 
537     uint32_t code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_UPDATE_OCCUPIED_AREA_AND_RECT);
538     int res = windowStub_->OnRemoteRequest(code, data, reply, option);
539     EXPECT_EQ(res, static_cast<int>(ERR_INVALID_DATA));
540 }
541 
542 /**
543  * @tc.name: OnRemoteRequest23
544  * @tc.desc: test TRANS_ID_UPDATE_ACTIVE_STATUS success
545  * @tc.type: FUNC
546  */
547 HWTEST_F(WindowStubTest, OnRemoteRequest23, TestSize.Level1)
548 {
549     MessageParcel data;
550     MessageParcel reply;
551     MessageOption option(MessageOption::TF_ASYNC);
552 
553     data.WriteInterfaceToken(WindowStub::GetDescriptor());
554 
555     uint32_t code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_UPDATE_ACTIVE_STATUS);
556     int res = windowStub_->OnRemoteRequest(code, data, reply, option);
557     EXPECT_EQ(res, 0);
558 }
559 
560 /**
561  * @tc.name: OnRemoteRequest24
562  * @tc.desc: test TRANS_ID_GET_WINDOW_PROPERTY success
563  * @tc.type: FUNC
564  */
565 HWTEST_F(WindowStubTest, OnRemoteRequest24, TestSize.Level1)
566 {
567     MessageParcel data;
568     MessageParcel reply;
569     MessageOption option(MessageOption::TF_ASYNC);
570 
571     data.WriteInterfaceToken(WindowStub::GetDescriptor());
572 
573     uint32_t code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_GET_WINDOW_PROPERTY);
574     int res = windowStub_->OnRemoteRequest(code, data, reply, option);
575     EXPECT_EQ(res, 0);
576 }
577 
578 /**
579  * @tc.name: OnRemoteRequest25
580  * @tc.desc: test TRANS_ID_NOTIFY_OUTSIDE_PRESSED success
581  * @tc.type: FUNC
582  */
583 HWTEST_F(WindowStubTest, OnRemoteRequest25, TestSize.Level1)
584 {
585     MessageParcel data;
586     MessageParcel reply;
587     MessageOption option(MessageOption::TF_ASYNC);
588 
589     data.WriteInterfaceToken(WindowStub::GetDescriptor());
590 
591     uint32_t code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_NOTIFY_OUTSIDE_PRESSED);
592     int res = windowStub_->OnRemoteRequest(code, data, reply, option);
593     EXPECT_EQ(res, 0);
594 }
595 
596 /**
597  * @tc.name: OnRemoteRequest26
598  * @tc.desc: test TRANS_ID_NOTIFY_SCREEN_SHOT success
599  * @tc.type: FUNC
600  */
601 HWTEST_F(WindowStubTest, OnRemoteRequest26, TestSize.Level1)
602 {
603     MessageParcel data;
604     MessageParcel reply;
605     MessageOption option(MessageOption::TF_ASYNC);
606 
607     data.WriteInterfaceToken(WindowStub::GetDescriptor());
608 
609     uint32_t code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_NOTIFY_SCREEN_SHOT);
610     int res = windowStub_->OnRemoteRequest(code, data, reply, option);
611     EXPECT_EQ(res, 0);
612 }
613 
614 /**
615  * @tc.name: OnRemoteRequest_TRANS_ID_NOTIFY_SCREEN_SHOT
616  * @tc.desc: test TRANS_ID_NOTIFY_SCREEN_SHOT
617  * @tc.type: FUNC
618  */
619 HWTEST_F(WindowStubTest, OnRemoteRequest_TRANS_ID_NOTIFY_SCREEN_SHOT, TestSize.Level1)
620 {
621     MessageParcel data;
622     MessageParcel reply;
623     MessageOption option(MessageOption::TF_ASYNC);
624 
625     data.WriteInterfaceToken(WindowStub::GetDescriptor());
626 
627     uint32_t code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_NOTIFY_SCREEN_SHOT_APP_EVENT);
628     int res = windowStub_->OnRemoteRequest(code, data, reply, option);
629     EXPECT_EQ(res, ERR_INVALID_DATA);
630 
631     data.WriteInt32(0);
632     data.WriteInterfaceToken(WindowStub::GetDescriptor());
633     code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_NOTIFY_SCREEN_SHOT_APP_EVENT);
634     res = windowStub_->OnRemoteRequest(code, data, reply, option);
635     EXPECT_EQ(res, ERR_TRANSACTION_FAILED);
636 }
637 
638 /**
639  * @tc.name: OnRemoteRequest27
640  * @tc.desc: test TRANS_ID_NOTIFY_DESTROY success
641  * @tc.type: FUNC
642  */
643 HWTEST_F(WindowStubTest, OnRemoteRequest27, TestSize.Level1)
644 {
645     MessageParcel data;
646     MessageParcel reply;
647     MessageOption option(MessageOption::TF_ASYNC);
648 
649     data.WriteInterfaceToken(WindowStub::GetDescriptor());
650 
651     uint32_t code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_NOTIFY_DESTROY);
652     int res = windowStub_->OnRemoteRequest(code, data, reply, option);
653     EXPECT_EQ(res, 0);
654 }
655 
656 /**
657  * @tc.name: OnRemoteRequest28
658  * @tc.desc: test TRANS_ID_NOTIFY_FOREGROUND success
659  * @tc.type: FUNC
660  */
661 HWTEST_F(WindowStubTest, OnRemoteRequest28, TestSize.Level1)
662 {
663     MessageParcel data;
664     MessageParcel reply;
665     MessageOption option(MessageOption::TF_ASYNC);
666 
667     data.WriteInterfaceToken(WindowStub::GetDescriptor());
668 
669     uint32_t code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_NOTIFY_FOREGROUND);
670     int res = windowStub_->OnRemoteRequest(code, data, reply, option);
671     EXPECT_EQ(res, 0);
672 }
673 
674 /**
675  * @tc.name: OnRemoteRequest29
676  * @tc.desc: test TRANS_ID_NOTIFY_BACKGROUND success
677  * @tc.type: FUNC
678  */
679 HWTEST_F(WindowStubTest, OnRemoteRequest29, TestSize.Level1)
680 {
681     MessageParcel data;
682     MessageParcel reply;
683     MessageOption option(MessageOption::TF_ASYNC);
684 
685     data.WriteInterfaceToken(WindowStub::GetDescriptor());
686 
687     uint32_t code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_NOTIFY_BACKGROUND);
688     int res = windowStub_->OnRemoteRequest(code, data, reply, option);
689     EXPECT_EQ(res, 0);
690 }
691 
692 /**
693  * @tc.name: OnRemoteRequest30
694  * @tc.desc: test TRANS_ID_DUMP_INFO success
695  * @tc.type: FUNC
696  */
697 HWTEST_F(WindowStubTest, OnRemoteRequest30, TestSize.Level1)
698 {
699     MessageParcel data;
700     MessageParcel reply;
701     MessageOption option(MessageOption::TF_ASYNC);
702 
703     data.WriteInterfaceToken(WindowStub::GetDescriptor());
704 
705     uint32_t code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_DUMP_INFO);
706     int res = windowStub_->OnRemoteRequest(code, data, reply, option);
707     EXPECT_EQ(res, 0);
708 }
709 
710 /**
711  * @tc.name: OnRemoteRequest31
712  * @tc.desc: test TRANS_ID_NOTIFY_CLIENT_POINT_UP success
713  * @tc.type: FUNC
714  */
715 HWTEST_F(WindowStubTest, OnRemoteRequest31, TestSize.Level1)
716 {
717     MessageParcel data;
718     MessageParcel reply;
719     MessageOption option(MessageOption::TF_ASYNC);
720 
721     data.WriteInterfaceToken(WindowStub::GetDescriptor());
722 
723     uint32_t code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_NOTIFY_CLIENT_POINT_UP);
724     int res = windowStub_->OnRemoteRequest(code, data, reply, option);
725     EXPECT_EQ(res, static_cast<int>(ERR_INVALID_DATA));
726 }
727 
728 /**
729  * @tc.name: OnRemoteRequest32
730  * @tc.desc: test TRANS_ID_UPDATE_ZOOM_TRANSFORM success
731  * @tc.type: FUNC
732  */
733 HWTEST_F(WindowStubTest, OnRemoteRequest32, TestSize.Level1)
734 {
735     MessageParcel data;
736     MessageParcel reply;
737     MessageOption option(MessageOption::TF_ASYNC);
738 
739     data.WriteInterfaceToken(WindowStub::GetDescriptor());
740 
741     uint32_t code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_UPDATE_ZOOM_TRANSFORM);
742     int res = windowStub_->OnRemoteRequest(code, data, reply, option);
743     EXPECT_EQ(res, 0);
744 }
745 
746 /**
747  * @tc.name: OnRemoteRequest33
748  * @tc.desc: test TRANS_ID_RESTORE_SPLIT_WINDOW_MODE success
749  * @tc.type: FUNC
750  */
751 HWTEST_F(WindowStubTest, OnRemoteRequest33, TestSize.Level1)
752 {
753     MessageParcel data;
754     MessageParcel reply;
755     MessageOption option(MessageOption::TF_ASYNC);
756 
757     data.WriteInterfaceToken(WindowStub::GetDescriptor());
758 
759     uint32_t code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_RESTORE_SPLIT_WINDOW_MODE);
760     int res = windowStub_->OnRemoteRequest(code, data, reply, option);
761     EXPECT_EQ(res, static_cast<int>(ERR_INVALID_DATA));
762 }
763 
764 /**
765  * @tc.name: OnRemoteRequest34
766  * @tc.desc: test TRANS_ID_CONSUME_KEY_EVENT success
767  * @tc.type: FUNC
768  */
769 HWTEST_F(WindowStubTest, OnRemoteRequest34, TestSize.Level1)
770 {
771     MessageParcel data;
772     MessageParcel reply;
773     MessageOption option(MessageOption::TF_ASYNC);
774 
775     data.WriteInterfaceToken(WindowStub::GetDescriptor());
776 
777     uint32_t code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_CONSUME_KEY_EVENT);
778     int res = windowStub_->OnRemoteRequest(code, data, reply, option);
779     EXPECT_EQ(res, static_cast<int>(ERR_INVALID_DATA));
780 }
781 
782 /**
783  * @tc.name: OnRemoteRequest35
784  * @tc.desc: test TRANS_ID_NOTIFY_FOREGROUND_INTERACTIVE_STATUS success
785  * @tc.type: FUNC
786  */
787 HWTEST_F(WindowStubTest, OnRemoteRequest35, TestSize.Level1)
788 {
789     MessageParcel data;
790     MessageParcel reply;
791     MessageOption option(MessageOption::TF_ASYNC);
792 
793     data.WriteInterfaceToken(WindowStub::GetDescriptor());
794 
795     uint32_t code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_NOTIFY_FOREGROUND_INTERACTIVE_STATUS);
796     int res = windowStub_->OnRemoteRequest(code, data, reply, option);
797     EXPECT_EQ(res, 0);
798 }
799 
800 /**
801  * @tc.name: OnRemoteRequest36
802  * @tc.desc: test TRANS_ID_UPDATE_DRAG_EVENT fail
803  * @tc.type: FUNC
804  */
805 HWTEST_F(WindowStubTest, OnRemoteRequest36, TestSize.Level1)
806 {
807     MessageParcel data;
808     MessageParcel reply;
809     MessageOption option(MessageOption::TF_ASYNC);
810 
811     data.WriteInterfaceToken(WindowStub::GetDescriptor());
812     data.WriteInt32(0);
813     data.WriteInt32(0);
814     data.WriteUint32(100);
815 
816     uint32_t code = static_cast<uint32_t>(IWindow::WindowMessage::TRANS_ID_UPDATE_DRAG_EVENT);
817     int res = windowStub_->OnRemoteRequest(code, data, reply, option);
818     EXPECT_EQ(res, 5);
819 }
820 } // namespace
821 } // namespace Rosen
822 } // namespace OHOS
823