• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2025 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 "audio_errors.h"
18 #include "policy_provider_stub.h"
19 #include "audio_service.h"
20 
21 using namespace testing::ext;
22 
23 namespace OHOS {
24 namespace AudioStandard {
25 
26 class MockPolicyProvider : public IPolicyProvider {
27 public:
MockPolicyProvider()28     MockPolicyProvider() {};
~MockPolicyProvider()29     ~MockPolicyProvider() {};
30 
31     int32_t GetProcessDeviceInfo(const AudioProcessConfig &config, bool lockFlag,
32         AudioDeviceDescriptor &deviceInfo) override;
33 
34     int32_t InitSharedVolume(std::shared_ptr<AudioSharedMemory> &buffer) override;
35 
36     int32_t SetWakeUpAudioCapturerFromAudioServer(const AudioProcessConfig &config) override;
37 
38     int32_t NotifyCapturerAdded(AudioCapturerInfo capturerInfo, AudioStreamInfo streamInfo,
39         uint32_t sessionId) override;
40 
41     int32_t NotifyWakeUpCapturerRemoved() override;
42 
43     bool IsAbsVolumeSupported() override;
44 
45     int32_t OffloadGetRenderPosition(uint32_t &delayValue, uint64_t &sendDataSize, uint32_t &timeStamp) override;
46 
47     int32_t GetAndSaveClientType(uint32_t uid, const std::string &bundleName) override;
48 
49     int32_t GetMaxRendererInstances() override;
50 
51     int32_t ActivateConcurrencyFromServer(AudioPipeType incomingPipe) override;
52 
53     int32_t NotifyCapturerRemoved(uint64_t sessionId) override;
54 
55     int32_t SetDefaultOutputDevice(const DeviceType defaultOutputDevice, const uint32_t sessionID,
56         const StreamUsage streamUsage, bool isRunning) override;
57 
58     int32_t LoadModernInnerCapSink(int32_t innerCapId) override;
59 
60     int32_t UnloadModernInnerCapSink(int32_t innerCapId) override;
61 
62     std::shared_ptr<AudioSharedMemory> policyVolumeMap_ = nullptr;
63 };
64 
GetProcessDeviceInfo(const AudioProcessConfig & config,bool lockFlag,AudioDeviceDescriptor & deviceInfo)65 int32_t MockPolicyProvider::GetProcessDeviceInfo(const AudioProcessConfig &config, bool lockFlag,
66     AudioDeviceDescriptor &deviceInfo)
67 {
68     return SUCCESS;
69 }
70 
InitSharedVolume(std::shared_ptr<AudioSharedMemory> & buffer)71 int32_t MockPolicyProvider::InitSharedVolume(std::shared_ptr<AudioSharedMemory> &buffer)
72 {
73     return SUCCESS;
74 }
75 
SetWakeUpAudioCapturerFromAudioServer(const AudioProcessConfig & config)76 int32_t MockPolicyProvider::SetWakeUpAudioCapturerFromAudioServer(const AudioProcessConfig &config)
77 {
78     return SUCCESS;
79 }
80 
NotifyCapturerAdded(AudioCapturerInfo capturerInfo,AudioStreamInfo streamInfo,uint32_t sessionId)81 int32_t MockPolicyProvider::NotifyCapturerAdded(AudioCapturerInfo capturerInfo, AudioStreamInfo streamInfo,
82     uint32_t sessionId)
83 {
84     return SUCCESS;
85 }
86 
NotifyWakeUpCapturerRemoved()87 int32_t MockPolicyProvider::NotifyWakeUpCapturerRemoved()
88 {
89     return SUCCESS;
90 }
91 
IsAbsVolumeSupported()92 bool MockPolicyProvider::IsAbsVolumeSupported()
93 {
94     return SUCCESS;
95 }
96 
OffloadGetRenderPosition(uint32_t & delayValue,uint64_t & sendDataSize,uint32_t & timeStamp)97 int32_t MockPolicyProvider::OffloadGetRenderPosition(uint32_t &delayValue, uint64_t &sendDataSize, uint32_t &timeStamp)
98 {
99     return SUCCESS;
100 }
101 
GetAndSaveClientType(uint32_t uid,const std::string & bundleName)102 int32_t MockPolicyProvider::GetAndSaveClientType(uint32_t uid, const std::string &bundleName)
103 {
104     return SUCCESS;
105 }
106 
GetMaxRendererInstances()107 int32_t MockPolicyProvider::GetMaxRendererInstances()
108 {
109     return SUCCESS;
110 }
111 
ActivateConcurrencyFromServer(AudioPipeType incomingPipe)112 int32_t MockPolicyProvider::ActivateConcurrencyFromServer(AudioPipeType incomingPipe)
113 {
114     return SUCCESS;
115 }
116 
NotifyCapturerRemoved(uint64_t sessionId)117 int32_t MockPolicyProvider::NotifyCapturerRemoved(uint64_t sessionId)
118 {
119     return SUCCESS;
120 }
121 
SetDefaultOutputDevice(const DeviceType defaultOutputDevice,const uint32_t sessionID,const StreamUsage streamUsage,bool isRunning)122 int32_t MockPolicyProvider::SetDefaultOutputDevice(const DeviceType defaultOutputDevice, const uint32_t sessionID,
123     const StreamUsage streamUsage, bool isRunning)
124 {
125     return SUCCESS;
126 }
LoadModernInnerCapSink(int32_t innerCapId)127 int32_t MockPolicyProvider::LoadModernInnerCapSink(int32_t innerCapId)
128 {
129     return SUCCESS;
130 }
131 
UnloadModernInnerCapSink(int32_t innerCapId)132 int32_t MockPolicyProvider::UnloadModernInnerCapSink(int32_t innerCapId)
133 {
134     return SUCCESS;
135 }
136 
137 class PolicyProviderStubUnitTest : public ::testing::Test {
138 public:
139     void SetUp();
140     void TearDown();
141 };
142 
SetUp(void)143 void PolicyProviderStubUnitTest::SetUp(void)
144 {
145     // input testcase setup step,setup invoked before each testcases
146 }
147 
TearDown(void)148 void PolicyProviderStubUnitTest::TearDown(void)
149 {
150     // input testcase teardown step,teardown invoked after each testcases
151 }
152 
153 /**
154  * @tc.name  : Test PolicyProviderStub.
155  * @tc.type  : FUNC
156  * @tc.number: PolicyProviderStub_001
157  * @tc.desc  : Test PolicyProviderStub::OnRemoteRequest().
158  */
159 HWTEST_F(PolicyProviderStubUnitTest, PolicyProviderStub_001, TestSize.Level1)
160 {
161     MockPolicyProvider mockProvider;
162     auto policyProviderStub = std::make_shared<PolicyProviderWrapper>(&mockProvider);
163     EXPECT_NE(policyProviderStub, nullptr);
164 
165     uint32_t code = IPolicyProviderIpc::IPolicyProviderMsg::GET_DEVICE_INFO;
166     MessageParcel data;
167     MessageParcel reply;
168     MessageOption option;
169 
170     data.WriteInterfaceToken(IPolicyProviderIpc::GetDescriptor());
171 
172     bool ret = policyProviderStub->CheckInterfaceToken(data);
173 
174     EXPECT_EQ(ret, true);
175 
176     ret = policyProviderStub->OnRemoteRequest(code, data, reply, option);
177     EXPECT_EQ(ret, true);
178 }
179 
180 /**
181  * @tc.name  : Test PolicyProviderStub.
182  * @tc.type  : FUNC
183  * @tc.number: PolicyProviderStub_002
184  * @tc.desc  : Test PolicyProviderStub::OnRemoteRequest().
185  */
186 HWTEST_F(PolicyProviderStubUnitTest, PolicyProviderStub_002, TestSize.Level1)
187 {
188     MockPolicyProvider mockProvider;
189     auto policyProviderStub = std::make_shared<PolicyProviderWrapper>(&mockProvider);
190     EXPECT_NE(policyProviderStub, nullptr);
191 
192     uint32_t code = IPolicyProviderIpc::IPolicyProviderMsg::INIT_VOLUME_MAP;
193     MessageParcel data;
194     MessageParcel reply;
195     MessageOption option;
196 
197     data.WriteInterfaceToken(IPolicyProviderIpc::GetDescriptor());
198 
199     bool ret = policyProviderStub->CheckInterfaceToken(data);
200 
201     EXPECT_EQ(ret, true);
202 
203     ret = policyProviderStub->OnRemoteRequest(code, data, reply, option);
204     EXPECT_EQ(ret, true);
205 }
206 
207 /**
208  * @tc.name  : Test PolicyProviderStub.
209  * @tc.type  : FUNC
210  * @tc.number: PolicyProviderStub_003
211  * @tc.desc  : Test PolicyProviderStub::OnRemoteRequest().
212  */
213 HWTEST_F(PolicyProviderStubUnitTest, PolicyProviderStub_003, TestSize.Level1)
214 {
215     MockPolicyProvider mockProvider;
216     auto policyProviderStub = std::make_shared<PolicyProviderWrapper>(&mockProvider);
217     EXPECT_NE(policyProviderStub, nullptr);
218 
219     uint32_t code = IPolicyProviderIpc::IPolicyProviderMsg::SET_WAKEUP_ADUIO_CAPTURER;
220     MessageParcel data;
221     MessageParcel reply;
222     MessageOption option;
223 
224     data.WriteInterfaceToken(IPolicyProviderIpc::GetDescriptor());
225 
226     bool ret = policyProviderStub->CheckInterfaceToken(data);
227 
228     EXPECT_EQ(ret, true);
229 
230     ret = policyProviderStub->OnRemoteRequest(code, data, reply, option);
231     EXPECT_EQ(ret, true);
232 }
233 
234 /**
235  * @tc.name  : Test PolicyProviderStub.
236  * @tc.type  : FUNC
237  * @tc.number: PolicyProviderStub_004
238  * @tc.desc  : Test PolicyProviderStub::OnRemoteRequest().
239  */
240 HWTEST_F(PolicyProviderStubUnitTest, PolicyProviderStub_004, TestSize.Level1)
241 {
242     MockPolicyProvider mockProvider;
243     auto policyProviderStub = std::make_shared<PolicyProviderWrapper>(&mockProvider);
244     EXPECT_NE(policyProviderStub, nullptr);
245 
246     uint32_t code = IPolicyProviderIpc::IPolicyProviderMsg::SET_AUDIO_CAPTURER;
247     MessageParcel data;
248     MessageParcel reply;
249     MessageOption option;
250 
251     data.WriteInterfaceToken(IPolicyProviderIpc::GetDescriptor());
252 
253     bool ret = policyProviderStub->CheckInterfaceToken(data);
254 
255     EXPECT_EQ(ret, true);
256 
257     ret = policyProviderStub->OnRemoteRequest(code, data, reply, option);
258     EXPECT_EQ(ret, true);
259 }
260 
261 /**
262  * @tc.name  : Test PolicyProviderStub.
263  * @tc.type  : FUNC
264  * @tc.number: PolicyProviderStub_005
265  * @tc.desc  : Test PolicyProviderStub::OnRemoteRequest().
266  */
267 HWTEST_F(PolicyProviderStubUnitTest, PolicyProviderStub_005, TestSize.Level1)
268 {
269     MockPolicyProvider mockProvider;
270     auto policyProviderStub = std::make_shared<PolicyProviderWrapper>(&mockProvider);
271     EXPECT_NE(policyProviderStub, nullptr);
272 
273     uint32_t code = IPolicyProviderIpc::IPolicyProviderMsg::REMOVE_WAKEUP_CAPUTER;
274     MessageParcel data;
275     MessageParcel reply;
276     MessageOption option;
277 
278     data.WriteInterfaceToken(IPolicyProviderIpc::GetDescriptor());
279 
280     bool ret = policyProviderStub->CheckInterfaceToken(data);
281 
282     EXPECT_EQ(ret, true);
283 
284     ret = policyProviderStub->OnRemoteRequest(code, data, reply, option);
285     EXPECT_EQ(ret, true);
286 }
287 
288 /**
289  * @tc.name  : Test PolicyProviderStub.
290  * @tc.type  : FUNC
291  * @tc.number: PolicyProviderStub_006
292  * @tc.desc  : Test PolicyProviderStub::OnRemoteRequest().
293  */
294 HWTEST_F(PolicyProviderStubUnitTest, PolicyProviderStub_006, TestSize.Level1)
295 {
296     MockPolicyProvider mockProvider;
297     auto policyProviderStub = std::make_shared<PolicyProviderWrapper>(&mockProvider);
298     EXPECT_NE(policyProviderStub, nullptr);
299 
300     uint32_t code = IPolicyProviderIpc::IPolicyProviderMsg::IS_ABS_VOLUME_SUPPORTED;
301     MessageParcel data;
302     MessageParcel reply;
303     MessageOption option;
304 
305     data.WriteInterfaceToken(IPolicyProviderIpc::GetDescriptor());
306 
307     bool ret = policyProviderStub->CheckInterfaceToken(data);
308 
309     EXPECT_EQ(ret, true);
310 
311     ret = policyProviderStub->OnRemoteRequest(code, data, reply, option);
312     EXPECT_EQ(ret, true);
313 }
314 
315 /**
316  * @tc.name  : Test PolicyProviderStub.
317  * @tc.type  : FUNC
318  * @tc.number: PolicyProviderStub_007
319  * @tc.desc  : Test PolicyProviderStub::OnRemoteRequest().
320  */
321 HWTEST_F(PolicyProviderStubUnitTest, PolicyProviderStub_007, TestSize.Level1)
322 {
323     MockPolicyProvider mockProvider;
324     auto policyProviderStub = std::make_shared<PolicyProviderWrapper>(&mockProvider);
325     EXPECT_NE(policyProviderStub, nullptr);
326 
327     uint32_t code = IPolicyProviderIpc::IPolicyProviderMsg::OFFLOAD_GET_RENDER_POSITION;
328     MessageParcel data;
329     MessageParcel reply;
330     MessageOption option;
331 
332     data.WriteInterfaceToken(IPolicyProviderIpc::GetDescriptor());
333 
334     bool ret = policyProviderStub->CheckInterfaceToken(data);
335 
336     EXPECT_EQ(ret, true);
337 
338     ret = policyProviderStub->OnRemoteRequest(code, data, reply, option);
339     EXPECT_EQ(ret, true);
340 }
341 
342 /**
343  * @tc.name  : Test PolicyProviderStub.
344  * @tc.type  : FUNC
345  * @tc.number: PolicyProviderStub_008
346  * @tc.desc  : Test PolicyProviderStub::OnRemoteRequest().
347  */
348 HWTEST_F(PolicyProviderStubUnitTest, PolicyProviderStub_008, TestSize.Level1)
349 {
350     MockPolicyProvider mockProvider;
351     auto policyProviderStub = std::make_shared<PolicyProviderWrapper>(&mockProvider);
352     EXPECT_NE(policyProviderStub, nullptr);
353 
354     uint32_t code = IPolicyProviderIpc::IPolicyProviderMsg::GET_AND_SAVE_CLIENT_TYPE;
355     MessageParcel data;
356     MessageParcel reply;
357     MessageOption option;
358 
359     data.WriteInterfaceToken(IPolicyProviderIpc::GetDescriptor());
360 
361     bool ret = policyProviderStub->CheckInterfaceToken(data);
362 
363     EXPECT_EQ(ret, true);
364 
365     ret = policyProviderStub->OnRemoteRequest(code, data, reply, option);
366     EXPECT_EQ(ret, true);
367 }
368 
369 /**
370  * @tc.name  : Test PolicyProviderStub.
371  * @tc.type  : FUNC
372  * @tc.number: PolicyProviderStub_009
373  * @tc.desc  : Test PolicyProviderStub::OnRemoteRequest().
374  */
375 HWTEST_F(PolicyProviderStubUnitTest, PolicyProviderStub_009, TestSize.Level1)
376 {
377     MockPolicyProvider mockProvider;
378     auto policyProviderStub = std::make_shared<PolicyProviderWrapper>(&mockProvider);
379     EXPECT_NE(policyProviderStub, nullptr);
380 
381     uint32_t code = IPolicyProviderIpc::IPolicyProviderMsg::GET_MAX_RENDERER_INSTANCES;
382     MessageParcel data;
383     MessageParcel reply;
384     MessageOption option;
385 
386     data.WriteInterfaceToken(IPolicyProviderIpc::GetDescriptor());
387 
388     bool ret = policyProviderStub->CheckInterfaceToken(data);
389 
390     EXPECT_EQ(ret, true);
391 
392     ret = policyProviderStub->OnRemoteRequest(code, data, reply, option);
393     EXPECT_EQ(ret, true);
394 }
395 
396 /**
397  * @tc.name  : Test PolicyProviderStub.
398  * @tc.type  : FUNC
399  * @tc.number: PolicyProviderStub_010
400  * @tc.desc  : Test PolicyProviderStub::OnRemoteRequest().
401  */
402 HWTEST_F(PolicyProviderStubUnitTest, PolicyProviderStub_010, TestSize.Level1)
403 {
404     MockPolicyProvider mockProvider;
405     auto policyProviderStub = std::make_shared<PolicyProviderWrapper>(&mockProvider);
406     EXPECT_NE(policyProviderStub, nullptr);
407 
408     uint32_t code = IPolicyProviderIpc::IPolicyProviderMsg::ACTIVATE_CONCURRENCY_FROM_SERVER;
409     MessageParcel data;
410     MessageParcel reply;
411     MessageOption option;
412 
413     data.WriteInterfaceToken(IPolicyProviderIpc::GetDescriptor());
414 
415     bool ret = policyProviderStub->CheckInterfaceToken(data);
416 
417     EXPECT_EQ(ret, true);
418 
419     ret = policyProviderStub->OnRemoteRequest(code, data, reply, option);
420     EXPECT_EQ(ret, true);
421 }
422 
423 /**
424  * @tc.name  : Test PolicyProviderStub.
425  * @tc.type  : FUNC
426  * @tc.number: PolicyProviderStub_011
427  * @tc.desc  : Test PolicyProviderStub::OnRemoteRequest().
428  */
429 HWTEST_F(PolicyProviderStubUnitTest, PolicyProviderStub_011, TestSize.Level1)
430 {
431     MockPolicyProvider mockProvider;
432     auto policyProviderStub = std::make_shared<PolicyProviderWrapper>(&mockProvider);
433     EXPECT_NE(policyProviderStub, nullptr);
434 
435     uint32_t code = IPolicyProviderIpc::IPolicyProviderMsg::REMOVE_AUDIO_CAPTURER;
436     MessageParcel data;
437     MessageParcel reply;
438     MessageOption option;
439 
440     data.WriteInterfaceToken(IPolicyProviderIpc::GetDescriptor());
441 
442     bool ret = policyProviderStub->CheckInterfaceToken(data);
443 
444     EXPECT_EQ(ret, true);
445 
446     ret = policyProviderStub->OnRemoteRequest(code, data, reply, option);
447     EXPECT_EQ(ret, true);
448 }
449 
450 /**
451  * @tc.name  : Test PolicyProviderStub.
452  * @tc.type  : FUNC
453  * @tc.number: PolicyProviderStub_012
454  * @tc.desc  : Test PolicyProviderStub::OnRemoteRequest().
455  */
456 HWTEST_F(PolicyProviderStubUnitTest, PolicyProviderStub_012, TestSize.Level1)
457 {
458     MockPolicyProvider mockProvider;
459     auto policyProviderStub = std::make_shared<PolicyProviderWrapper>(&mockProvider);
460     EXPECT_NE(policyProviderStub, nullptr);
461 
462     uint32_t code = IPolicyProviderIpc::IPolicyProviderMsg::SET_DEFAULT_OUTPUT_DEVICE;
463     MessageParcel data;
464     MessageParcel reply;
465     MessageOption option;
466 
467     data.WriteInterfaceToken(IPolicyProviderIpc::GetDescriptor());
468 
469     bool ret = policyProviderStub->CheckInterfaceToken(data);
470 
471     EXPECT_EQ(ret, true);
472 
473     ret = policyProviderStub->OnRemoteRequest(code, data, reply, option);
474     EXPECT_EQ(ret, true);
475 }
476 
477 /**
478  * @tc.name  : Test PolicyProviderStub.
479  * @tc.type  : FUNC
480  * @tc.number: PolicyProviderStub_013
481  * @tc.desc  : Test PolicyProviderStub::OnRemoteRequest().
482  */
483 HWTEST_F(PolicyProviderStubUnitTest, PolicyProviderStub_013, TestSize.Level1)
484 {
485     MockPolicyProvider mockProvider;
486     auto policyProviderStub = std::make_shared<PolicyProviderWrapper>(&mockProvider);
487     EXPECT_NE(policyProviderStub, nullptr);
488 
489     uint32_t code = IPolicyProviderIpc::IPolicyProviderMsg::LOAD_MODERN_INNER_CAPTURE_SINK;
490     MessageParcel data;
491     MessageParcel reply;
492     MessageOption option;
493 
494     data.WriteInterfaceToken(IPolicyProviderIpc::GetDescriptor());
495 
496     bool ret = policyProviderStub->CheckInterfaceToken(data);
497 
498     EXPECT_EQ(ret, true);
499 
500     ret = policyProviderStub->OnRemoteRequest(code, data, reply, option);
501     EXPECT_EQ(ret, true);
502 }
503 
504 /**
505  * @tc.name  : Test PolicyProviderStub.
506  * @tc.type  : FUNC
507  * @tc.number: PolicyProviderStub_014
508  * @tc.desc  : Test PolicyProviderStub::OnRemoteRequest().
509  */
510 HWTEST_F(PolicyProviderStubUnitTest, PolicyProviderStub_014, TestSize.Level1)
511 {
512     MockPolicyProvider mockProvider;
513     auto policyProviderStub = std::make_shared<PolicyProviderWrapper>(&mockProvider);
514     EXPECT_NE(policyProviderStub, nullptr);
515 
516     uint32_t code = IPolicyProviderIpc::IPolicyProviderMsg::UNLOAD_MODERN_INNER_CAPTURE_SINK;
517     MessageParcel data;
518     MessageParcel reply;
519     MessageOption option;
520 
521     data.WriteInterfaceToken(IPolicyProviderIpc::GetDescriptor());
522 
523     bool ret = policyProviderStub->CheckInterfaceToken(data);
524 
525     EXPECT_EQ(ret, true);
526 
527     ret = policyProviderStub->OnRemoteRequest(code, data, reply, option);
528     EXPECT_EQ(ret, true);
529 }
530 
531 /**
532  * @tc.name  : Test PolicyProviderStub.
533  * @tc.type  : FUNC
534  * @tc.number: PolicyProviderStub_015
535  * @tc.desc  : Test PolicyProviderStub::OnRemoteRequest().
536  */
537 HWTEST_F(PolicyProviderStubUnitTest, PolicyProviderStub_015, TestSize.Level1)
538 {
539     MockPolicyProvider mockProvider;
540     auto policyProviderStub = std::make_shared<PolicyProviderWrapper>(&mockProvider);
541     EXPECT_NE(policyProviderStub, nullptr);
542 
543     uint32_t code = IPolicyProviderIpc::IPolicyProviderMsg::POLICY_PROVIDER_MAX_MSG;
544     MessageParcel data;
545     MessageParcel reply;
546     MessageOption option;
547 
548     data.WriteInterfaceToken(IPolicyProviderIpc::GetDescriptor());
549 
550     bool ret = policyProviderStub->CheckInterfaceToken(data);
551 
552     EXPECT_EQ(ret, true);
553 
554     ret = policyProviderStub->OnRemoteRequest(code, data, reply, option);
555     EXPECT_EQ(ret, true);
556 }
557 
558 /**
559  * @tc.name  : Test PolicyProviderStub.
560  * @tc.type  : FUNC
561  * @tc.number: PolicyProviderStub_016
562  * @tc.desc  : Test PolicyProviderStub::OnRemoteRequest().
563  */
564 HWTEST_F(PolicyProviderStubUnitTest, PolicyProviderStub_016, TestSize.Level1)
565 {
566     MockPolicyProvider mockProvider;
567     auto policyProviderStub = std::make_shared<PolicyProviderWrapper>(&mockProvider);
568     EXPECT_NE(policyProviderStub, nullptr);
569 
570     uint32_t code = (IPolicyProviderIpc::IPolicyProviderMsg)20;
571     MessageParcel data;
572     MessageParcel reply;
573     MessageOption option;
574 
575     data.WriteInterfaceToken(IPolicyProviderIpc::GetDescriptor());
576 
577     bool ret = policyProviderStub->CheckInterfaceToken(data);
578 
579     EXPECT_EQ(ret, true);
580 
581     ret = policyProviderStub->OnRemoteRequest(code, data, reply, option);
582     EXPECT_EQ(ret, true);
583 }
584 
585 /**
586  * @tc.name  : Test PolicyProviderStub.
587  * @tc.type  : FUNC
588  * @tc.number: PolicyProviderStub_017
589  * @tc.desc  : Test PolicyProviderStub::HandleInitSharedVolume().
590  */
591 HWTEST_F(PolicyProviderStubUnitTest, PolicyProviderStub_017, TestSize.Level1)
592 {
593     MockPolicyProvider mockProvider;
594     auto policyProviderStub = std::make_shared<PolicyProviderWrapper>(&mockProvider);
595     EXPECT_NE(policyProviderStub, nullptr);
596 
597     MessageParcel data;
598     MessageParcel reply;
599 
600     data.WriteInterfaceToken(IPolicyProviderIpc::GetDescriptor());
601 
602     bool ret = policyProviderStub->CheckInterfaceToken(data);
603     EXPECT_EQ(ret, true);
604 
605     ret = policyProviderStub->HandleInitSharedVolume(data, reply);
606     EXPECT_EQ(ret, true);
607 }
608 }
609 }