1 /*
2 * Copyright (c) 2024 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16 #include <gtest/gtest.h>
17 #include "avsession_log.h"
18 #include "avsession_descriptor.h"
19 #include "avsession_errors.h"
20 #include "accesstoken_kit.h"
21 #include "token_setproc.h"
22
23 #define private public
24 #define protected public
25 #include "avsession_service_stub.h"
26 #undef protected
27 #undef private
28
29 using namespace testing::ext;
30 using namespace OHOS::Security::AccessToken;
31 using namespace OHOS::AVSession;
32
33 static uint64_t g_selfTokenId = 0;
34 static HapInfoParams g_info = {
35 .userID = 100,
36 .bundleName = "ohos.permission_test.demo",
37 .instIndex = 0,
38 .appIDDesc = "ohos.permission_test.demo",
39 .isSystemApp = true
40 };
41
42 static HapPolicyParams g_policy = {
43 .apl = APL_NORMAL,
44 .domain = "test.domain",
45 .permList = {
46 {
47 .bundleName = "ohos.permission_test.demo",
48 .grantMode = 1,
49 .availableLevel = APL_NORMAL,
50 .label = "label",
51 .labelId = 1,
52 .description = "test",
53 .descriptionId = 1
54 }
55 },
56 .permStateList = {
57 {
58 .isGeneral = true,
59 .resDeviceID = {"local"},
60 .grantStatus = {PermissionState::PERMISSION_GRANTED},
61 .grantFlags = {1}
62 }
63 }
64 };
65
66 class AVSessionServiceStubTest : public testing::Test {
67 public:
68 static void SetUpTestCase();
69 static void TearDownTestCase();
70 void SetUp() override;
71 void TearDown() override;
72 };
73
SetUpTestCase()74 void AVSessionServiceStubTest::SetUpTestCase()
75 {
76 g_selfTokenId = OHOS::IPCSkeleton::GetSelfTokenID();
77 AccessTokenKit::AllocHapToken(g_info, g_policy);
78 AccessTokenIDEx tokenID = AccessTokenKit::GetHapTokenIDEx(g_info.userID, g_info.bundleName, g_info.instIndex);
79 SetSelfTokenID(tokenID.tokenIDEx);
80 }
81
TearDownTestCase()82 void AVSessionServiceStubTest::TearDownTestCase()
83 {
84 SetSelfTokenID(g_selfTokenId);
85 auto tokenId = AccessTokenKit::GetHapTokenID(g_info.userID, g_info.bundleName, g_info.instIndex);
86 AccessTokenKit::DeleteToken(tokenId);
87 }
88
SetUp()89 void AVSessionServiceStubTest::SetUp()
90 {
91 }
92
TearDown()93 void AVSessionServiceStubTest::TearDown()
94 {
95 }
96
97 class AVSessionServiceStubPerDemo : public AVSessionServiceStub {
98 public:
CreateSessionInner(const std::string & tag,int32_t type,const OHOS::AppExecFwk::ElementName & elementName)99 OHOS::sptr<IRemoteObject> CreateSessionInner(const std::string &tag, int32_t type,
100 const OHOS::AppExecFwk::ElementName &elementName) override { return nullptr; };
CreateSessionInner(const std::string & tag,int32_t type,const OHOS::AppExecFwk::ElementName & elementName,OHOS::sptr<IRemoteObject> & session)101 int32_t CreateSessionInner(const std::string &tag, int32_t type, const OHOS::AppExecFwk::ElementName &elementName,
102 OHOS::sptr<IRemoteObject> &session) override { return 0; };
GetAllSessionDescriptors(std::vector<AVSessionDescriptor> & descriptors)103 int32_t GetAllSessionDescriptors(std::vector<AVSessionDescriptor> &descriptors) override { return 0; };
GetSessionDescriptorsBySessionId(const std::string & sessionId,AVSessionDescriptor & descriptor)104 int32_t GetSessionDescriptorsBySessionId(const std::string &sessionId,
105 AVSessionDescriptor &descriptor) override { return isSuccess ? AVSESSION_SUCCESS : AVSESSION_ERROR; };
GetHistoricalSessionDescriptors(int32_t maxSize,std::vector<AVSessionDescriptor> & descriptors)106 int32_t GetHistoricalSessionDescriptors(int32_t maxSize, std::vector<AVSessionDescriptor> &descriptors) override
107 {
108 return 0;
109 };
SendSystemAVKeyEvent(const OHOS::MMI::KeyEvent & keyEvent,const OHOS::AAFwk::Want & wantParam)110 int32_t SendSystemAVKeyEvent(const OHOS::MMI::KeyEvent& keyEvent, const OHOS::AAFwk::Want &wantParam) override
111 {
112 return 0;
113 };
GetHistoricalAVQueueInfos(int32_t maxSize,int32_t maxAppSize,std::vector<AVQueueInfo> & avQueueInfos)114 int32_t GetHistoricalAVQueueInfos(int32_t maxSize, int32_t maxAppSize,
115 std::vector<AVQueueInfo> &avQueueInfos) override { return 0; };
StartAVPlayback(const std::string & bundleName,const std::string & assetId)116 int32_t StartAVPlayback(const std::string &bundleName, const std::string &assetId) override { return 0; };
CreateControllerInner(const std::string & sessionId,OHOS::sptr<IRemoteObject> & object)117 int32_t CreateControllerInner(const std::string &sessionId, OHOS::sptr<IRemoteObject> &object) override
118 {
119 return isSuccess ? AVSESSION_SUCCESS : AVSESSION_ERROR;
120 };
RegisterSessionListener(const OHOS::sptr<ISessionListener> & listener)121 int32_t RegisterSessionListener(const OHOS::sptr<ISessionListener> &listener) override { return 0; };
RegisterSessionListenerForAllUsers(const OHOS::sptr<ISessionListener> & listener)122 int32_t RegisterSessionListenerForAllUsers(const OHOS::sptr<ISessionListener> &listener) override { return 0; };
SendSystemAVKeyEvent(const OHOS::MMI::KeyEvent & keyEvent)123 int32_t SendSystemAVKeyEvent(const OHOS::MMI::KeyEvent &keyEvent) override { return 0; };
SendSystemControlCommand(const AVControlCommand & command)124 int32_t SendSystemControlCommand(const AVControlCommand &command) override { return 0; };
RegisterClientDeathObserver(const OHOS::sptr<IClientDeath> & observer)125 int32_t RegisterClientDeathObserver(const OHOS::sptr<IClientDeath> &observer) override { return 0; };
CastAudio(const SessionToken & token,const std::vector<OHOS::AudioStandard::AudioDeviceDescriptor> & descriptors)126 int32_t CastAudio(const SessionToken &token,
127 const std::vector<OHOS::AudioStandard::AudioDeviceDescriptor> &descriptors) override { return 0; };
CastAudioForAll(const std::vector<OHOS::AudioStandard::AudioDeviceDescriptor> & descriptors)128 int32_t CastAudioForAll(const std::vector<OHOS::AudioStandard::AudioDeviceDescriptor> &descriptors) override
129 {
130 return 0;
131 };
ProcessCastAudioCommand(const RemoteServiceCommand command,const std::string & input,std::string & output)132 int32_t ProcessCastAudioCommand(const RemoteServiceCommand command, const std::string &input,
133 std::string &output) override { return isSuccess ? AVSESSION_SUCCESS : AVSESSION_ERROR; };
134 #ifdef CASTPLUS_CAST_ENGINE_ENABLE
GetAVCastControllerInner(const std::string & sessionId,OHOS::sptr<IRemoteObject> & object)135 int32_t GetAVCastControllerInner(const std::string &sessionId, OHOS::sptr<IRemoteObject> &object) override
136 {
137 return 0;
138 };
StartCast(const SessionToken & sessionToken,const OutputDeviceInfo & outputDeviceInfo)139 int32_t StartCast(const SessionToken &sessionToken, const OutputDeviceInfo &outputDeviceInfo) override
140 {
141 return 0;
142 };
StopCast(const SessionToken & sessionToken)143 int32_t StopCast(const SessionToken &sessionToken) override { return 0; };
checkEnableCast(bool enable)144 int32_t checkEnableCast(bool enable) override { return 0; };
145 #endif
146
Close()147 int32_t Close() override { return 0; };
GetDistributedSessionControllersInner(const DistributedSessionType & sessionType,std::vector<OHOS::sptr<IRemoteObject>> & sessionControllers)148 int32_t GetDistributedSessionControllersInner(const DistributedSessionType& sessionType,
149 std::vector<OHOS::sptr<IRemoteObject>>& sessionControllers) override { return 0; };
150 bool isSuccess = true;
151 };
152
153 /**
154 * @tc.name: OnRemoteRequest001
155 * @tc.desc: Test OnRemoteRequest
156 * @tc.type: FUNC
157 */
158 static HWTEST_F(AVSessionServiceStubTest, OnRemoteRequest001, TestSize.Level1)
159 {
160 SLOGI("OnRemoteRequest001 begin!");
161 uint32_t code = 1;
162 AVSessionServiceStubPerDemo avsessionservicestub;
163 OHOS::MessageParcel data;
164 data.WriteInterfaceToken(IAVSessionService::GetDescriptor());
165 data.WriteString("test");
166 OHOS::MessageParcel reply;
167 OHOS::MessageOption option;
168 int ret = avsessionservicestub.OnRemoteRequest(code, data, reply, option);
169 EXPECT_EQ(ret, OHOS::ERR_NONE);
170 SLOGI("OnRemoteRequest001 end!");
171 }
172
173 /**
174 * @tc.name: OnRemoteRequest002
175 * @tc.desc: Test OnRemoteRequest
176 * @tc.type: FUNC
177 */
178 static HWTEST_F(AVSessionServiceStubTest, OnRemoteRequest002, TestSize.Level1)
179 {
180 SLOGI("OnRemoteRequest002 begin!");
181 uint32_t code = 2;
182 AVSessionServiceStubPerDemo avsessionservicestub;
183 OHOS::MessageParcel data;
184 data.WriteInterfaceToken(IAVSessionService::GetDescriptor());
185 data.WriteString("test");
186 OHOS::MessageParcel reply;
187 OHOS::MessageOption option;
188 int ret = avsessionservicestub.OnRemoteRequest(code, data, reply, option);
189 EXPECT_EQ(ret, OHOS::ERR_NONE);
190 SLOGI("OnRemoteRequest002 end!");
191 }
192
193 /**
194 * @tc.name: OnRemoteRequest003
195 * @tc.desc: Test OnRemoteRequest
196 * @tc.type: FUNC
197 */
198 static HWTEST_F(AVSessionServiceStubTest, OnRemoteRequest003, TestSize.Level1)
199 {
200 SLOGI("OnRemoteRequest003 begin!");
201 uint32_t code = 3;
202 AVSessionServiceStubPerDemo avsessionservicestub;
203 OHOS::MessageParcel data;
204 data.WriteInterfaceToken(IAVSessionService::GetDescriptor());
205 data.WriteString("test");
206 OHOS::MessageParcel reply;
207 OHOS::MessageOption option;
208 int ret = avsessionservicestub.OnRemoteRequest(code, data, reply, option);
209 EXPECT_EQ(ret, OHOS::ERR_NONE);
210 SLOGI("OnRemoteRequest003 end!");
211 }
212
213 /**
214 * @tc.name: OnRemoteRequest004
215 * @tc.desc: Test OnRemoteRequest
216 * @tc.type: FUNC
217 */
218 static HWTEST_F(AVSessionServiceStubTest, OnRemoteRequest004, TestSize.Level1)
219 {
220 SLOGI("OnRemoteRequest004 begin!");
221 uint32_t code = 4;
222 AVSessionServiceStubPerDemo avsessionservicestub;
223 OHOS::MessageParcel data;
224 data.WriteInterfaceToken(IAVSessionService::GetDescriptor());
225 data.WriteString("test");
226 OHOS::MessageParcel reply;
227 OHOS::MessageOption option;
228 int ret = avsessionservicestub.OnRemoteRequest(code, data, reply, option);
229 EXPECT_EQ(ret, OHOS::ERR_NONE);
230 SLOGI("OnRemoteRequest004 end!");
231 }
232
233 /**
234 * @tc.name: OnRemoteRequest005
235 * @tc.desc: Test OnRemoteRequest
236 * @tc.type: FUNC
237 */
238 static HWTEST_F(AVSessionServiceStubTest, OnRemoteRequest005, TestSize.Level1)
239 {
240 SLOGI("OnRemoteRequest005 begin!");
241 uint32_t code = 5;
242 AVSessionServiceStubPerDemo avsessionservicestub;
243 OHOS::MessageParcel data;
244 data.WriteInterfaceToken(IAVSessionService::GetDescriptor());
245 data.WriteString("test");
246 OHOS::MessageParcel reply;
247 OHOS::MessageOption option;
248 int ret = avsessionservicestub.OnRemoteRequest(code, data, reply, option);
249 EXPECT_EQ(ret, OHOS::ERR_NONE);
250 SLOGI("OnRemoteRequest005 end!");
251 }
252
253 /**
254 * @tc.name: OnRemoteRequest006
255 * @tc.desc: Test OnRemoteRequest
256 * @tc.type: FUNC
257 */
258 static HWTEST_F(AVSessionServiceStubTest, OnRemoteRequest006, TestSize.Level1)
259 {
260 SLOGI("OnRemoteRequest006 begin!");
261 uint32_t code = 6;
262 AVSessionServiceStubPerDemo avsessionservicestub;
263 OHOS::MessageParcel data;
264 data.WriteInterfaceToken(IAVSessionService::GetDescriptor());
265 data.WriteString("test");
266 OHOS::MessageParcel reply;
267 OHOS::MessageOption option;
268 int ret = avsessionservicestub.OnRemoteRequest(code, data, reply, option);
269 EXPECT_EQ(ret, OHOS::ERR_NONE);
270 SLOGI("OnRemoteRequest006 end!");
271 }
272
273 /**
274 * @tc.name: OnRemoteRequest007
275 * @tc.desc: Test OnRemoteRequest
276 * @tc.type: FUNC
277 */
278 static HWTEST_F(AVSessionServiceStubTest, OnRemoteRequest007, TestSize.Level1)
279 {
280 SLOGI("OnRemoteRequest007 begin!");
281 uint32_t code = 7;
282 AVSessionServiceStubPerDemo avsessionservicestub;
283 OHOS::MessageParcel data;
284 data.WriteInterfaceToken(IAVSessionService::GetDescriptor());
285 data.WriteString("test");
286 OHOS::MessageParcel reply;
287 OHOS::MessageOption option;
288 int ret = avsessionservicestub.OnRemoteRequest(code, data, reply, option);
289 EXPECT_EQ(ret, OHOS::ERR_NONE);
290 SLOGI("OnRemoteRequest007 end!");
291 }
292
293 /**
294 * @tc.name: OnRemoteRequest008
295 * @tc.desc: Test OnRemoteRequest
296 * @tc.type: FUNC
297 */
298 static HWTEST_F(AVSessionServiceStubTest, OnRemoteRequest008, TestSize.Level1)
299 {
300 SLOGI("OnRemoteRequest008 begin!");
301 uint32_t code = 8;
302 AVSessionServiceStubPerDemo avsessionservicestub;
303 OHOS::MessageParcel data;
304 data.WriteInterfaceToken(IAVSessionService::GetDescriptor());
305 data.WriteString("test");
306 OHOS::MessageParcel reply;
307 OHOS::MessageOption option;
308 int ret = avsessionservicestub.OnRemoteRequest(code, data, reply, option);
309 EXPECT_EQ(ret, OHOS::ERR_NONE);
310 SLOGI("OnRemoteRequest008 end!");
311 }
312
313 /**
314 * @tc.name: OnRemoteRequest009
315 * @tc.desc: Test OnRemoteRequest
316 * @tc.type: FUNC
317 */
318 static HWTEST_F(AVSessionServiceStubTest, OnRemoteRequest009, TestSize.Level1)
319 {
320 SLOGI("OnRemoteRequest009 begin!");
321 uint32_t code = 9;
322 AVSessionServiceStubPerDemo avsessionservicestub;
323 OHOS::MessageParcel data;
324 data.WriteInterfaceToken(IAVSessionService::GetDescriptor());
325 data.WriteString("test");
326 OHOS::MessageParcel reply;
327 OHOS::MessageOption option;
328 int ret = avsessionservicestub.OnRemoteRequest(code, data, reply, option);
329 EXPECT_EQ(ret, OHOS::ERR_NONE);
330 SLOGI("OnRemoteRequest009 end!");
331 }
332
333 /**
334 * @tc.name: OnRemoteRequest010
335 * @tc.desc: Test OnRemoteRequest
336 * @tc.type: FUNC
337 */
338 static HWTEST_F(AVSessionServiceStubTest, OnRemoteRequest010, TestSize.Level1)
339 {
340 SLOGI("OnRemoteRequest010 begin!");
341 uint32_t code = 10;
342 AVSessionServiceStubPerDemo avsessionservicestub;
343 OHOS::MessageParcel data;
344 data.WriteInterfaceToken(IAVSessionService::GetDescriptor());
345 data.WriteString("test");
346 OHOS::MessageParcel reply;
347 OHOS::MessageOption option;
348 int ret = avsessionservicestub.OnRemoteRequest(code, data, reply, option);
349 EXPECT_EQ(ret, OHOS::ERR_NONE);
350 SLOGI("OnRemoteRequest010 end!");
351 }
352
353 /**
354 * @tc.name: OnRemoteRequest011
355 * @tc.desc: Test OnRemoteRequest
356 * @tc.type: FUNC
357 */
358 static HWTEST_F(AVSessionServiceStubTest, OnRemoteRequest011, TestSize.Level1)
359 {
360 SLOGI("OnRemoteRequest011 begin!");
361 uint32_t code = 12;
362 AVSessionServiceStubPerDemo avsessionservicestub;
363 OHOS::MessageParcel data;
364 data.WriteInterfaceToken(IAVSessionService::GetDescriptor());
365 data.WriteString("test");
366 OHOS::MessageParcel reply;
367 OHOS::MessageOption option;
368 int ret = avsessionservicestub.OnRemoteRequest(code, data, reply, option);
369 EXPECT_EQ(ret, OHOS::ERR_NONE);
370 SLOGI("OnRemoteRequest011 end!");
371 }
372
373 /**
374 * @tc.name: OnRemoteRequest012
375 * @tc.desc: Test OnRemoteRequest
376 * @tc.type: FUNC
377 */
378 static HWTEST_F(AVSessionServiceStubTest, OnRemoteRequest012, TestSize.Level1)
379 {
380 SLOGI("OnRemoteRequest012 begin!");
381 uint32_t code = 12;
382 AVSessionServiceStubPerDemo avsessionservicestub;
383 OHOS::MessageParcel data;
384 data.WriteInterfaceToken(IAVSessionService::GetDescriptor());
385 data.WriteString("test");
386 data.WriteInt32(100);
387 OHOS::MessageParcel reply;
388 OHOS::MessageOption option;
389 int ret = avsessionservicestub.OnRemoteRequest(code, data, reply, option);
390 EXPECT_EQ(ret, OHOS::ERR_NONE);
391 SLOGI("OnRemoteRequest012 end!");
392 }
393
394 /**
395 * @tc.name: OnRemoteRequest013
396 * @tc.desc: Test OnRemoteRequest
397 * @tc.type: FUNC
398 */
399 static HWTEST_F(AVSessionServiceStubTest, OnRemoteRequest013, TestSize.Level1)
400 {
401 SLOGI("OnRemoteRequest013 begin!");
402 uint32_t code = 12;
403 AVSessionServiceStubPerDemo avsessionservicestub;
404 OHOS::MessageParcel data;
405 data.WriteInterfaceToken(IAVSessionService::GetDescriptor());
406 data.WriteString("test");
407 data.WriteInt32(1);
408
409 OHOS::MessageParcel reply;
410 OHOS::MessageOption option;
411 int ret = avsessionservicestub.OnRemoteRequest(code, data, reply, option);
412 EXPECT_EQ(ret, OHOS::ERR_NONE);
413 SLOGI("OnRemoteRequest013 end!");
414 }
415
416 /**
417 * @tc.name: OnRemoteRequest014
418 * @tc.desc: Test OnRemoteRequest
419 * @tc.type: FUNC
420 */
421 static HWTEST_F(AVSessionServiceStubTest, OnRemoteRequest014, TestSize.Level1)
422 {
423 SLOGI("OnRemoteRequest014 begin!");
424 uint32_t code = 13;
425 AVSessionServiceStubPerDemo avsessionservicestub;
426 OHOS::MessageParcel data;
427 data.WriteInterfaceToken(IAVSessionService::GetDescriptor());
428 data.WriteString("test");
429 OHOS::MessageParcel reply;
430 OHOS::MessageOption option;
431 int ret = avsessionservicestub.OnRemoteRequest(code, data, reply, option);
432 EXPECT_EQ(ret, OHOS::ERR_NONE);
433 SLOGI("OnRemoteRequest014 end!");
434 }
435
436 /**
437 * @tc.name: OnRemoteRequest015
438 * @tc.desc: Test OnRemoteRequest
439 * @tc.type: FUNC
440 */
441 static HWTEST_F(AVSessionServiceStubTest, OnRemoteRequest015, TestSize.Level1)
442 {
443 SLOGI("OnRemoteRequest015 begin!");
444 uint32_t code = 13;
445 AVSessionServiceStubPerDemo avsessionservicestub;
446 OHOS::MessageParcel data;
447 data.WriteInterfaceToken(IAVSessionService::GetDescriptor());
448 data.WriteString("");
449 data.WriteInt32(100);
450 OHOS::MessageParcel reply;
451 OHOS::MessageOption option;
452 int ret = avsessionservicestub.OnRemoteRequest(code, data, reply, option);
453 EXPECT_EQ(ret, OHOS::ERR_NONE);
454 SLOGI("OnRemoteRequest015 end!");
455 }
456
457 /**
458 * @tc.name: OnRemoteRequest016
459 * @tc.desc: Test OnRemoteRequest
460 * @tc.type: FUNC
461 */
462 static HWTEST_F(AVSessionServiceStubTest, OnRemoteRequest016, TestSize.Level1)
463 {
464 SLOGI("OnRemoteRequest016 begin!");
465 uint32_t code = 13;
466 AVSessionServiceStubPerDemo avsessionservicestub;
467 OHOS::MessageParcel data;
468 data.WriteInterfaceToken(IAVSessionService::GetDescriptor());
469 data.WriteString("");
470 data.WriteInt32(1);
471 OHOS::MessageParcel reply;
472 OHOS::MessageOption option;
473 int ret = avsessionservicestub.OnRemoteRequest(code, data, reply, option);
474 EXPECT_EQ(ret, OHOS::ERR_NONE);
475 SLOGI("OnRemoteRequest016 end!");
476 }
477
478 /**
479 * @tc.name: OnRemoteRequest017
480 * @tc.desc: Test OnRemoteRequest
481 * @tc.type: FUNC
482 */
483 static HWTEST_F(AVSessionServiceStubTest, OnRemoteRequest017, TestSize.Level1)
484 {
485 SLOGI("OnRemoteRequest017 begin!");
486 uint32_t code = 14;
487 AVSessionServiceStubPerDemo avsessionservicestub;
488 OHOS::MessageParcel data;
489 data.WriteInterfaceToken(IAVSessionService::GetDescriptor());
490 data.WriteString("test");
491 OHOS::MessageParcel reply;
492 OHOS::MessageOption option;
493 int ret = avsessionservicestub.OnRemoteRequest(code, data, reply, option);
494 EXPECT_EQ(ret, OHOS::ERR_NONE);
495 SLOGI("OnRemoteRequest017 end!");
496 }
497
498 /**
499 * @tc.name: OnRemoteRequest018
500 * @tc.desc: Test OnRemoteRequest
501 * @tc.type: FUNC
502 */
503 static HWTEST_F(AVSessionServiceStubTest, OnRemoteRequest018, TestSize.Level1)
504 {
505 SLOGI("OnRemoteRequest018 begin!");
506 uint32_t code = 15;
507 AVSessionServiceStubPerDemo avsessionservicestub;
508 OHOS::MessageParcel data;
509 data.WriteInterfaceToken(IAVSessionService::GetDescriptor());
510 data.WriteString("test");
511 OHOS::MessageParcel reply;
512 OHOS::MessageOption option;
513 int ret = avsessionservicestub.OnRemoteRequest(code, data, reply, option);
514 EXPECT_EQ(ret, OHOS::ERR_NONE);
515 SLOGI("OnRemoteRequest018 end!");
516 }
517
518 /**
519 * @tc.name: OnRemoteRequest019
520 * @tc.desc: Test OnRemoteRequest
521 * @tc.type: FUNC
522 */
523 static HWTEST_F(AVSessionServiceStubTest, OnRemoteRequest019, TestSize.Level1)
524 {
525 SLOGI("OnRemoteRequest019 begin!");
526 uint32_t code = 16;
527 AVSessionServiceStubPerDemo avsessionservicestub;
528 OHOS::MessageParcel data;
529 data.WriteInterfaceToken(IAVSessionService::GetDescriptor());
530 data.WriteString("test");
531 OHOS::MessageParcel reply;
532 OHOS::MessageOption option;
533 int ret = avsessionservicestub.OnRemoteRequest(code, data, reply, option);
534 EXPECT_EQ(ret, OHOS::ERR_NONE);
535 SLOGI("OnRemoteRequest019 end!");
536 }
537
538 #ifndef CASTPLUS_CAST_ENGINE_ENABLE
539 /**
540 * @tc.name: OnRemoteRequest020
541 * @tc.desc: Test OnRemoteRequest
542 * @tc.type: FUNC
543 */
544 static HWTEST_F(AVSessionServiceStubTest, OnRemoteRequest020, TestSize.Level1)
545 {
546 SLOGI("OnRemoteRequest020 begin!");
547 uint32_t code = 17;
548 AVSessionServiceStubPerDemo avsessionservicestub;
549 OHOS::MessageParcel data;
550 data.WriteInterfaceToken(IAVSessionService::GetDescriptor());
551 data.WriteString("test");
552 data.WriteBool(true);
553 OHOS::MessageParcel reply;
554 OHOS::MessageOption option;
555 int ret = avsessionservicestub.OnRemoteRequest(code, data, reply, option);
556 EXPECT_EQ(ret, OHOS::ERR_NONE);
557 SLOGI("OnRemoteRequest020 end!");
558 }
559
560 /**
561 * @tc.name: OnRemoteRequest021
562 * @tc.desc: Test OnRemoteRequest
563 * @tc.type: FUNC
564 */
565 static HWTEST_F(AVSessionServiceStubTest, OnRemoteRequest021, TestSize.Level1)
566 {
567 SLOGI("OnRemoteRequest021 begin!");
568 uint32_t code = 18;
569 AVSessionServiceStubPerDemo avsessionservicestub;
570 OHOS::MessageParcel data;
571 data.WriteInterfaceToken(IAVSessionService::GetDescriptor());
572 data.WriteString("test");
573 data.WriteBool(true);
574 OHOS::MessageParcel reply;
575 OHOS::MessageOption option;
576 int ret = avsessionservicestub.OnRemoteRequest(code, data, reply, option);
577 EXPECT_EQ(ret, OHOS::ERR_NONE);
578 SLOGI("OnRemoteRequest021 end!");
579 }
580
581 /**
582 * @tc.name: OnRemoteRequest022
583 * @tc.desc: Test OnRemoteRequest
584 * @tc.type: FUNC
585 */
586 static HWTEST_F(AVSessionServiceStubTest, OnRemoteRequest022, TestSize.Level1)
587 {
588 SLOGI("OnRemoteRequest022 begin!");
589 uint32_t code = 19;
590 AVSessionServiceStubPerDemo avsessionservicestub;
591 OHOS::MessageParcel data;
592 data.WriteInterfaceToken(IAVSessionService::GetDescriptor());
593 data.WriteString("test");
594 data.WriteBool(true);
595 OHOS::MessageParcel reply;
596 OHOS::MessageOption option;
597 int ret = avsessionservicestub.OnRemoteRequest(code, data, reply, option);
598 EXPECT_EQ(ret, OHOS::ERR_NONE);
599 SLOGI("OnRemoteRequest022 end!");
600 }
601 #endif
602 /**
603 * @tc.name: OnRemoteRequest023
604 * @tc.desc: Test OnRemoteRequest
605 * @tc.type: FUNC
606 */
607 static HWTEST_F(AVSessionServiceStubTest, OnRemoteRequest023, TestSize.Level1)
608 {
609 SLOGI("OnRemoteRequest023 begin!");
610 uint32_t code = 20;
611 AVSessionServiceStubPerDemo avsessionservicestub;
612 OHOS::MessageParcel data;
613 data.WriteInterfaceToken(IAVSessionService::GetDescriptor());
614 data.WriteString("test");
615 OHOS::MessageParcel reply;
616 OHOS::MessageOption option;
617 int ret = avsessionservicestub.OnRemoteRequest(code, data, reply, option);
618 EXPECT_EQ(ret, OHOS::ERR_NONE);
619 SLOGI("OnRemoteRequest023 end!");
620 }
621
622 /**
623 * @tc.name: OnRemoteRequest024
624 * @tc.desc: Test OnRemoteRequest
625 * @tc.type: FUNC
626 */
627 static HWTEST_F(AVSessionServiceStubTest, OnRemoteRequest024, TestSize.Level1)
628 {
629 SLOGI("OnRemoteRequest024 begin!");
630 uint32_t code = static_cast<uint32_t>(OHOS::AVSession::AvsessionSeviceInterfaceCode::SERVICE_CMD_START_CAST);
631 AVSessionServiceStubPerDemo avsessionservicestub;
632 OHOS::MessageParcel data;
633 data.WriteInterfaceToken(IAVSessionService::GetDescriptor());
634 data.WriteString("test");
635 OHOS::MessageParcel reply;
636 OHOS::MessageOption option;
637 int ret = avsessionservicestub.OnRemoteRequest(code, data, reply, option);
638 EXPECT_EQ(ret, OHOS::ERR_NONE);
639 SLOGI("OnRemoteRequest024 end!");
640 }
641
642 /**
643 * @tc.name: HandleCreateSessionInner_001
644 * @tc.desc: Test HandleCreateSessionInner with CreateSessionInner returning AVSESSION_SUCCESS.
645 * @tc.type: FUNC
646 * @tc.require: #I5Y4MZ
647 */
648 static HWTEST_F(AVSessionServiceStubTest, HandleCreateSessionInner_001, TestSize.Level1)
649 {
650 SLOGD("HandleCreateSessionInner_001 begin!");
651 OHOS::MessageParcel data;
652 OHOS::MessageParcel reply;
653 std::string sessionTag = "TestSessionTag";
654 int32_t sessionType = 1;
655 OHOS::AppExecFwk::ElementName elementName;
656 elementName.SetBundleName("TestBundleName");
657 std::u16string interfaceToken = u"AVSessionService";
658 data.WriteInterfaceToken(interfaceToken);
659 data.WriteString(sessionTag);
660 data.WriteInt32(sessionType);
661 data.WriteParcelable(&elementName);
662 AVSessionServiceStubPerDemo stub;
663 int32_t result = stub.HandleCreateSessionInner(data, reply);
664 EXPECT_EQ(result, OHOS::ERR_NONE);
665 SLOGD("HandleCreateSessionInner_001 end!");
666 }
667
668 /**
669 * @tc.name: AVSessionServiceStub_HandleStartCast_001
670 * @tc.desc: Test HandleStartCast with deviceInfoSize over RECEIVE_DEVICE_NUM_MAX.
671 * @tc.type: FUNC
672 * @tc.require: #I5Y4MZ
673 */
674 HWTEST_F(AVSessionServiceStubTest, AVSessionServiceStub_HandleStartCast_001, TestSize.Level1)
675 {
676 SLOGD("AVSessionServiceStub_HandleStartCast_001 begin!");
677 OHOS::MessageParcel data;
678 OHOS::MessageParcel reply;
679 data.WriteString("TestSessionId");
680 data.WriteInt32(1234);
681 data.WriteInt32(5678);
682 data.WriteInt32(AVSessionServiceStubPerDemo::RECEIVE_DEVICE_NUM_MAX + 1);
683 AVSessionServiceStubPerDemo stub;
684 int32_t result = stub.HandleStartCast(data, reply);
685 EXPECT_EQ(result, OHOS::ERR_NONE);
686 EXPECT_EQ(reply.ReadInt32(), ERR_PERMISSION_DENIED);
687 SLOGD("AVSessionServiceStub_HandleStartCast_001 end!");
688 }
689
690 /**
691 * @tc.name: AVSessionServiceStub_HandleStartCast_002
692 * @tc.desc: Test HandleStartCast with CheckBeforeHandleStartCast returning false.
693 * @tc.type: FUNC
694 * @tc.require: #I5Y4MZ
695 */
696 HWTEST_F(AVSessionServiceStubTest, AVSessionServiceStub_HandleStartCast_002, TestSize.Level1)
697 {
698 SLOGD("AVSessionServiceStub_HandleStartCast_002 begin!");
699 OHOS::MessageParcel data;
700 OHOS::MessageParcel reply;
701 data.WriteString("TestSessionId");
702 data.WriteInt32(1234);
703 data.WriteInt32(5678);
704 data.WriteInt32(1);
705 AVSessionServiceStubPerDemo stub;
706 stub.isSuccess = false;
707 int32_t result = stub.HandleStartCast(data, reply);
708 EXPECT_EQ(result, OHOS::ERR_NONE);
709 EXPECT_EQ(reply.ReadInt32(), ERR_PERMISSION_DENIED);
710 SLOGD("AVSessionServiceStub_HandleStartCast_002 end!");
711 }
712
713 /**
714 * @tc.name: AVSessionServiceStub_HandleStartCast_003
715 * @tc.desc: Test HandleStartCast with CheckBeforeHandleStartCast returning true.
716 * @tc.type: FUNC
717 * @tc.require: #I5Y4MZ
718 */
719 HWTEST_F(AVSessionServiceStubTest, AVSessionServiceStub_HandleStartCast_003, TestSize.Level1)
720 {
721 SLOGD("AVSessionServiceStub_HandleStartCast_003 begin!");
722 OHOS::MessageParcel data;
723 OHOS::MessageParcel reply;
724 data.WriteString("TestSessionId");
725 data.WriteInt32(1234);
726 data.WriteInt32(5678);
727 data.WriteInt32(1);
728 AVSessionServiceStubPerDemo stub;
729 stub.isSuccess = true;
730 int32_t result = stub.HandleStartCast(data, reply);
731 EXPECT_EQ(result, OHOS::ERR_NONE);
732 EXPECT_EQ(reply.ReadInt32(), ERR_PERMISSION_DENIED);
733 SLOGD("AVSessionServiceStub_HandleStartCast_003 end!");
734 }
735
736 /**
737 * @tc.name: AVSessionServiceStub_HandleStopCast_001
738 * @tc.desc: Test HandleStopCast with CheckPermission returning non-ERR_NONE.
739 * @tc.type: FUNC
740 * @tc.require: #I5Y4MZ
741 */
742 HWTEST_F(AVSessionServiceStubTest, AVSessionServiceStub_HandleStopCast_001, TestSize.Level1)
743 {
744 SLOGD("AVSessionServiceStub_HandleStopCast_001 begin!");
745 OHOS::MessageParcel data;
746 OHOS::MessageParcel reply;
747 data.WriteString("TestSessionId");
748 data.WriteInt32(1234);
749 data.WriteInt32(5678);
750 AVSessionServiceStubPerDemo stub;
751 int32_t result = stub.HandleStopCast(data, reply);
752 EXPECT_EQ(result, OHOS::ERR_NONE);
753 SLOGD("AVSessionServiceStub_HandleStopCast_001 end!");
754 }
755
756 /**
757 * @tc.name: AVSessionServiceStub_HandleStopDeviceLogging_001
758 * @tc.desc: Test HandleStopDeviceLogging with CheckPermission returning non-ERR_NONE.
759 * @tc.type: FUNC
760 * @tc.require: #I5Y4MZ
761 */
762 HWTEST_F(AVSessionServiceStubTest, AVSessionServiceStub_HandleStopDeviceLogging_001, TestSize.Level1)
763 {
764 SLOGD("AVSessionServiceStub_HandleStopDeviceLogging_001 begin!");
765 OHOS::MessageParcel data;
766 OHOS::MessageParcel reply;
767 AVSessionServiceStubPerDemo stub;
768 int32_t result = stub.HandleStopDeviceLogging(data, reply);
769 EXPECT_EQ(result, OHOS::ERR_NONE);
770 SLOGD("AVSessionServiceStub_HandleStopDeviceLogging_001 end!");
771 }