1 /*
2 * Copyright (c) 2022-2023 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 <memory>
18 #include <fstream>
19 #include <cstdio>
20
21 #include "avsession_log.h"
22 #include "input_manager.h"
23 #include "key_event.h"
24 #include "avsession_manager.h"
25 #include "avsession_errors.h"
26 #include "avmeta_data.h"
27 #include "avplayback_state.h"
28 #include "avmedia_description.h"
29 #include "avqueue_item.h"
30 #include "avsession_log.h"
31 #include "nativetoken_kit.h"
32 #include "token_setproc.h"
33 #include "accesstoken_kit.h"
34 #include "system_ability_definition.h"
35 #include "audio_info.h"
36 #include "avsession_callback_client.h"
37 #include "avsession_pixel_map.h"
38 #include "avsession_pixel_map_adapter.h"
39
40 #define private public
41 #define protected public
42 #include "avsession_service.h"
43 #undef protected
44 #undef private
45
46 using namespace testing::ext;
47 using namespace OHOS::AVSession;
48 using namespace OHOS::Security::AccessToken;
49 using namespace OHOS::AudioStandard;
50 static AVMetaData g_metaData;
51 static AVPlaybackState g_playbackState;
52 static char g_testSessionTag[] = "test";
53 static char g_testAnotherBundleName[] = "testAnother.ohos.avsession";
54 static char g_testAnotherAbilityName[] = "testAnother.ability";
55 static int32_t g_playOnCall = AVSESSION_ERROR;
56 static int32_t g_pauseOnCall = AVSESSION_ERROR;
57 static int32_t g_nextOnCall = AVSESSION_ERROR;
58 static int32_t g_previousOnCall = AVSESSION_ERROR;
59 static AVSessionService *avservice_;
60
61 class AVSessionServiceTest : public testing::Test {
62 public:
63 static void SetUpTestCase();
64 static void TearDownTestCase();
65 void SetUp() override;
66 void TearDown() override;
67
68 std::shared_ptr<AVSession> avsession_ = nullptr;
69 };
70
SetUpTestCase()71 void AVSessionServiceTest::SetUpTestCase()
72 {
73 SLOGI("set up AVSessionServiceTest");
74 system("killall -9 com.example.hiMusicDemo");
75 sleep(1);
76 avservice_ = new AVSessionService(OHOS::AVSESSION_SERVICE_ID);
77 avservice_->InitKeyEvent();
78 }
79
TearDownTestCase()80 void AVSessionServiceTest::TearDownTestCase()
81 {
82 }
83
SetUp()84 void AVSessionServiceTest::SetUp()
85 {
86 SLOGI("set up test function in AVSessionServiceTest");
87 }
88
TearDown()89 void AVSessionServiceTest::TearDown()
90 {
91 SLOGI("tear down test function in AVSessionServiceTest");
92 [[maybe_unused]] int32_t ret = AVSESSION_ERROR;
93 if (avsession_ != nullptr) {
94 ret = avsession_->Destroy();
95 avsession_ = nullptr;
96 }
97 }
98
99 class AVSessionCallbackImpl : public AVSessionCallback {
100 public:
101 void OnPlay() override;
102 void OnPause() override;
103 void OnStop() override {};
104 void OnPlayNext() override;
105 void OnPlayPrevious() override;
106 void OnFastForward(int64_t time) override {};
107 void OnRewind(int64_t time) override {};
108 void OnSeek(int64_t time) override {};
109 void OnSetSpeed(double speed) override {};
110 void OnSetLoopMode(int32_t loopMode) override {};
111 void OnToggleFavorite(const std::string& mediaId) override {};
112 void OnMediaKeyEvent(const OHOS::MMI::KeyEvent& keyEvent) override {};
113 void OnOutputDeviceChange(const int32_t connectionState,
114 const OHOS::AVSession::OutputDeviceInfo& outputDeviceInfo) override {};
115 void OnCommonCommand(const std::string& commonCommand, const OHOS::AAFwk::WantParams& commandArgs) override {};
116 void OnSkipToQueueItem(int32_t itemId) override {};
117 void OnAVCallAnswer() override {};
118 void OnAVCallHangUp() override {};
119 void OnAVCallToggleCallMute() override {};
120 void OnPlayFromAssetId(int64_t assetId) override {};
121 void OnCastDisplayChange(const CastDisplayInfo& castDisplayInfo) override {};
122
123 ~AVSessionCallbackImpl() override;
124 };
125
OnPlay()126 void AVSessionCallbackImpl::OnPlay()
127 {
128 g_playOnCall = AVSESSION_SUCCESS;
129 SLOGI("OnPlay %{public}d", g_playOnCall);
130 }
131
OnPause()132 void AVSessionCallbackImpl::OnPause()
133 {
134 g_pauseOnCall = AVSESSION_SUCCESS;
135 SLOGI("OnPause %{public}d", g_pauseOnCall);
136 }
137
OnPlayNext()138 void AVSessionCallbackImpl::OnPlayNext()
139 {
140 g_nextOnCall = AVSESSION_SUCCESS;
141 SLOGI("OnPlayNext %{public}d", g_nextOnCall);
142 }
143
OnPlayPrevious()144 void AVSessionCallbackImpl::OnPlayPrevious()
145 {
146 g_previousOnCall = AVSESSION_SUCCESS;
147 SLOGI("OnPlayPrevious %{public}d", g_previousOnCall);
148 }
149
~AVSessionCallbackImpl()150 AVSessionCallbackImpl::~AVSessionCallbackImpl()
151 {
152 }
153
154 /**
155 * @tc.name: SendSystemAVKeyEvent001
156 * @tc.desc: verifying send system keyEvent
157 * @tc.type: FUNC
158 * @tc.require: #I5Y4MZ
159 */
HWTEST_F(AVSessionServiceTest, SendSystemAVKeyEvent001, TestSize.Level1)160 static HWTEST_F(AVSessionServiceTest, SendSystemAVKeyEvent001, TestSize.Level1)
161 {
162 SLOGI("SendSystemAVKeyEvent001 begin!");
163 OHOS::AppExecFwk::ElementName elementName;
164 elementName.SetBundleName(g_testAnotherBundleName);
165 elementName.SetAbilityName(g_testAnotherAbilityName);
166 OHOS::sptr<AVSessionItem> avsessionHere_ =
167 avservice_->CreateSessionInner(g_testSessionTag, AVSession::SESSION_TYPE_AUDIO, false, elementName);
168 avsessionHere_->Activate();
169 avservice_->UpdateTopSession(avsessionHere_);
170
171 g_metaData.Reset();
172 g_metaData.SetAssetId("123");
173 g_metaData.SetTitle("Black Humor");
174 g_metaData.SetArtist("zhoujielun");
175 g_metaData.SetAuthor("zhoujielun");
176 g_metaData.SetAlbum("Jay");
177 g_metaData.SetWriter("zhoujielun");
178 g_metaData.SetComposer("zhoujielun");
179 g_metaData.SetDuration(40000);
180 g_metaData.SetMediaImageUri("xxxxx");
181 g_metaData.SetSubTitle("fac");
182 g_metaData.SetDescription("for friends");
183 g_metaData.SetLyric("xxxxx");
184 avsessionHere_->SetAVMetaData(g_metaData);
185
186 g_playbackState.SetState(AVPlaybackState::PLAYBACK_STATE_PLAY);
187 g_playbackState.SetSpeed(1.5);
188 g_playbackState.SetPosition({80000, 0});
189 g_playbackState.SetBufferedTime(60000);
190 g_playbackState.SetLoopMode(2);
191 g_playbackState.SetFavorite(true);
192 avsessionHere_->SetAVPlaybackState(g_playbackState);
193
194 std::shared_ptr<AVSessionCallback> callback = std::make_shared<AVSessionCallbackImpl>();
195 OHOS::sptr<IAVSessionCallback> callbackClient = new(std::nothrow) AVSessionCallbackClient(callback);
196 EXPECT_EQ(avsessionHere_->RegisterCallbackInner(callbackClient), AVSESSION_SUCCESS);
197
198 auto keyEvent = OHOS::MMI::KeyEvent::Create();
199 ASSERT_NE(keyEvent, nullptr);
200 keyEvent->SetKeyCode(OHOS::MMI::KeyEvent::KEYCODE_HEADSETHOOK);
201 keyEvent->SetKeyAction(OHOS::MMI::KeyEvent::KEY_ACTION_DOWN);
202 OHOS::MMI::KeyEvent::KeyItem item;
203 item.SetKeyCode(OHOS::MMI::KeyEvent::KEYCODE_HEADSETHOOK);
204 item.SetDownTime(0);
205 item.SetPressed(true);
206 keyEvent->AddPressedKeyItems(item);
207 OHOS::MMI::InputManager::GetInstance()->SimulateInputEvent(keyEvent);
208 sleep(1);
209 EXPECT_EQ(g_pauseOnCall, AVSESSION_SUCCESS);
210 g_pauseOnCall = false;
211 avservice_->HandleSessionRelease(avsessionHere_->GetSessionId());
212 SLOGI("SendSystemAVKeyEvent001 end!");
213 }
214
215 /**
216 * @tc.name: SendSystemAVKeyEvent002
217 * @tc.desc: verifying send system keyEvent
218 * @tc.type: FUNC
219 * @tc.require: #I5Y4MZ
220 */
221
HWTEST_F(AVSessionServiceTest, SendSystemAVKeyEvent002, TestSize.Level1)222 static HWTEST_F(AVSessionServiceTest, SendSystemAVKeyEvent002, TestSize.Level1)
223 {
224 SLOGI("SendSystemAVKeyEvent002 begin!");
225 OHOS::AppExecFwk::ElementName elementName;
226 elementName.SetBundleName(g_testAnotherBundleName);
227 elementName.SetAbilityName(g_testAnotherAbilityName);
228 OHOS::sptr<AVSessionItem> avsessionHere_ =
229 avservice_->CreateSessionInner(g_testSessionTag, AVSession::SESSION_TYPE_AUDIO, false, elementName);
230 avsessionHere_->Activate();
231 avservice_->UpdateTopSession(avsessionHere_);
232
233 g_metaData.Reset();
234 g_metaData.SetAssetId("123");
235 g_metaData.SetTitle("Black Humor");
236 g_metaData.SetArtist("zhoujielun");
237 g_metaData.SetAuthor("zhoujielun");
238 g_metaData.SetAlbum("Jay");
239 g_metaData.SetWriter("zhoujielun");
240 g_metaData.SetComposer("zhoujielun");
241 g_metaData.SetDuration(40000);
242 g_metaData.SetMediaImageUri("xxxxx");
243 g_metaData.SetSubTitle("fac");
244 g_metaData.SetDescription("for friends");
245 g_metaData.SetLyric("xxxxx");
246 avsessionHere_->SetAVMetaData(g_metaData);
247
248 g_playbackState.SetState(AVPlaybackState::PLAYBACK_STATE_PAUSE);
249 g_playbackState.SetSpeed(1.5);
250 g_playbackState.SetPosition({80000, 0});
251 g_playbackState.SetBufferedTime(60000);
252 g_playbackState.SetLoopMode(2);
253 g_playbackState.SetFavorite(true);
254 avsessionHere_->SetAVPlaybackState(g_playbackState);
255
256 std::shared_ptr<AVSessionCallback> callback = std::make_shared<AVSessionCallbackImpl>();
257 OHOS::sptr<IAVSessionCallback> callbackClient = new(std::nothrow) AVSessionCallbackClient(callback);
258 EXPECT_EQ(avsessionHere_->RegisterCallbackInner(callbackClient), AVSESSION_SUCCESS);
259
260 auto keyEvent = OHOS::MMI::KeyEvent::Create();
261 ASSERT_NE(keyEvent, nullptr);
262 keyEvent->SetKeyCode(OHOS::MMI::KeyEvent::KEYCODE_HEADSETHOOK);
263 keyEvent->SetKeyAction(OHOS::MMI::KeyEvent::KEY_ACTION_DOWN);
264 OHOS::MMI::KeyEvent::KeyItem item;
265 item.SetKeyCode(OHOS::MMI::KeyEvent::KEYCODE_HEADSETHOOK);
266 item.SetDownTime(0);
267 item.SetPressed(true);
268 keyEvent->AddPressedKeyItems(item);
269 OHOS::MMI::InputManager::GetInstance()->SimulateInputEvent(keyEvent);
270 sleep(1);
271 EXPECT_EQ(g_playOnCall, AVSESSION_SUCCESS);
272 g_playOnCall = false;
273 avservice_->HandleSessionRelease(avsessionHere_->GetSessionId());
274 SLOGI("SendSystemAVKeyEvent002 end!");
275 }
276
277 /**
278 * @tc.name: SendSystemAVKeyEvent003
279 * @tc.desc: verifying send system keyEvent
280 * @tc.type: FUNC
281 * @tc.require: #I5Y4MZ
282 */
HWTEST_F(AVSessionServiceTest, SendSystemAVKeyEvent003, TestSize.Level1)283 static HWTEST_F(AVSessionServiceTest, SendSystemAVKeyEvent003, TestSize.Level1)
284 {
285 SLOGI("SendSystemAVKeyEvent003 begin!");
286 OHOS::AppExecFwk::ElementName elementName;
287 elementName.SetBundleName(g_testAnotherBundleName);
288 elementName.SetAbilityName(g_testAnotherAbilityName);
289 OHOS::sptr<AVSessionItem> avsessionHere_ =
290 avservice_->CreateSessionInner(g_testSessionTag, AVSession::SESSION_TYPE_AUDIO, false, elementName);
291 avsessionHere_->Activate();
292 avservice_->UpdateTopSession(avsessionHere_);
293
294 g_metaData.Reset();
295 g_metaData.SetAssetId("123");
296 g_metaData.SetTitle("Black Humor");
297 g_metaData.SetArtist("zhoujielun");
298 g_metaData.SetAuthor("zhoujielun");
299 g_metaData.SetAlbum("Jay");
300 g_metaData.SetWriter("zhoujielun");
301 g_metaData.SetComposer("zhoujielun");
302 g_metaData.SetDuration(40000);
303 g_metaData.SetMediaImageUri("xxxxx");
304 g_metaData.SetSubTitle("fac");
305 g_metaData.SetDescription("for friends");
306 g_metaData.SetLyric("xxxxx");
307 avsessionHere_->SetAVMetaData(g_metaData);
308
309 g_playbackState.SetState(AVPlaybackState::PLAYBACK_STATE_PLAY);
310 g_playbackState.SetSpeed(1.5);
311 g_playbackState.SetPosition({80000, 0});
312 g_playbackState.SetBufferedTime(60000);
313 g_playbackState.SetLoopMode(2);
314 g_playbackState.SetFavorite(true);
315 avsessionHere_->SetAVPlaybackState(g_playbackState);
316
317 std::shared_ptr<AVSessionCallback> callback = std::make_shared<AVSessionCallbackImpl>();
318 OHOS::sptr<IAVSessionCallback> callbackClient = new(std::nothrow) AVSessionCallbackClient(callback);
319 EXPECT_EQ(avsessionHere_->RegisterCallbackInner(callbackClient), AVSESSION_SUCCESS);
320
321 auto keyEvent = OHOS::MMI::KeyEvent::Create();
322 ASSERT_NE(keyEvent, nullptr);
323 keyEvent->SetKeyCode(OHOS::MMI::KeyEvent::KEYCODE_HEADSETHOOK);
324 keyEvent->SetKeyAction(OHOS::MMI::KeyEvent::KEY_ACTION_DOWN);
325 OHOS::MMI::KeyEvent::KeyItem item;
326 item.SetKeyCode(OHOS::MMI::KeyEvent::KEYCODE_HEADSETHOOK);
327 item.SetDownTime(0);
328 item.SetPressed(true);
329 keyEvent->AddPressedKeyItems(item);
330 OHOS::MMI::InputManager::GetInstance()->SimulateInputEvent(keyEvent);
331 OHOS::MMI::InputManager::GetInstance()->SimulateInputEvent(keyEvent);
332 sleep(1);
333 EXPECT_EQ(g_nextOnCall, AVSESSION_SUCCESS);
334 g_nextOnCall = false;
335 avservice_->HandleSessionRelease(avsessionHere_->GetSessionId());
336 SLOGI("SendSystemAVKeyEvent003 end!");
337 }
338
339 /**
340 * @tc.name: SendSystemAVKeyEvent004
341 * @tc.desc: verifying send system keyEvent
342 * @tc.type: FUNC
343 * @tc.require: #I5Y4MZ
344 */
HWTEST_F(AVSessionServiceTest, SendSystemAVKeyEvent004, TestSize.Level1)345 static HWTEST_F(AVSessionServiceTest, SendSystemAVKeyEvent004, TestSize.Level1)
346 {
347 SLOGI("SendSystemAVKeyEvent004 begin!");
348 OHOS::AppExecFwk::ElementName elementName;
349 elementName.SetBundleName(g_testAnotherBundleName);
350 elementName.SetAbilityName(g_testAnotherAbilityName);
351 OHOS::sptr<AVSessionItem> avsessionHere_ =
352 avservice_->CreateSessionInner(g_testSessionTag, AVSession::SESSION_TYPE_AUDIO, false, elementName);
353 avsessionHere_->Activate();
354 avservice_->UpdateTopSession(avsessionHere_);
355 g_metaData.SetAssetId("123");
356 g_metaData.SetTitle("Black Humor");
357 g_metaData.SetArtist("zhoujielun");
358 g_metaData.SetAuthor("zhoujielun");
359 g_metaData.SetAlbum("Jay");
360 g_metaData.SetWriter("zhoujielun");
361 g_metaData.SetComposer("zhoujielun");
362 g_metaData.SetDuration(40000);
363 g_metaData.SetSubTitle("fac");
364 g_metaData.SetDescription("for friends");
365 g_metaData.SetLyric("xxxxx");
366 avsessionHere_->SetAVMetaData(g_metaData);
367 g_playbackState.SetState(AVPlaybackState::PLAYBACK_STATE_PLAY);
368 g_playbackState.SetSpeed(1.5);
369 g_playbackState.SetPosition({80000, 0});
370 g_playbackState.SetBufferedTime(60000);
371 g_playbackState.SetLoopMode(2);
372 g_playbackState.SetFavorite(true);
373 avsessionHere_->SetAVPlaybackState(g_playbackState);
374 std::shared_ptr<AVSessionCallback> callback = std::make_shared<AVSessionCallbackImpl>();
375 OHOS::sptr<IAVSessionCallback> callbackClient = new(std::nothrow) AVSessionCallbackClient(callback);
376 EXPECT_EQ(avsessionHere_->RegisterCallbackInner(callbackClient), AVSESSION_SUCCESS);
377 auto keyEvent = OHOS::MMI::KeyEvent::Create();
378 ASSERT_NE(keyEvent, nullptr);
379 keyEvent->SetKeyCode(OHOS::MMI::KeyEvent::KEYCODE_HEADSETHOOK);
380 keyEvent->SetKeyAction(OHOS::MMI::KeyEvent::KEY_ACTION_DOWN);
381 OHOS::MMI::KeyEvent::KeyItem item;
382 item.SetKeyCode(OHOS::MMI::KeyEvent::KEYCODE_HEADSETHOOK);
383 item.SetDownTime(0);
384 item.SetPressed(true);
385 keyEvent->AddPressedKeyItems(item);
386 OHOS::MMI::InputManager::GetInstance()->SimulateInputEvent(keyEvent);
387 OHOS::MMI::InputManager::GetInstance()->SimulateInputEvent(keyEvent);
388 OHOS::MMI::InputManager::GetInstance()->SimulateInputEvent(keyEvent);
389 sleep(1);
390 EXPECT_EQ(g_previousOnCall, AVSESSION_SUCCESS);
391 g_previousOnCall = false;
392 avservice_->HandleSessionRelease(avsessionHere_->GetSessionId());
393 SLOGI("SendSystemAVKeyEvent004 end!");
394 }
395
396 /**
397 * @tc.name: SendSystemAVKeyEvent005
398 * @tc.desc: verifying send system keyEvent
399 * @tc.type: FUNC
400 * @tc.require: #I5Y4MZ
401 */
HWTEST_F(AVSessionServiceTest, SendSystemAVKeyEvent005, TestSize.Level1)402 static HWTEST_F(AVSessionServiceTest, SendSystemAVKeyEvent005, TestSize.Level1)
403 {
404 SLOGI("SendSystemAVKeyEvent005 begin!");
405 OHOS::AppExecFwk::ElementName elementName;
406 elementName.SetBundleName(g_testAnotherBundleName);
407 elementName.SetAbilityName(g_testAnotherAbilityName);
408 OHOS::sptr<AVSessionItem> avsessionHere_ =
409 avservice_->CreateSessionInner(g_testSessionTag, AVSession::SESSION_TYPE_AUDIO, false, elementName);
410 avsessionHere_->Activate();
411 avservice_->UpdateTopSession(avsessionHere_);
412 g_metaData.SetAssetId("123");
413 g_metaData.SetTitle("Black Humor");
414 g_metaData.SetArtist("zhoujielun");
415 g_metaData.SetAuthor("zhoujielun");
416 g_metaData.SetAlbum("Jay");
417 g_metaData.SetWriter("zhoujielun");
418 g_metaData.SetComposer("zhoujielun");
419 g_metaData.SetDuration(40000);
420 g_metaData.SetMediaImageUri("xxxxx");
421 g_metaData.SetDescription("for friends");
422 avsessionHere_->SetAVMetaData(g_metaData);
423 g_playbackState.SetState(AVPlaybackState::PLAYBACK_STATE_PLAY);
424 g_playbackState.SetSpeed(1.5);
425 g_playbackState.SetPosition({80000, 0});
426 g_playbackState.SetBufferedTime(60000);
427 g_playbackState.SetLoopMode(2);
428 g_playbackState.SetFavorite(true);
429 avsessionHere_->SetAVPlaybackState(g_playbackState);
430 std::shared_ptr<AVSessionCallback> callback = std::make_shared<AVSessionCallbackImpl>();
431 OHOS::sptr<IAVSessionCallback> callbackClient = new(std::nothrow) AVSessionCallbackClient(callback);
432 EXPECT_EQ(avsessionHere_->RegisterCallbackInner(callbackClient), AVSESSION_SUCCESS);
433 auto keyEvent = OHOS::MMI::KeyEvent::Create();
434 ASSERT_NE(keyEvent, nullptr);
435 keyEvent->SetKeyCode(OHOS::MMI::KeyEvent::KEYCODE_HEADSETHOOK);
436 keyEvent->SetKeyAction(OHOS::MMI::KeyEvent::KEY_ACTION_DOWN);
437 OHOS::MMI::KeyEvent::KeyItem item;
438 item.SetKeyCode(OHOS::MMI::KeyEvent::KEYCODE_HEADSETHOOK);
439 item.SetDownTime(0);
440 item.SetPressed(true);
441 keyEvent->AddPressedKeyItems(item);
442 OHOS::MMI::InputManager::GetInstance()->SimulateInputEvent(keyEvent);
443 OHOS::MMI::InputManager::GetInstance()->SimulateInputEvent(keyEvent);
444 OHOS::MMI::InputManager::GetInstance()->SimulateInputEvent(keyEvent);
445 OHOS::MMI::InputManager::GetInstance()->SimulateInputEvent(keyEvent);
446 sleep(1);
447 EXPECT_EQ(g_previousOnCall, AVSESSION_SUCCESS);
448 g_previousOnCall = false;
449 avservice_->HandleSessionRelease(avsessionHere_->GetSessionId());
450 SLOGI("SendSystemAVKeyEvent005 end!");
451 }
452
453 /**
454 * @tc.name: SendSystemAVKeyEvent006
455 * @tc.desc: verifying send system keyEvent
456 * @tc.type: FUNC
457 * @tc.require: #I5Y4MZ
458 */
HWTEST_F(AVSessionServiceTest, SendSystemAVKeyEvent006, TestSize.Level1)459 static HWTEST_F(AVSessionServiceTest, SendSystemAVKeyEvent006, TestSize.Level1)
460 {
461 SLOGI("SendSystemAVKeyEvent006 begin!");
462 OHOS::AppExecFwk::ElementName elementName;
463 elementName.SetBundleName(g_testAnotherBundleName);
464 elementName.SetAbilityName(g_testAnotherAbilityName);
465 OHOS::sptr<AVSessionItem> avsessionHere_ =
466 avservice_->CreateSessionInner(g_testSessionTag, AVSession::SESSION_TYPE_AUDIO, false, elementName);
467 avsessionHere_->Activate();
468 avservice_->UpdateTopSession(avsessionHere_);
469 g_metaData.SetAssetId("123");
470 g_metaData.SetTitle("Black Humor");
471 g_metaData.SetArtist("zhoujielun");
472 g_metaData.SetAuthor("zhoujielun");
473 g_metaData.SetAlbum("Jay");
474 g_metaData.SetWriter("zhoujielun");
475 g_metaData.SetComposer("zhoujielun");
476 g_metaData.SetDuration(40000);
477 avsessionHere_->SetAVMetaData(g_metaData);
478 g_playbackState.SetState(AVPlaybackState::PLAYBACK_STATE_PLAY);
479 g_playbackState.SetSpeed(1.5);
480 g_playbackState.SetPosition({80000, 0});
481 g_playbackState.SetBufferedTime(60000);
482 g_playbackState.SetLoopMode(2);
483 g_playbackState.SetFavorite(true);
484 avsessionHere_->SetAVPlaybackState(g_playbackState);
485 std::shared_ptr<AVSessionCallback> callback = std::make_shared<AVSessionCallbackImpl>();
486 OHOS::sptr<IAVSessionCallback> callbackClient = new(std::nothrow) AVSessionCallbackClient(callback);
487 EXPECT_EQ(avsessionHere_->RegisterCallbackInner(callbackClient), AVSESSION_SUCCESS);
488 auto keyEvent = OHOS::MMI::KeyEvent::Create();
489 ASSERT_NE(keyEvent, nullptr);
490 keyEvent->SetKeyCode(OHOS::MMI::KeyEvent::KEYCODE_HEADSETHOOK);
491 keyEvent->SetKeyAction(OHOS::MMI::KeyEvent::KEY_ACTION_DOWN);
492 OHOS::MMI::KeyEvent::KeyItem item;
493 item.SetKeyCode(OHOS::MMI::KeyEvent::KEYCODE_HEADSETHOOK);
494 item.SetDownTime(0);
495 item.SetPressed(true);
496 keyEvent->AddPressedKeyItems(item);
497 OHOS::MMI::InputManager::GetInstance()->SimulateInputEvent(keyEvent);
498 OHOS::MMI::InputManager::GetInstance()->SimulateInputEvent(keyEvent);
499 sleep(1);
500 EXPECT_EQ(g_nextOnCall, AVSESSION_SUCCESS);
501 g_nextOnCall = false;
502 OHOS::MMI::InputManager::GetInstance()->SimulateInputEvent(keyEvent);
503 sleep(1);
504 EXPECT_EQ(g_pauseOnCall, AVSESSION_SUCCESS);
505 g_pauseOnCall = false;
506 avservice_->HandleSessionRelease(avsessionHere_->GetSessionId());
507 SLOGI("SendSystemAVKeyEvent006 end!");
508 }
509
HWTEST_F(AVSessionServiceTest, NotifyDeviceAvailable001, TestSize.Level1)510 static HWTEST_F(AVSessionServiceTest, NotifyDeviceAvailable001, TestSize.Level1)
511 {
512 SLOGI("NotifyDeviceAvailable001 begin!");
513 #ifdef CASTPLUS_CAST_ENGINE_ENABLE
514 SLOGI("NotifyDeviceAvailable001 in!");
515 OutputDeviceInfo outputDeviceInfo;
516 OHOS::AVSession::DeviceInfo deviceInfo;
517 deviceInfo.castCategory_ = 1;
518 deviceInfo.deviceId_ = "deviceId";
519 outputDeviceInfo.deviceInfos_.push_back(deviceInfo);
520 avservice_->NotifyDeviceAvailable(outputDeviceInfo);
521 EXPECT_EQ(0, AVSESSION_SUCCESS);
522 #endif
523 EXPECT_EQ(0, AVSESSION_SUCCESS);
524 SLOGI("NotifyDeviceAvailable001 end!");
525 }
526
HWTEST_F(AVSessionServiceTest, NotifyMirrorToStreamCast001, TestSize.Level1)527 static HWTEST_F(AVSessionServiceTest, NotifyMirrorToStreamCast001, TestSize.Level1)
528 {
529 SLOGI("NotifyMirrorToStreamCast001 begin!");
530 #ifdef CASTPLUS_CAST_ENGINE_ENABLE
531 SLOGI("NotifyMirrorToStreamCast001 in!");
532 avservice_->NotifyMirrorToStreamCast();
533 #endif
534 EXPECT_EQ(0, AVSESSION_SUCCESS);
535 SLOGI("NotifyMirrorToStreamCast001 end!");
536 }
537
HWTEST_F(AVSessionServiceTest, NotifyMirrorToStreamCast002, TestSize.Level1)538 static HWTEST_F(AVSessionServiceTest, NotifyMirrorToStreamCast002, TestSize.Level1)
539 {
540 SLOGI("NotifyMirrorToStreamCast002 begin!");
541 #ifdef CASTPLUS_CAST_ENGINE_ENABLE
542 SLOGI("NotifyMirrorToStreamCast002 in!");
543 OHOS::AppExecFwk::ElementName elementName;
544 elementName.SetBundleName(g_testAnotherBundleName);
545 elementName.SetAbilityName(g_testAnotherAbilityName);
546 OHOS::sptr<AVSessionItem> avsessionHere_ =
547 avservice_->CreateSessionInner(g_testSessionTag, AVSession::SESSION_TYPE_AUDIO, false, elementName);
548 EXPECT_EQ(avsessionHere_ != nullptr, true);
549 avservice_->UpdateTopSession(avsessionHere_);
550 avservice_->NotifyMirrorToStreamCast();
551 avservice_->HandleSessionRelease(avsessionHere_->GetSessionId());
552 #endif
553 EXPECT_EQ(0, AVSESSION_SUCCESS);
554 SLOGI("NotifyMirrorToStreamCast002 end!");
555 }
556
HWTEST_F(AVSessionServiceTest, NotifyMirrorToStreamCast003, TestSize.Level1)557 static HWTEST_F(AVSessionServiceTest, NotifyMirrorToStreamCast003, TestSize.Level1)
558 {
559 SLOGI("NotifyMirrorToStreamCast003 begin!");
560 #ifdef CASTPLUS_CAST_ENGINE_ENABLE
561 SLOGI("NotifyMirrorToStreamCast002 in!");
562 OHOS::AppExecFwk::ElementName elementName;
563 elementName.SetBundleName(g_testAnotherBundleName);
564 elementName.SetAbilityName(g_testAnotherAbilityName);
565 OHOS::sptr<AVSessionItem> avsessionHere_ =
566 avservice_->CreateSessionInner(g_testSessionTag, AVSession::SESSION_TYPE_VIDEO, false, elementName);
567 EXPECT_EQ(avsessionHere_ != nullptr, true);
568 avservice_->UpdateTopSession(avsessionHere_);
569 avservice_->NotifyMirrorToStreamCast();
570 avservice_->HandleSessionRelease(avsessionHere_->GetSessionId());
571 #endif
572 EXPECT_EQ(0, AVSESSION_SUCCESS);
573 SLOGI("NotifyMirrorToStreamCast003 end!");
574 }
575
HWTEST_F(AVSessionServiceTest, RefreshFocusSessionSort001, TestSize.Level1)576 static HWTEST_F(AVSessionServiceTest, RefreshFocusSessionSort001, TestSize.Level1)
577 {
578 SLOGI("RefreshFocusSessionSort001 begin!");
579 OHOS::AppExecFwk::ElementName elementName;
580 elementName.SetBundleName(g_testAnotherBundleName);
581 elementName.SetAbilityName(g_testAnotherAbilityName);
582 OHOS::sptr<AVSessionItem> avsessionHere_ =
583 avservice_->CreateSessionInner(g_testSessionTag, AVSession::SESSION_TYPE_AUDIO, false, elementName);
584 EXPECT_EQ(avsessionHere_ != nullptr, true);
585 avservice_->RefreshFocusSessionSort(avsessionHere_);
586 avservice_->HandleSessionRelease(avsessionHere_->GetSessionId());
587 EXPECT_EQ(0, AVSESSION_SUCCESS);
588 SLOGI("RefreshFocusSessionSort001 end!");
589 }
590
HWTEST_F(AVSessionServiceTest, SelectSessionByUid001, TestSize.Level1)591 static HWTEST_F(AVSessionServiceTest, SelectSessionByUid001, TestSize.Level1)
592 {
593 SLOGI("SelectSessionByUid001 begin!");
594 OHOS::AppExecFwk::ElementName elementName;
595 elementName.SetBundleName(g_testAnotherBundleName);
596 elementName.SetAbilityName(g_testAnotherAbilityName);
597 OHOS::sptr<AVSessionItem> avsessionHere_ =
598 avservice_->CreateSessionInner(g_testSessionTag, AVSession::SESSION_TYPE_AUDIO, false, elementName);
599 EXPECT_EQ(avsessionHere_ != nullptr, true);
600 AudioRendererChangeInfo info = {};
601 info.clientUID = 0;
602 avservice_->SelectSessionByUid(info);
603 avservice_->HandleSessionRelease(avsessionHere_->GetSessionId());
604 EXPECT_EQ(0, AVSESSION_SUCCESS);
605 SLOGI("SelectSessionByUid001 end!");
606 }
607
HWTEST_F(AVSessionServiceTest, SelectSessionByUid002, TestSize.Level1)608 static HWTEST_F(AVSessionServiceTest, SelectSessionByUid002, TestSize.Level1)
609 {
610 SLOGI("SelectSessionByUid002 begin!");
611 OHOS::AppExecFwk::ElementName elementName;
612 elementName.SetBundleName(g_testAnotherBundleName);
613 elementName.SetAbilityName(g_testAnotherAbilityName);
614 OHOS::sptr<AVSessionItem> avsessionHere_ =
615 avservice_->CreateSessionInner(g_testSessionTag, AVSession::SESSION_TYPE_AUDIO, false, elementName);
616 EXPECT_EQ(avsessionHere_ != nullptr, true);
617 AudioRendererChangeInfo info = {};
618 info.clientUID = avsessionHere_->GetUid();
619 avservice_->SelectSessionByUid(info);
620 avservice_->HandleSessionRelease(avsessionHere_->GetSessionId());
621 EXPECT_EQ(0, AVSESSION_SUCCESS);
622 SLOGI("SelectSessionByUid002 end!");
623 }
624
HWTEST_F(AVSessionServiceTest, InitBMS001, TestSize.Level1)625 static HWTEST_F(AVSessionServiceTest, InitBMS001, TestSize.Level1)
626 {
627 SLOGI("InitBMS001 stop to prevent crash in SubscribeBundleStatusEvent");
628 EXPECT_EQ(0, AVSESSION_SUCCESS);
629 SLOGI("InitBMS001 end!");
630 }
631
HWTEST_F(AVSessionServiceTest, ReleaseCastSession001, TestSize.Level1)632 static HWTEST_F(AVSessionServiceTest, ReleaseCastSession001, TestSize.Level1)
633 {
634 SLOGI("ReleaseCastSession001 begin!");
635 OHOS::AppExecFwk::ElementName elementName;
636 elementName.SetBundleName(g_testAnotherBundleName);
637 elementName.SetAbilityName(g_testAnotherAbilityName);
638 OHOS::sptr<AVSessionItem> avsessionHere_ =
639 avservice_->CreateSessionInner("RemoteCast", AVSession::SESSION_TYPE_AUDIO, false, elementName);
640 EXPECT_EQ(avsessionHere_ != nullptr, true);
641 #ifdef CASTPLUS_CAST_ENGINE_ENABLE
642 SLOGI("ReleaseCastSession001 in!");
643 avservice_->ReleaseCastSession();
644 #endif
645 avservice_->HandleSessionRelease(avsessionHere_->GetSessionId());
646 EXPECT_EQ(0, AVSESSION_SUCCESS);
647 SLOGI("ReleaseCastSession001 end!");
648 }
649
HWTEST_F(AVSessionServiceTest, CreateSessionByCast001, TestSize.Level1)650 static HWTEST_F(AVSessionServiceTest, CreateSessionByCast001, TestSize.Level1)
651 {
652 SLOGI("CreateSessionByCast001 begin!");
653 #ifdef CASTPLUS_CAST_ENGINE_ENABLE
654 SLOGI("CreateSessionByCast001 in!");
655 avservice_->CreateSessionByCast(0);
656 avservice_->ClearSessionForClientDiedNoLock(getpid());
657 #endif
658 EXPECT_EQ(0, AVSESSION_SUCCESS);
659 SLOGI("CreateSessionByCast001 end!");
660 }
661
HWTEST_F(AVSessionServiceTest, MirrorToStreamCast001, TestSize.Level1)662 static HWTEST_F(AVSessionServiceTest, MirrorToStreamCast001, TestSize.Level1)
663 {
664 SLOGI("MirrorToStreamCast001 begin!");
665 #ifdef CASTPLUS_CAST_ENGINE_ENABLE
666 SLOGI("MirrorToStreamCast001 in!");
667 OHOS::AppExecFwk::ElementName elementName;
668 elementName.SetBundleName(g_testAnotherBundleName);
669 elementName.SetAbilityName(g_testAnotherAbilityName);
670 OHOS::sptr<AVSessionItem> avsessionHere_ =
671 avservice_->CreateSessionInner("RemoteCast", AVSession::SESSION_TYPE_AUDIO, false, elementName);
672 EXPECT_EQ(avsessionHere_ != nullptr, true);
673 avservice_->is2in1_ = true;
674 avservice_->MirrorToStreamCast(avsessionHere_);
675 avservice_->HandleSessionRelease(avsessionHere_->GetSessionId());
676 #endif
677 EXPECT_EQ(0, AVSESSION_SUCCESS);
678 SLOGI("MirrorToStreamCast001 end!");
679 }
680
HWTEST_F(AVSessionServiceTest, MirrorToStreamCast002, TestSize.Level1)681 static HWTEST_F(AVSessionServiceTest, MirrorToStreamCast002, TestSize.Level1)
682 {
683 SLOGI("MirrorToStreamCast002 begin!");
684 #ifdef CASTPLUS_CAST_ENGINE_ENABLE
685 SLOGI("MirrorToStreamCast002 in!");
686 OHOS::AppExecFwk::ElementName elementName;
687 elementName.SetBundleName(g_testAnotherBundleName);
688 elementName.SetAbilityName(g_testAnotherAbilityName);
689 OHOS::sptr<AVSessionItem> avsessionHere_ =
690 avservice_->CreateSessionInner("RemoteCast", AVSession::SESSION_TYPE_AUDIO, false, elementName);
691 EXPECT_EQ(avsessionHere_ != nullptr, true);
692 avservice_->is2in1_ = false;
693 avservice_->MirrorToStreamCast(avsessionHere_);
694 avservice_->HandleSessionRelease(avsessionHere_->GetSessionId());
695 #endif
696 EXPECT_EQ(0, AVSESSION_SUCCESS);
697 SLOGI("MirrorToStreamCast002 end!");
698 }
699
HWTEST_F(AVSessionServiceTest, MirrorToStreamCast003, TestSize.Level1)700 static HWTEST_F(AVSessionServiceTest, MirrorToStreamCast003, TestSize.Level1)
701 {
702 SLOGI("MirrorToStreamCast003 begin!");
703 #ifdef CASTPLUS_CAST_ENGINE_ENABLE
704 SLOGI("MirrorToStreamCast003 in!");
705 OHOS::AppExecFwk::ElementName elementName;
706 elementName.SetBundleName(g_testAnotherBundleName);
707 elementName.SetAbilityName(g_testAnotherAbilityName);
708 OHOS::sptr<AVSessionItem> avsessionHere_ =
709 avservice_->CreateSessionInner("RemoteCast", AVSession::SESSION_TYPE_AUDIO, false, elementName);
710 EXPECT_EQ(avsessionHere_ != nullptr, true);
711 avservice_->is2in1_ = true;
712 avservice_->MirrorToStreamCast(avsessionHere_);
713 avservice_->HandleSessionRelease(avsessionHere_->GetSessionId());
714 #endif
715 EXPECT_EQ(0, AVSESSION_SUCCESS);
716 SLOGI("MirrorToStreamCast003 end!");
717 }
718
HWTEST_F(AVSessionServiceTest, SaveSessionInfoInFile001, TestSize.Level1)719 static HWTEST_F(AVSessionServiceTest, SaveSessionInfoInFile001, TestSize.Level1)
720 {
721 SLOGI("SaveSessionInfoInFile001 begin!");
722 OHOS::AppExecFwk::ElementName elementName;
723 elementName.SetBundleName(g_testAnotherBundleName);
724 elementName.SetAbilityName(g_testAnotherAbilityName);
725 OHOS::sptr<AVSessionItem> avsessionHere_ =
726 avservice_->CreateSessionInner("RemoteCast", AVSession::SESSION_TYPE_AUDIO, false, elementName);
727 EXPECT_EQ(avsessionHere_ != nullptr, true);
728 avservice_->SaveSessionInfoInFile(avsessionHere_->GetSessionId(),
729 "audio", elementName);
730 avservice_->HandleSessionRelease(avsessionHere_->GetSessionId());
731 EXPECT_EQ(0, AVSESSION_SUCCESS);
732 SLOGI("SaveSessionInfoInFile001 end!");
733 }
734
HWTEST_F(AVSessionServiceTest, GetHistoricalAVQueueInfos001, TestSize.Level1)735 static HWTEST_F(AVSessionServiceTest, GetHistoricalAVQueueInfos001, TestSize.Level1)
736 {
737 SLOGI("GetHistoricalAVQueueInfos001 begin!");
738 std::vector<AVQueueInfo> avQueueInfos_;
739 avservice_->GetHistoricalAVQueueInfos(0, 0, avQueueInfos_);
740 EXPECT_EQ(0, AVSESSION_SUCCESS);
741 SLOGI("GetHistoricalAVQueueInfos001 end!");
742 }
743
HWTEST_F(AVSessionServiceTest, SaveAvQueueInfo001, TestSize.Level1)744 static HWTEST_F(AVSessionServiceTest, SaveAvQueueInfo001, TestSize.Level1)
745 {
746 SLOGI("SaveAvQueueInfo001 begin!");
747 OHOS::AppExecFwk::ElementName elementName;
748 elementName.SetBundleName(g_testAnotherBundleName);
749 elementName.SetAbilityName(g_testAnotherAbilityName);
750 OHOS::sptr<AVSessionItem> avsessionHere_ =
751 avservice_->CreateSessionInner("RemoteCast", AVSession::SESSION_TYPE_AUDIO, false, elementName);
752 EXPECT_EQ(avsessionHere_ != nullptr, true);
753 AVMetaData meta = avsessionHere_->GetMetaData();
754 std::string oldContent;
755 if (!avservice_->LoadStringFromFileEx(avservice_->GetAVQueueDir(), oldContent)) {
756 SLOGE("SaveAvQueueInfo001 read avqueueinfo fail, Return!");
757 avservice_->HandleSessionRelease(avsessionHere_->GetSessionId());
758 return;
759 }
760 avservice_->SaveAvQueueInfo(oldContent, g_testAnotherBundleName, meta,
761 avservice_->GetUsersManager().GetCurrentUserId());
762 avservice_->HandleSessionRelease(avsessionHere_->GetSessionId());
763 EXPECT_EQ(0, AVSESSION_SUCCESS);
764 SLOGI("SaveAvQueueInfo001 end!");
765 }
766
HWTEST_F(AVSessionServiceTest, AddAvQueueInfoToFile001, TestSize.Level1)767 static HWTEST_F(AVSessionServiceTest, AddAvQueueInfoToFile001, TestSize.Level1)
768 {
769 SLOGI("AddAvQueueInfoToFile001 begin!");
770 OHOS::AppExecFwk::ElementName elementName;
771 elementName.SetBundleName(g_testAnotherBundleName);
772 elementName.SetAbilityName(g_testAnotherAbilityName);
773 OHOS::sptr<AVSessionItem> avsessionHere_ =
774 avservice_->CreateSessionInner("RemoteCast", AVSession::SESSION_TYPE_AUDIO, false, elementName);
775 EXPECT_EQ(avsessionHere_ != nullptr, true);
776 avservice_->AddAvQueueInfoToFile(*avsessionHere_);
777 avservice_->HandleSessionRelease(avsessionHere_->GetSessionId());
778 EXPECT_EQ(0, AVSESSION_SUCCESS);
779 SLOGI("AddAvQueueInfoToFile001 end!");
780 }
781
HWTEST_F(AVSessionServiceTest, StartAVPlayback001, TestSize.Level1)782 static HWTEST_F(AVSessionServiceTest, StartAVPlayback001, TestSize.Level1)
783 {
784 SLOGI("StartAVPlayback001 begin!");
785 avservice_->StartAVPlayback(g_testAnotherBundleName, "FAKE_ASSET_NAME");
786 EXPECT_EQ(0, AVSESSION_SUCCESS);
787 SLOGI("StartAVPlayback001 end!");
788 }
789
HWTEST_F(AVSessionServiceTest, GetSubNode001, TestSize.Level1)790 static HWTEST_F(AVSessionServiceTest, GetSubNode001, TestSize.Level1)
791 {
792 SLOGI("GetSubNode001 begin!");
793 nlohmann::json value;
794 value["bundleName"] = g_testAnotherBundleName;
795 avservice_->GetSubNode(value, "FAKE_NAME");
796 EXPECT_EQ(0, AVSESSION_SUCCESS);
797 SLOGI("GetSubNode001 end!");
798 }
799
HWTEST_F(AVSessionServiceTest, Close001, TestSize.Level1)800 static HWTEST_F(AVSessionServiceTest, Close001, TestSize.Level1)
801 {
802 SLOGI("Close001 begin!");
803 avservice_->Close();
804 EXPECT_EQ(0, AVSESSION_SUCCESS);
805 SLOGI("Close001 end!");
806 }
807
HWTEST_F(AVSessionServiceTest, DeleteHistoricalRecord001, TestSize.Level1)808 static HWTEST_F(AVSessionServiceTest, DeleteHistoricalRecord001, TestSize.Level1)
809 {
810 SLOGI("DeleteHistoricalRecord001 begin!");
811 avservice_->DeleteHistoricalRecord(g_testAnotherBundleName);
812 EXPECT_EQ(0, AVSESSION_SUCCESS);
813 SLOGI("DeleteHistoricalRecord001 end!");
814 }
815
HWTEST_F(AVSessionServiceTest, Dump001, TestSize.Level1)816 static HWTEST_F(AVSessionServiceTest, Dump001, TestSize.Level1)
817 {
818 SLOGI("Dump001 begin!");
819 std::vector<std::u16string> argsList;
820 avservice_->Dump(1, argsList);
821 EXPECT_EQ(0, AVSESSION_SUCCESS);
822 SLOGI("Dump001 end!");
823 }
824
HWTEST_F(AVSessionServiceTest, ProcessCastAudioCommand001, TestSize.Level1)825 static HWTEST_F(AVSessionServiceTest, ProcessCastAudioCommand001, TestSize.Level1)
826 {
827 SLOGI("ProcessCastAudioCommand001 begin!");
828 std::string sourceSessionInfo = "SOURCE";
829 std::string sinkSessionInfo = " SINK";
830 avservice_->ProcessCastAudioCommand(
831 OHOS::AVSession::AVSessionServiceStub::RemoteServiceCommand::COMMAND_CAST_AUDIO,
832 sourceSessionInfo, sinkSessionInfo);
833 EXPECT_EQ(0, AVSESSION_SUCCESS);
834 SLOGI("ProcessCastAudioCommand001 end!");
835 }
836
HWTEST_F(AVSessionServiceTest, ProcessCastAudioCommand002, TestSize.Level1)837 static HWTEST_F(AVSessionServiceTest, ProcessCastAudioCommand002, TestSize.Level1)
838 {
839 SLOGI("ProcessCastAudioCommand002 begin!");
840 std::string sourceSessionInfo = "SOURCE";
841 std::string sinkSessionInfo = " SINK";
842 avservice_->ProcessCastAudioCommand(
843 OHOS::AVSession::AVSessionServiceStub::RemoteServiceCommand::COMMAND_CANCEL_CAST_AUDIO,
844 sourceSessionInfo, sinkSessionInfo);
845 EXPECT_EQ(0, AVSESSION_SUCCESS);
846 SLOGI("ProcessCastAudioCommand002 end!");
847 }
848
HWTEST_F(AVSessionServiceTest, HandleDeviceChange001, TestSize.Level1)849 static HWTEST_F(AVSessionServiceTest, HandleDeviceChange001, TestSize.Level1)
850 {
851 SLOGI("HandleDeviceChange001 begin!");
852 DeviceChangeAction deviceChange;
853 deviceChange.type = static_cast<DeviceChangeType>(0);
854 deviceChange.flag = static_cast<DeviceFlag>(0);
855 avservice_->HandleDeviceChange(deviceChange);
856 EXPECT_EQ(0, AVSESSION_SUCCESS);
857 SLOGI("HandleDeviceChange001 end!");
858 }
859
HWTEST_F(AVSessionServiceTest, HandleDeviceChange002, TestSize.Level1)860 static HWTEST_F(AVSessionServiceTest, HandleDeviceChange002, TestSize.Level1)
861 {
862 SLOGI("HandleDeviceChange002 begin!");
863 DeviceChangeAction deviceChange;
864 std::vector<OHOS::sptr<AudioDeviceDescriptor>> audioDeviceDescriptors;
865 OHOS::sptr<AudioDeviceDescriptor> descriptor = new(std::nothrow) AudioDeviceDescriptor();
866 descriptor->deviceType_ = OHOS::AudioStandard::DEVICE_TYPE_WIRED_HEADSET;
867 deviceChange.type = static_cast<DeviceChangeType>(0);
868 deviceChange.flag = static_cast<DeviceFlag>(0);
869
870 audioDeviceDescriptors.push_back(descriptor);
871 deviceChange.deviceDescriptors = audioDeviceDescriptors;
872 avservice_->HandleDeviceChange(deviceChange);
873 EXPECT_EQ(0, AVSESSION_SUCCESS);
874 SLOGI("HandleDeviceChange002 end!");
875 }
876
HWTEST_F(AVSessionServiceTest, OnReceiveEvent001, TestSize.Level1)877 static HWTEST_F(AVSessionServiceTest, OnReceiveEvent001, TestSize.Level1)
878 {
879 SLOGI("OnReceiveEvent001 begin!");
880 OHOS::EventFwk::CommonEventData eventData;
881 string action = OHOS::EventFwk::CommonEventSupport::COMMON_EVENT_SCREEN_ON;
882 OHOS::AAFwk::Want want = eventData.GetWant();
883 want.SetAction(action);
884 eventData.SetWant(want);
885 OHOS::EventFwk::MatchingSkills matchingSkills;
886 OHOS::EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills);
887 EventSubscriber eventSubscriber(subscriberInfo, avservice_);
888 eventSubscriber.OnReceiveEvent(eventData);
889 EXPECT_EQ(0, AVSESSION_SUCCESS);
890 SLOGI("OnReceiveEvent001 end!");
891 }
892
HWTEST_F(AVSessionServiceTest, OnReceiveEvent002, TestSize.Level1)893 static HWTEST_F(AVSessionServiceTest, OnReceiveEvent002, TestSize.Level1)
894 {
895 SLOGI("OnReceiveEvent002 begin!");
896 OHOS::EventFwk::CommonEventData eventData;
897 string action = OHOS::EventFwk::CommonEventSupport::COMMON_EVENT_SCREEN_OFF;
898 OHOS::AAFwk::Want want = eventData.GetWant();
899 want.SetAction(action);
900 eventData.SetWant(want);
901 OHOS::EventFwk::MatchingSkills matchingSkills;
902 OHOS::EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills);
903 EventSubscriber eventSubscriber(subscriberInfo, avservice_);
904 eventSubscriber.OnReceiveEvent(eventData);
905 EXPECT_EQ(0, AVSESSION_SUCCESS);
906 SLOGI("OnReceiveEvent002 end!");
907 }
908
HWTEST_F(AVSessionServiceTest, UnSubscribeCommonEvent001, TestSize.Level1)909 static HWTEST_F(AVSessionServiceTest, UnSubscribeCommonEvent001, TestSize.Level1)
910 {
911 SLOGI("SubscribeCommonEvent001 begin!");
912 EXPECT_TRUE(avservice_ != nullptr);
913 avservice_->SubscribeCommonEvent();
914 avservice_->UnSubscribeCommonEvent();
915 SLOGI("SubscribeCommonEvent001 end!");
916 }
917
HWTEST_F(AVSessionServiceTest, UnSubscribeCommonEvent002, TestSize.Level1)918 static HWTEST_F(AVSessionServiceTest, UnSubscribeCommonEvent002, TestSize.Level1)
919 {
920 SLOGI("SubscribeCommonEvent002 begin!");
921 EXPECT_TRUE(avservice_ != nullptr);
922 avservice_->UnSubscribeCommonEvent();
923 SLOGI("SubscribeCommonEvent002 end!");
924 }
925
HWTEST_F(AVSessionServiceTest, OnRemoveSystemAbility001, TestSize.Level1)926 static HWTEST_F(AVSessionServiceTest, OnRemoveSystemAbility001, TestSize.Level1)
927 {
928 SLOGI("OnRemoveSystemAbility001 begin!");
929 EXPECT_TRUE(avservice_ != nullptr);
930 int32_t systemAbilityId = 65546;
931 std::string deviceId = "";
932 avservice_->OnRemoveSystemAbility(systemAbilityId, deviceId);
933 SLOGI("OnRemoveSystemAbility001 end!");
934 }
935
HWTEST_F(AVSessionServiceTest, OnRemoveSystemAbility002, TestSize.Level1)936 static HWTEST_F(AVSessionServiceTest, OnRemoveSystemAbility002, TestSize.Level1)
937 {
938 SLOGI("OnRemoveSystemAbility002 begin!");
939 EXPECT_TRUE(avservice_ != nullptr);
940 int32_t systemAbilityId = 111222;
941 std::string deviceId = "";
942 avservice_->OnRemoveSystemAbility(systemAbilityId, deviceId);
943 SLOGI("OnRemoveSystemAbility002 end!");
944 }
945
HWTEST_F(AVSessionServiceTest, GetHistoricalSessionDescriptorsFromFile001, TestSize.Level1)946 static HWTEST_F(AVSessionServiceTest, GetHistoricalSessionDescriptorsFromFile001, TestSize.Level1)
947 {
948 SLOGI("GetHistoricalSessionDescriptorsFromFile001 begin!");
949 std::vector<AVSessionDescriptor> descriptors;
950 int32_t ret = avservice_->GetHistoricalSessionDescriptorsFromFile(descriptors);
951 EXPECT_EQ(ret, AVSESSION_SUCCESS);
952 SLOGI("GetHistoricalSessionDescriptorsFromFile001 end!");
953 }
954
HWTEST_F(AVSessionServiceTest, GetHistoricalSessionDescriptors001, TestSize.Level1)955 static HWTEST_F(AVSessionServiceTest, GetHistoricalSessionDescriptors001, TestSize.Level1)
956 {
957 SLOGI("GetHistoricalSessionDescriptors001 begin!");
958 int32_t maxSize = -1;
959 std::vector<AVSessionDescriptor> descriptors;
960 int32_t ret = avservice_->GetHistoricalSessionDescriptors(maxSize, descriptors);
961 EXPECT_EQ(ret, AVSESSION_SUCCESS);
962 SLOGI("GetHistoricalSessionDescriptors001 end!");
963 }
964
HWTEST_F(AVSessionServiceTest, GetHistoricalSessionDescriptors002, TestSize.Level1)965 static HWTEST_F(AVSessionServiceTest, GetHistoricalSessionDescriptors002, TestSize.Level1)
966 {
967 SLOGI("GetHistoricalSessionDescriptors002 begin!");
968 int32_t maxSize = 50;
969 std::vector<AVSessionDescriptor> descriptors;
970 int32_t ret = avservice_->GetHistoricalSessionDescriptors(maxSize, descriptors);
971 EXPECT_EQ(ret, AVSESSION_SUCCESS);
972 SLOGI("GetHistoricalSessionDescriptors002 end!");
973 }
974
HWTEST_F(AVSessionServiceTest, GetHistoricalSessionDescriptors003, TestSize.Level1)975 static HWTEST_F(AVSessionServiceTest, GetHistoricalSessionDescriptors003, TestSize.Level1)
976 {
977 SLOGI("GetHistoricalSessionDescriptors003 begin!");
978 int32_t maxSize = 10;
979 std::vector<AVSessionDescriptor> descriptors;
980 for (int i = 0; i <= maxSize; i++) {
981 AVSessionDescriptor aVSessionDescriptor;
982 descriptors.emplace_back(aVSessionDescriptor);
983 }
984 int32_t ret = avservice_->GetHistoricalSessionDescriptors(maxSize, descriptors);
985 EXPECT_EQ(ret, AVSESSION_SUCCESS);
986 SLOGI("GetHistoricalSessionDescriptors003 end!");
987 }
988
HWTEST_F(AVSessionServiceTest, DoMetadataImgClean001, TestSize.Level1)989 static HWTEST_F(AVSessionServiceTest, DoMetadataImgClean001, TestSize.Level1)
990 {
991 SLOGI("DoMetadataImgClean001 begin!");
992 EXPECT_TRUE(avservice_ != nullptr);
993 OHOS::AVSession::AVMetaData metaData;
994
995 std::shared_ptr<AVSessionPixelMap> avQueuePixelMap = std::make_shared<AVSessionPixelMap>();
996 std::vector<uint8_t> imgBuffer = {1, 1, 0, 1, 1};
997 avQueuePixelMap->SetInnerImgBuffer(imgBuffer);
998 metaData.SetAVQueueImage(avQueuePixelMap);
999
1000 std::shared_ptr<AVSessionPixelMap> mediaPixelMap = std::make_shared<AVSessionPixelMap>();
1001 std::vector<uint8_t> imgBuffer2 = {1, 0, 0, 0, 1};
1002 mediaPixelMap->SetInnerImgBuffer(imgBuffer2);
1003 metaData.SetMediaImage(mediaPixelMap);
1004
1005 avservice_->DoMetadataImgClean(metaData);
1006 SLOGI("DoMetadataImgClean001 end!");
1007 }
1008
HWTEST_F(AVSessionServiceTest, DoMetadataImgClean002, TestSize.Level1)1009 static HWTEST_F(AVSessionServiceTest, DoMetadataImgClean002, TestSize.Level1)
1010 {
1011 SLOGI("DoMetadataImgClean002 begin!");
1012 OHOS::AVSession::AVMetaData metaData;
1013 avservice_->DoMetadataImgClean(metaData);
1014 SLOGI("DoMetadataImgClean002 end!");
1015 }
1016
HWTEST_F(AVSessionServiceTest, Dump002, TestSize.Level1)1017 static HWTEST_F(AVSessionServiceTest, Dump002, TestSize.Level1)
1018 {
1019 SLOGI("Dump002 begin!");
1020 int32_t fd = -1;
1021 std::vector<std::u16string> argsList;
1022 int32_t ret = avservice_->Dump(fd, argsList);
1023 EXPECT_EQ(ret, ERR_INVALID_PARAM);
1024 SLOGI("Dump002 end!");
1025 }
1026
HWTEST_F(AVSessionServiceTest, GetTrustedDeviceName001, TestSize.Level1)1027 static HWTEST_F(AVSessionServiceTest, GetTrustedDeviceName001, TestSize.Level1)
1028 {
1029 SLOGI("GetTrustedDeviceName001 begin!");
1030 std::string networkId = "";
1031 std::string deviceName = "";
1032 int32_t ret = avservice_->GetTrustedDeviceName(networkId, deviceName);
1033 EXPECT_EQ(ret, AVSESSION_SUCCESS);
1034 SLOGI("GetTrustedDeviceName001 end!");
1035 }
1036
HWTEST_F(AVSessionServiceTest, HandleFocusSession001, TestSize.Level1)1037 static HWTEST_F(AVSessionServiceTest, HandleFocusSession001, TestSize.Level1)
1038 {
1039 SLOGI("HandleFocusSession001 begin!");
1040 EXPECT_TRUE(avservice_ != nullptr);
1041 int32_t pid = 201;
1042 OHOS::AppExecFwk::ElementName elementName;
1043 elementName.SetBundleName(g_testAnotherBundleName);
1044 elementName.SetAbilityName(g_testAnotherAbilityName);
1045 OHOS::sptr<AVSessionItem> avsessionHere_ =
1046 avservice_->CreateSessionInner(g_testSessionTag, AVSession::SESSION_TYPE_AUDIO, false, elementName);
1047 avsessionHere_->SetUid(pid);
1048 avservice_->UpdateTopSession(avsessionHere_);
1049 FocusSessionStrategy::FocusSessionChangeInfo info;
1050 info.uid = pid;
1051 avservice_->HandleFocusSession(info);
1052 avservice_->HandleSessionRelease(avsessionHere_->GetSessionId());
1053 avsessionHere_->Destroy();
1054 SLOGI("HandleFocusSession001 end!");
1055 }
1056
HWTEST_F(AVSessionServiceTest, HandleFocusSession002, TestSize.Level1)1057 static HWTEST_F(AVSessionServiceTest, HandleFocusSession002, TestSize.Level1)
1058 {
1059 SLOGI("HandleFocusSession002 begin!");
1060 EXPECT_TRUE(avservice_ != nullptr);
1061 int32_t pid = 202;
1062 OHOS::AppExecFwk::ElementName elementName;
1063 elementName.SetBundleName(g_testAnotherBundleName);
1064 elementName.SetAbilityName(g_testAnotherAbilityName);
1065 OHOS::sptr<AVSessionItem> avsessionHere_ =
1066 avservice_->CreateSessionInner(g_testSessionTag, AVSession::SESSION_TYPE_VOICE_CALL, false, elementName);
1067 avsessionHere_->SetUid(pid);
1068 avservice_->UpdateTopSession(avsessionHere_);
1069 FocusSessionStrategy::FocusSessionChangeInfo info;
1070 info.uid = 203;
1071 avservice_->HandleFocusSession(info);
1072 avservice_->HandleSessionRelease(avsessionHere_->GetSessionId());
1073 avsessionHere_->Destroy();
1074 SLOGI("HandleFocusSession002 end!");
1075 }
1076
HWTEST_F(AVSessionServiceTest, UpdateFrontSession001, TestSize.Level1)1077 static HWTEST_F(AVSessionServiceTest, UpdateFrontSession001, TestSize.Level1)
1078 {
1079 SLOGI("HandleFocusSession001 begin!");
1080 EXPECT_TRUE(avservice_ != nullptr);
1081 int32_t pid = 203;
1082 OHOS::AppExecFwk::ElementName elementName;
1083 elementName.SetBundleName(g_testAnotherBundleName);
1084 elementName.SetAbilityName(g_testAnotherAbilityName);
1085 OHOS::sptr<AVSessionItem> avsessionHere_ =
1086 avservice_->CreateSessionInner(g_testSessionTag, AVSession::SESSION_TYPE_AUDIO, false, elementName);
1087 avsessionHere_->SetUid(pid);
1088 FocusSessionStrategy::FocusSessionChangeInfo info;
1089 info.uid = pid;
1090 avservice_->HandleFocusSession(info);
1091 avservice_->UpdateFrontSession(avsessionHere_, true);
1092 avservice_->HandleSessionRelease(avsessionHere_->GetSessionId());
1093 avsessionHere_->Destroy();
1094 SLOGI("HandleFocusSession001 end!");
1095 }
1096
HWTEST_F(AVSessionServiceTest, UpdateFrontSession002, TestSize.Level1)1097 static HWTEST_F(AVSessionServiceTest, UpdateFrontSession002, TestSize.Level1)
1098 {
1099 SLOGI("UpdateFrontSession002 begin!");
1100 EXPECT_TRUE(avservice_ != nullptr);
1101 int32_t pid = 204;
1102 OHOS::AppExecFwk::ElementName elementName;
1103 elementName.SetBundleName(g_testAnotherBundleName);
1104 elementName.SetAbilityName(g_testAnotherAbilityName);
1105 OHOS::sptr<AVSessionItem> avsessionHere_ =
1106 avservice_->CreateSessionInner(g_testSessionTag, AVSession::SESSION_TYPE_AUDIO, false, elementName);
1107 avsessionHere_->SetUid(pid);
1108 FocusSessionStrategy::FocusSessionChangeInfo info;
1109 info.uid = 205;
1110 avservice_->HandleFocusSession(info);
1111 avservice_->UpdateFrontSession(avsessionHere_, true);
1112 avservice_->HandleSessionRelease(avsessionHere_->GetSessionId());
1113 avsessionHere_->Destroy();
1114 SLOGI("UpdateFrontSession002 end!");
1115 }
1116
HWTEST_F(AVSessionServiceTest, SelectFocusSession001, TestSize.Level1)1117 static HWTEST_F(AVSessionServiceTest, SelectFocusSession001, TestSize.Level1)
1118 {
1119 SLOGI("SelectFocusSession001 begin!");
1120 int32_t pid = 205;
1121 OHOS::AppExecFwk::ElementName elementName;
1122 elementName.SetBundleName(g_testAnotherBundleName);
1123 elementName.SetAbilityName(g_testAnotherAbilityName);
1124 OHOS::sptr<AVSessionItem> avsessionHere_ =
1125 avservice_->CreateSessionInner(g_testSessionTag, AVSession::SESSION_TYPE_AUDIO, false, elementName);
1126 avsessionHere_->SetUid(pid);
1127 FocusSessionStrategy::FocusSessionChangeInfo info;
1128 info.uid = pid;
1129 bool ret = avservice_->SelectFocusSession(info);
1130 avservice_->HandleSessionRelease(avsessionHere_->GetSessionId());
1131 avsessionHere_->Destroy();
1132 EXPECT_EQ(ret, true);
1133 SLOGI("SelectFocusSession001 end!");
1134 }
1135
HWTEST_F(AVSessionServiceTest, SelectFocusSession002, TestSize.Level1)1136 static HWTEST_F(AVSessionServiceTest, SelectFocusSession002, TestSize.Level1)
1137 {
1138 SLOGI("SelectFocusSession002 begin!");
1139 int32_t pid = 206;
1140 OHOS::AppExecFwk::ElementName elementName;
1141 elementName.SetBundleName(g_testAnotherBundleName);
1142 elementName.SetAbilityName(g_testAnotherAbilityName);
1143 OHOS::sptr<AVSessionItem> avsessionHere_ =
1144 avservice_->CreateSessionInner(g_testSessionTag, AVSession::SESSION_TYPE_AUDIO, false, elementName);
1145 avsessionHere_->SetUid(pid);
1146 FocusSessionStrategy::FocusSessionChangeInfo info;
1147 info.uid = 207;
1148 bool ret = avservice_->SelectFocusSession(info);
1149 avservice_->HandleSessionRelease(avsessionHere_->GetSessionId());
1150 avsessionHere_->Destroy();
1151 EXPECT_EQ(ret, false);
1152 SLOGI("SelectFocusSession002 end!");
1153 }
1154
HWTEST_F(AVSessionServiceTest, SelectSessionByUid003, TestSize.Level1)1155 static HWTEST_F(AVSessionServiceTest, SelectSessionByUid003, TestSize.Level1)
1156 {
1157 SLOGI("SelectSessionByUid003 begin!");
1158 int32_t pid = 207;
1159 OHOS::AppExecFwk::ElementName elementName;
1160 elementName.SetBundleName(g_testAnotherBundleName);
1161 elementName.SetAbilityName(g_testAnotherAbilityName);
1162 OHOS::sptr<AVSessionItem> avsessionHere_ =
1163 avservice_->CreateSessionInner(g_testSessionTag, AVSession::SESSION_TYPE_AUDIO, false, elementName);
1164 EXPECT_EQ(avsessionHere_ != nullptr, true);
1165 avsessionHere_->SetUid(pid);
1166 AudioRendererChangeInfo info = {};
1167 info.clientUID = 208;
1168 auto ret = avservice_->SelectSessionByUid(info);
1169 avservice_->HandleSessionRelease(avsessionHere_->GetSessionId());
1170 avsessionHere_->Destroy();
1171 EXPECT_EQ(ret, nullptr);
1172 SLOGI("SelectSessionByUid003 end!");
1173 }
1174
HWTEST_F(AVSessionServiceTest, GetSessionDescriptorsBySessionId001, TestSize.Level1)1175 static HWTEST_F(AVSessionServiceTest, GetSessionDescriptorsBySessionId001, TestSize.Level1)
1176 {
1177 SLOGI("GetSessionDescriptorsBySessionId001 begin!");
1178 int32_t pid = 206;
1179 OHOS::AppExecFwk::ElementName elementName;
1180 elementName.SetBundleName(g_testAnotherBundleName);
1181 elementName.SetAbilityName(g_testAnotherAbilityName);
1182 OHOS::sptr<AVSessionItem> avsessionHere_ =
1183 avservice_->CreateSessionInner(g_testSessionTag, AVSession::SESSION_TYPE_AUDIO, false, elementName);
1184 avsessionHere_->SetUid(pid);
1185 std::string sessionId = "";
1186 AVSessionDescriptor descriptor;
1187 int32_t ret = avservice_->GetSessionDescriptorsBySessionId(sessionId, descriptor);
1188 avservice_->HandleSessionRelease(avsessionHere_->GetSessionId());
1189 avsessionHere_->Destroy();
1190 EXPECT_EQ(ret, AVSESSION_ERROR);
1191 SLOGI("GetSessionDescriptorsBySessionId001 end!");
1192 }
1193
HWTEST_F(AVSessionServiceTest, SendSystemAVKeyEvent007, TestSize.Level1)1194 static HWTEST_F(AVSessionServiceTest, SendSystemAVKeyEvent007, TestSize.Level1)
1195 {
1196 SLOGI("SendSystemAVKeyEvent007 begin!");
1197 OHOS::AppExecFwk::ElementName elementName;
1198 elementName.SetBundleName(g_testAnotherBundleName);
1199 elementName.SetAbilityName(g_testAnotherAbilityName);
1200 OHOS::sptr<AVSessionItem> avsessionHere_ =
1201 avservice_->CreateSessionInner(g_testSessionTag, AVSession::SESSION_TYPE_VOICE_CALL, false, elementName);
1202 auto keyEvent = OHOS::MMI::KeyEvent::Create();
1203 ASSERT_NE(keyEvent, nullptr);
1204 bool ret = avservice_->SendSystemAVKeyEvent(*keyEvent);
1205 avservice_->HandleSessionRelease(avsessionHere_->GetSessionId());
1206 avsessionHere_->Destroy();
1207 EXPECT_EQ(ret, AVSESSION_SUCCESS);
1208 SLOGI("SendSystemAVKeyEvent007 end!");
1209 }
1210
1211
HWTEST_F(AVSessionServiceTest, SendSystemAVKeyEvent008, TestSize.Level1)1212 static HWTEST_F(AVSessionServiceTest, SendSystemAVKeyEvent008, TestSize.Level1)
1213 {
1214 SLOGI("SendSystemAVKeyEvent008 begin!");
1215 OHOS::AppExecFwk::ElementName elementName;
1216 elementName.SetBundleName(g_testAnotherBundleName);
1217 elementName.SetAbilityName(g_testAnotherAbilityName);
1218 OHOS::sptr<AVSessionItem> avsessionHere_ =
1219 avservice_->CreateSessionInner(g_testSessionTag, AVSession::SESSION_TYPE_AUDIO, false, elementName);
1220 auto keyEvent = OHOS::MMI::KeyEvent::Create();
1221 ASSERT_NE(keyEvent, nullptr);
1222 avservice_->UpdateTopSession(avsessionHere_);
1223 bool ret = avservice_->SendSystemAVKeyEvent(*keyEvent);
1224 avservice_->HandleSessionRelease(avsessionHere_->GetSessionId());
1225 avsessionHere_->Destroy();
1226 EXPECT_EQ(ret, AVSESSION_SUCCESS);
1227 SLOGI("SendSystemAVKeyEvent008 end!");
1228 }
1229
HWTEST_F(AVSessionServiceTest, PullMigrateStub001, TestSize.Level1)1230 static HWTEST_F(AVSessionServiceTest, PullMigrateStub001, TestSize.Level1)
1231 {
1232 SLOGI("PullMigrateStub001 begin!");
1233 EXPECT_TRUE(avservice_ != nullptr);
1234 avservice_->PullMigrateStub();
1235 SLOGI("PullMigrateStub001 end!");
1236 }
1237
HWTEST_F(AVSessionServiceTest, UpdateFrontSession003, TestSize.Level1)1238 static HWTEST_F(AVSessionServiceTest, UpdateFrontSession003, TestSize.Level1)
1239 {
1240 SLOGI("UpdateFrontSession003 begin!");
1241 EXPECT_TRUE(avservice_ != nullptr);
1242 int32_t pid = 304;
1243 OHOS::AppExecFwk::ElementName elementName;
1244 elementName.SetBundleName(g_testAnotherBundleName);
1245 elementName.SetAbilityName(g_testAnotherAbilityName);
1246 OHOS::sptr<AVSessionItem> avsessionHere_ =
1247 avservice_->CreateSessionInner(g_testSessionTag, AVSession::SESSION_TYPE_VOICE_CALL, false, elementName);
1248 avsessionHere_->SetUid(pid);
1249 avservice_->UpdateFrontSession(avsessionHere_, true);
1250 avservice_->HandleSessionRelease(avsessionHere_->GetSessionId());
1251 avsessionHere_->Destroy();
1252 SLOGI("UpdateFrontSession003 end!");
1253 }
1254
HWTEST_F(AVSessionServiceTest, CreateSessionInner001, TestSize.Level1)1255 static HWTEST_F(AVSessionServiceTest, CreateSessionInner001, TestSize.Level1)
1256 {
1257 SLOGI("CreateSessionInner001 begin!");
1258 OHOS::sptr<AVSessionItem> sessionItem = nullptr;
1259 OHOS::AppExecFwk::ElementName elementName;
1260 elementName.SetBundleName("######");
1261 elementName.SetAbilityName(g_testAnotherAbilityName);
1262 int32_t ret = avservice_->CreateSessionInner(g_testSessionTag, AVSession::SESSION_TYPE_AUDIO,
1263 false, elementName, sessionItem);
1264 EXPECT_EQ(ret, ERR_INVALID_PARAM);
1265 SLOGI("CreateSessionInner001 end!");
1266 }
1267
HWTEST_F(AVSessionServiceTest, CreateSessionInner002, TestSize.Level1)1268 static HWTEST_F(AVSessionServiceTest, CreateSessionInner002, TestSize.Level1)
1269 {
1270 SLOGI("CreateSessionInner001 begin!");
1271 OHOS::sptr<AVSessionItem> sessionItem = nullptr;
1272 OHOS::AppExecFwk::ElementName elementName;
1273 elementName.SetBundleName(g_testAnotherBundleName);
1274 elementName.SetAbilityName("######");
1275 int32_t ret = avservice_->CreateSessionInner(g_testSessionTag, AVSession::SESSION_TYPE_AUDIO,
1276 false, elementName, sessionItem);
1277 EXPECT_EQ(ret, ERR_INVALID_PARAM);
1278 SLOGI("CreateSessionInner001 end!");
1279 }
1280
HWTEST_F(AVSessionServiceTest, ReportSessionInfo001, TestSize.Level1)1281 static HWTEST_F(AVSessionServiceTest, ReportSessionInfo001, TestSize.Level1)
1282 {
1283 SLOGI("ReportSessionInfo001 begin!");
1284 EXPECT_TRUE(avservice_ != nullptr);
1285 OHOS::sptr<AVSessionItem> avsessionHere_ = nullptr;
1286 avservice_->ReportSessionInfo(avsessionHere_, true);
1287 SLOGI("ReportSessionInfo001 end!");
1288 }
1289
HWTEST_F(AVSessionServiceTest, CreateNewControllerForSession001, TestSize.Level1)1290 static HWTEST_F(AVSessionServiceTest, CreateNewControllerForSession001, TestSize.Level1)
1291 {
1292 SLOGI("CreateNewControllerForSession001 begin!");
1293 OHOS::AppExecFwk::ElementName elementName;
1294 elementName.SetBundleName(g_testAnotherBundleName);
1295 elementName.SetAbilityName(g_testAnotherAbilityName);
1296 OHOS::sptr<AVSessionItem> avsessionHere_ =
1297 avservice_->CreateSessionInner(g_testSessionTag, AVSession::SESSION_TYPE_VOICE_CALL, false, elementName);
1298 pid_t pid = 2222;
1299 auto ret = avservice_->CreateNewControllerForSession(pid, avsessionHere_);
1300 EXPECT_NE(ret, nullptr);
1301 avservice_->HandleSessionRelease(avsessionHere_->GetSessionId());
1302 avsessionHere_->Destroy();
1303 SLOGI("CreateNewControllerForSession001 end!");
1304 }
1305
HWTEST_F(AVSessionServiceTest, IsHistoricalSession001, TestSize.Level1)1306 static HWTEST_F(AVSessionServiceTest, IsHistoricalSession001, TestSize.Level1)
1307 {
1308 SLOGI("IsHistoricalSession001 begin!");
1309 OHOS::AppExecFwk::ElementName elementName;
1310 elementName.SetBundleName(g_testAnotherBundleName);
1311 elementName.SetAbilityName(g_testAnotherAbilityName);
1312 OHOS::sptr<AVSessionItem> avsessionHere_ =
1313 avservice_->CreateSessionInner(g_testSessionTag, AVSession::SESSION_TYPE_AUDIO, false, elementName);
1314 std::string sessionId = avsessionHere_->GetSessionId();
1315 bool ret = avservice_->IsHistoricalSession(sessionId);
1316 EXPECT_EQ(ret, false);
1317 avservice_->HandleSessionRelease(sessionId);
1318 avsessionHere_->Destroy();
1319 SLOGI("IsHistoricalSession001 end!");
1320 }
1321
HWTEST_F(AVSessionServiceTest, StartDefaultAbilityByCall001, TestSize.Level1)1322 static HWTEST_F(AVSessionServiceTest, StartDefaultAbilityByCall001, TestSize.Level1)
1323 {
1324 SLOGI("StartDefaultAbilityByCall001 begin!");
1325 OHOS::AppExecFwk::ElementName elementName;
1326 elementName.SetBundleName(g_testAnotherBundleName);
1327 elementName.SetAbilityName(g_testAnotherAbilityName);
1328 OHOS::sptr<AVSessionItem> avsessionHere_ =
1329 avservice_->CreateSessionInner(g_testSessionTag, AVSession::SESSION_TYPE_AUDIO, false, elementName);
1330 std::string sessionId = avsessionHere_->GetSessionId();
1331 int32_t ret = avservice_->StartDefaultAbilityByCall(sessionId);
1332 // startability may go with mediaintent, will return AVSESSION_ERROR
1333 EXPECT_TRUE(ret == ERR_ABILITY_NOT_AVAILABLE || ret == AVSESSION_ERROR);
1334 avservice_->HandleSessionRelease(sessionId);
1335 avsessionHere_->Destroy();
1336 SLOGI("StartDefaultAbilityByCall001 end!");
1337 }
1338
HWTEST_F(AVSessionServiceTest, StartAbilityByCall001, TestSize.Level1)1339 static HWTEST_F(AVSessionServiceTest, StartAbilityByCall001, TestSize.Level1)
1340 {
1341 SLOGI("StartAbilityByCall001 begin!");
1342 OHOS::AppExecFwk::ElementName elementName;
1343 elementName.SetBundleName(g_testAnotherBundleName);
1344 elementName.SetAbilityName(g_testAnotherAbilityName);
1345 OHOS::sptr<AVSessionItem> avsessionHere_ =
1346 avservice_->CreateSessionInner(g_testSessionTag, AVSession::SESSION_TYPE_AUDIO, false, elementName);
1347 std::string sessionIdNeeded = "";
1348 std::string sessionId = "";
1349 int32_t ret = avservice_->StartAbilityByCall(sessionIdNeeded, sessionId);
1350 EXPECT_EQ(ret, AVSESSION_ERROR);
1351 avsessionHere_->Destroy();
1352 avservice_->HandleSessionRelease(avsessionHere_->GetSessionId());
1353 SLOGI("StartAbilityByCall001 end!");
1354 }
1355
HWTEST_F(AVSessionServiceTest, HandleSystemKeyColdStart001, TestSize.Level1)1356 static HWTEST_F(AVSessionServiceTest, HandleSystemKeyColdStart001, TestSize.Level1)
1357 {
1358 SLOGI("HandleSystemKeyColdStart001 begin!");
1359 EXPECT_TRUE(avservice_ != nullptr);
1360 OHOS::AppExecFwk::ElementName elementName;
1361 elementName.SetBundleName(g_testAnotherBundleName);
1362 elementName.SetAbilityName(g_testAnotherAbilityName);
1363 OHOS::sptr<AVSessionItem> avsessionHere_ =
1364 avservice_->CreateSessionInner(g_testSessionTag, AVSession::SESSION_TYPE_AUDIO, false, elementName);
1365 AVControlCommand command;
1366 avservice_->HandleSystemKeyColdStart(command);
1367 avservice_->HandleSessionRelease(avsessionHere_->GetSessionId());
1368 avsessionHere_->Destroy();
1369 SLOGI("HandleSystemKeyColdStart001 end!");
1370 }
1371
HWTEST_F(AVSessionServiceTest, SendSystemControlCommand001, TestSize.Level1)1372 static HWTEST_F(AVSessionServiceTest, SendSystemControlCommand001, TestSize.Level1)
1373 {
1374 SLOGI("SendSystemControlCommand001 begin!");
1375 OHOS::AppExecFwk::ElementName elementName;
1376 elementName.SetBundleName(g_testAnotherBundleName);
1377 elementName.SetAbilityName(g_testAnotherAbilityName);
1378 OHOS::sptr<AVSessionItem> avsessionHere_ =
1379 avservice_->CreateSessionInner(g_testSessionTag, AVSession::SESSION_TYPE_AUDIO, false, elementName);
1380 avservice_->UpdateFrontSession(avsessionHere_, true);
1381 AVControlCommand command;
1382 command.SetCommand(1000);
1383 int32_t ret = avservice_->SendSystemControlCommand(command);
1384 avservice_->HandleSessionRelease(avsessionHere_->GetSessionId());
1385 avsessionHere_->Destroy();
1386 EXPECT_EQ(ret, AVSESSION_SUCCESS);
1387 SLOGI("SendSystemControlCommand001 end!");
1388 }
1389
HWTEST_F(AVSessionServiceTest, HandleControllerRelease001, TestSize.Level1)1390 static HWTEST_F(AVSessionServiceTest, HandleControllerRelease001, TestSize.Level1)
1391 {
1392 SLOGI("HandleControllerRelease001 begin!");
1393 EXPECT_TRUE(avservice_ != nullptr);
1394 OHOS::AppExecFwk::ElementName elementName;
1395 elementName.SetBundleName(g_testAnotherBundleName);
1396 elementName.SetAbilityName(g_testAnotherAbilityName);
1397 OHOS::sptr<AVSessionItem> avsessionHere_ =
1398 avservice_->CreateSessionInner(g_testSessionTag, AVSession::SESSION_TYPE_VOICE_CALL, false, elementName);
1399 OHOS::sptr<AVControllerItem> avcontrollerHere_ =
1400 avservice_->CreateNewControllerForSession(avsessionHere_->GetPid(), avsessionHere_);
1401 avservice_->HandleControllerRelease(*avcontrollerHere_);
1402 avservice_->HandleSessionRelease(avsessionHere_->GetSessionId());
1403 avsessionHere_->Destroy();
1404 SLOGI("HandleControllerRelease001 end!");
1405 }
1406
HWTEST_F(AVSessionServiceTest, GetDeviceInfo001, TestSize.Level1)1407 static HWTEST_F(AVSessionServiceTest, GetDeviceInfo001, TestSize.Level1)
1408 {
1409 SLOGI("GetDeviceInfo001 begin!");
1410 EXPECT_TRUE(avservice_ != nullptr);
1411 OHOS::AppExecFwk::ElementName elementName;
1412 elementName.SetBundleName(g_testAnotherBundleName);
1413 elementName.SetAbilityName(g_testAnotherAbilityName);
1414 OHOS::sptr<AVSessionItem> avsessionHere_ =
1415 avservice_->CreateSessionInner(g_testSessionTag, AVSession::SESSION_TYPE_VOICE_CALL, false, elementName);
1416 std::vector<OHOS::AudioStandard::AudioDeviceDescriptor> descriptors;
1417 avservice_->GetDeviceInfo(avsessionHere_, descriptors, descriptors, descriptors);
1418 avservice_->HandleSessionRelease(avsessionHere_->GetSessionId());
1419 avsessionHere_->Destroy();
1420 SLOGI("GetDeviceInfo001 end!");
1421 }
1422
HWTEST_F(AVSessionServiceTest, CreateControllerInner001, TestSize.Level1)1423 static HWTEST_F(AVSessionServiceTest, CreateControllerInner001, TestSize.Level1)
1424 {
1425 SLOGI("CreateControllerInner001 begin!");
1426 std::string sessionId = "default";
1427 OHOS::sptr<IRemoteObject> object = nullptr;
1428 int32_t ret = avservice_->CreateControllerInner(sessionId, object);
1429 // startability may go with mediaintent, will return AVSESSION_ERROR
1430 EXPECT_TRUE(ret == ERR_ABILITY_NOT_AVAILABLE || ret == AVSESSION_ERROR);
1431 SLOGI("CreateControllerInner001 end!");
1432 }
1433
HWTEST_F(AVSessionServiceTest, ClearControllerForClientDiedNoLock001, TestSize.Level1)1434 static HWTEST_F(AVSessionServiceTest, ClearControllerForClientDiedNoLock001, TestSize.Level1)
1435 {
1436 SLOGI("ClearControllerForClientDiedNoLock001 begin!");
1437 EXPECT_TRUE(avservice_ != nullptr);
1438 OHOS::AppExecFwk::ElementName elementName;
1439 elementName.SetBundleName(g_testAnotherBundleName);
1440 elementName.SetAbilityName(g_testAnotherAbilityName);
1441 OHOS::sptr<AVSessionItem> avsessionHere_ =
1442 avservice_->CreateSessionInner(g_testSessionTag, AVSession::SESSION_TYPE_VOICE_CALL, false, elementName);
1443 std::string sessionId = avsessionHere_->GetSessionId();
1444 OHOS::sptr<IRemoteObject> object = nullptr;
1445 int32_t ret = avservice_->CreateControllerInner(sessionId, object);
1446 ASSERT_EQ(ret, AVSESSION_SUCCESS);
1447 avservice_->ClearControllerForClientDiedNoLock(avsessionHere_->GetPid());
1448 avservice_->HandleSessionRelease(avsessionHere_->GetSessionId());
1449 avsessionHere_->Destroy();
1450 SLOGI("ClearControllerForClientDiedNoLock001 end!");
1451 }
1452
HWTEST_F(AVSessionServiceTest, LoadStringFromFileEx001, TestSize.Level1)1453 static HWTEST_F(AVSessionServiceTest, LoadStringFromFileEx001, TestSize.Level1)
1454 {
1455 SLOGI("LoadStringFromFileEx001 begin!");
1456 OHOS::AppExecFwk::ElementName elementName;
1457 elementName.SetBundleName(g_testAnotherBundleName);
1458 elementName.SetAbilityName(g_testAnotherAbilityName);
1459 OHOS::sptr<AVSessionItem> avsessionHere_ =
1460 avservice_->CreateSessionInner(g_testSessionTag, AVSession::SESSION_TYPE_AUDIO, false, elementName);
1461 EXPECT_EQ(avsessionHere_ != nullptr, true);
1462
1463 std::string filePath = avservice_->GetUsersManager().GetDirForCurrentUser() + "test1.txt";
1464 std::string content;
1465 bool ret = avservice_->LoadStringFromFileEx(filePath, content);
1466 EXPECT_EQ(ret, true);
1467 avservice_->HandleSessionRelease(avsessionHere_->GetSessionId());
1468 avsessionHere_->Destroy();
1469 SLOGI("LoadStringFromFileEx001 end!");
1470 }
1471
HWTEST_F(AVSessionServiceTest, LoadStringFromFileEx002, TestSize.Level1)1472 static HWTEST_F(AVSessionServiceTest, LoadStringFromFileEx002, TestSize.Level1)
1473 {
1474 SLOGI("LoadStringFromFileEx002 begin!");
1475 OHOS::AppExecFwk::ElementName elementName;
1476 elementName.SetBundleName(g_testAnotherBundleName);
1477 elementName.SetAbilityName(g_testAnotherAbilityName);
1478 OHOS::sptr<AVSessionItem> avsessionHere_ =
1479 avservice_->CreateSessionInner(g_testSessionTag, AVSession::SESSION_TYPE_AUDIO, false, elementName);
1480 EXPECT_EQ(avsessionHere_ != nullptr, true);
1481 int32_t maxFileLength = 32 * 1024 * 1024;
1482 std::string filePath = avservice_->GetUsersManager().GetDirForCurrentUser() + "test2.txt";
1483 ofstream ofs;
1484 ofs.open(filePath, ios::out);
1485 for (int32_t i = 0; i <= maxFileLength; i++) {
1486 ofs << "A";
1487 }
1488 ofs.close();
1489 std::string content;
1490 bool ret = avservice_->LoadStringFromFileEx(filePath, content);
1491 EXPECT_EQ(ret, false);
1492 avservice_->HandleSessionRelease(avsessionHere_->GetSessionId());
1493 avsessionHere_->Destroy();
1494 SLOGI("LoadStringFromFileEx002 end!");
1495 }
1496
HWTEST_F(AVSessionServiceTest, LoadStringFromFileEx003, TestSize.Level1)1497 static HWTEST_F(AVSessionServiceTest, LoadStringFromFileEx003, TestSize.Level1)
1498 {
1499 SLOGI("LoadStringFromFileEx003 begin!");
1500 OHOS::AppExecFwk::ElementName elementName;
1501 elementName.SetBundleName(g_testAnotherBundleName);
1502 elementName.SetAbilityName(g_testAnotherAbilityName);
1503 OHOS::sptr<AVSessionItem> avsessionHere_ =
1504 avservice_->CreateSessionInner(g_testSessionTag, AVSession::SESSION_TYPE_AUDIO, false, elementName);
1505 EXPECT_EQ(avsessionHere_ != nullptr, true);
1506
1507 std::string filePath = "/test3.txt";
1508 std::string content;
1509 ifstream file(filePath, ios_base::in);
1510 bool ret = avservice_->LoadStringFromFileEx(filePath, content);
1511 file.close();
1512 // file not exist for no permission to create file at root dir
1513 EXPECT_EQ(ret, false);
1514 avservice_->HandleSessionRelease(avsessionHere_->GetSessionId());
1515 avsessionHere_->Destroy();
1516 SLOGI("LoadStringFromFileEx003 end!");
1517 }
1518
HWTEST_F(AVSessionServiceTest, CheckStringAndCleanFile001, TestSize.Level1)1519 static HWTEST_F(AVSessionServiceTest, CheckStringAndCleanFile001, TestSize.Level1)
1520 {
1521 SLOGI("CheckStringAndCleanFile001 begin!");
1522 OHOS::AppExecFwk::ElementName elementName;
1523 elementName.SetBundleName(g_testAnotherBundleName);
1524 elementName.SetAbilityName(g_testAnotherAbilityName);
1525 OHOS::sptr<AVSessionItem> avsessionHere_ =
1526 avservice_->CreateSessionInner(g_testSessionTag, AVSession::SESSION_TYPE_AUDIO, false, elementName);
1527 EXPECT_EQ(avsessionHere_ != nullptr, true);
1528
1529 std::string filePath = avservice_->GetUsersManager().GetDirForCurrentUser() + "test6.txt";
1530 bool ret = avservice_->CheckStringAndCleanFile(filePath);
1531 EXPECT_EQ(ret, true);
1532 avservice_->HandleSessionRelease(avsessionHere_->GetSessionId());
1533 avsessionHere_->Destroy();
1534 SLOGI("CheckStringAndCleanFile001 end!");
1535 }
1536
HWTEST_F(AVSessionServiceTest, CheckStringAndCleanFile002, TestSize.Level1)1537 static HWTEST_F(AVSessionServiceTest, CheckStringAndCleanFile002, TestSize.Level1)
1538 {
1539 SLOGI("CheckStringAndCleanFile002 begin!");
1540 OHOS::AppExecFwk::ElementName elementName;
1541 elementName.SetBundleName(g_testAnotherBundleName);
1542 elementName.SetAbilityName(g_testAnotherAbilityName);
1543 OHOS::sptr<AVSessionItem> avsessionHere_ =
1544 avservice_->CreateSessionInner(g_testSessionTag, AVSession::SESSION_TYPE_AUDIO, false, elementName);
1545 EXPECT_EQ(avsessionHere_ != nullptr, true);
1546
1547 std::string filePath = avservice_->GetUsersManager().GetDirForCurrentUser() + "adcdXYZ123/test7.txt";
1548 ifstream file(filePath, ios_base::in);
1549 bool ret = avservice_->CheckStringAndCleanFile(filePath);
1550 file.close();
1551 // file not exist for ifstream file can not create file in non-existent folder
1552 EXPECT_EQ(ret, false);
1553 avservice_->HandleSessionRelease(avsessionHere_->GetSessionId());
1554 avsessionHere_->Destroy();
1555 SLOGI("CheckStringAndCleanFile002 end!");
1556 }
1557
HWTEST_F(AVSessionServiceTest, ReportStartCastEnd001, TestSize.Level1)1558 static HWTEST_F(AVSessionServiceTest, ReportStartCastEnd001, TestSize.Level1)
1559 {
1560 SLOGI("NotifyDeviceAvailable001 begin!");
1561 OHOS::AppExecFwk::ElementName elementName;
1562 elementName.SetBundleName(g_testAnotherBundleName);
1563 elementName.SetAbilityName(g_testAnotherAbilityName);
1564 OHOS::sptr<AVSessionItem> avsessionHere_ =
1565 avservice_->CreateSessionInner(g_testSessionTag, AVSession::SESSION_TYPE_AUDIO, false, elementName);
1566 EXPECT_EQ(avsessionHere_ != nullptr, true);
1567 std::string func = "";
1568 int32_t uid = avsessionHere_->GetUid();
1569 int ret = 1;
1570 OutputDeviceInfo outputDeviceInfo;
1571 OHOS::AVSession::DeviceInfo deviceInfo;
1572 deviceInfo.castCategory_ = 1;
1573 deviceInfo.deviceId_ = "deviceId";
1574 avservice_->ReportStartCastEnd(func, outputDeviceInfo, uid, ret);
1575 avservice_->HandleSessionRelease(avsessionHere_->GetSessionId());
1576 avsessionHere_->Destroy();
1577 SLOGI("NotifyDeviceAvailable001 end!");
1578 }
1579
1580 #ifdef BLUETOOTH_ENABLE
HWTEST_F(AVSessionServiceTest, OnStateChanged001, TestSize.Level1)1581 static HWTEST_F(AVSessionServiceTest, OnStateChanged001, TestSize.Level1)
1582 {
1583 SLOGI("OnStateChanged001 begin!");
1584 DetectBluetoothHostObserver detectBluetoothHostObserver(avservice_);
1585 int transport = 111222;
1586 int status = 111222;
1587 detectBluetoothHostObserver.OnStateChanged(transport, status);
1588 SLOGI("OnStateChanged001 end!");
1589 }
1590
HWTEST_F(AVSessionServiceTest, OnStateChanged002, TestSize.Level1)1591 static HWTEST_F(AVSessionServiceTest, OnStateChanged002, TestSize.Level1)
1592 {
1593 SLOGI("OnStateChanged002 begin!");
1594 DetectBluetoothHostObserver detectBluetoothHostObserver(avservice_);
1595 int transport = OHOS::Bluetooth::BTTransport::ADAPTER_BREDR;
1596 int status = 111222;
1597 detectBluetoothHostObserver.OnStateChanged(transport, status);
1598 SLOGI("OnStateChanged002 end!");
1599 }
1600
HWTEST_F(AVSessionServiceTest, OnStateChanged003, TestSize.Level1)1601 static HWTEST_F(AVSessionServiceTest, OnStateChanged003, TestSize.Level1)
1602 {
1603 SLOGI("OnStateChanged003 begin!");
1604 DetectBluetoothHostObserver detectBluetoothHostObserver(avservice_);
1605 int transport = OHOS::Bluetooth::BTTransport::ADAPTER_BREDR;
1606 int status = OHOS::Bluetooth::BTStateID::STATE_TURN_ON;
1607 detectBluetoothHostObserver.OnStateChanged(transport, status);
1608 SLOGI("OnStateChanged003 end!");
1609 }
1610
HWTEST_F(AVSessionServiceTest, OnStateChanged004, TestSize.Level1)1611 static HWTEST_F(AVSessionServiceTest, OnStateChanged004, TestSize.Level1)
1612 {
1613 SLOGI("OnStateChanged004 begin!");
1614 AVSessionService *avservice = nullptr;
1615 DetectBluetoothHostObserver detectBluetoothHostObserver(avservice);
1616 int transport = OHOS::Bluetooth::BTTransport::ADAPTER_BREDR;
1617 int status = OHOS::Bluetooth::BTStateID::STATE_TURN_ON;
1618 detectBluetoothHostObserver.OnStateChanged(transport, status);
1619 SLOGI("OnStateChanged004 end!");
1620 }
1621 #endif
1622
HWTEST_F(AVSessionServiceTest, OnReceiveEvent003, TestSize.Level1)1623 static HWTEST_F(AVSessionServiceTest, OnReceiveEvent003, TestSize.Level1)
1624 {
1625 SLOGD("OnReceiveEvent003 begin!");
1626 OHOS::EventFwk::CommonEventData eventData;
1627 string action = OHOS::EventFwk::CommonEventSupport::COMMON_EVENT_SCREEN_LOCKED;
1628 OHOS::AAFwk::Want want = eventData.GetWant();
1629 want.SetAction(action);
1630 eventData.SetWant(want);
1631 OHOS::EventFwk::MatchingSkills matchingSkills;
1632 OHOS::EventFwk::CommonEventSubscribeInfo subscriberInfo(matchingSkills);
1633 EventSubscriber eventSubscriber(subscriberInfo, avservice_);
1634 eventSubscriber.OnReceiveEvent(eventData);
1635 int32_t ret = action.compare(OHOS::EventFwk::CommonEventSupport::COMMON_EVENT_SCREEN_LOCKED);
1636 EXPECT_EQ(ret, 0);
1637 SLOGD("OnReceiveEvent003 end!");
1638 }
1639
HWTEST_F(AVSessionServiceTest, UpdateFrontSession004, TestSize.Level1)1640 static HWTEST_F(AVSessionServiceTest, UpdateFrontSession004, TestSize.Level1)
1641 {
1642 SLOGD("UpdateFrontSession004 begin!");
1643 OHOS::AppExecFwk::ElementName elementName;
1644 elementName.SetBundleName(g_testAnotherBundleName);
1645 elementName.SetAbilityName(g_testAnotherAbilityName);
1646 OHOS::sptr<AVSessionItem> avsessionHere =
1647 avservice_->CreateSessionInner(g_testSessionTag, AVSession::SESSION_TYPE_VOICE_CALL, false, elementName);
1648 EXPECT_EQ(avsessionHere != nullptr, true);
1649 avservice_->UpdateTopSession(avsessionHere);
1650 avservice_->UpdateFrontSession(avsessionHere, false);
1651 avservice_->HandleSessionRelease(avsessionHere->GetSessionId());
1652 avsessionHere->Destroy();
1653 SLOGD("UpdateFrontSession004 end!");
1654 }
1655
HWTEST_F(AVSessionServiceTest, CheckAncoAudio001, TestSize.Level1)1656 static HWTEST_F(AVSessionServiceTest, CheckAncoAudio001, TestSize.Level1)
1657 {
1658 SLOGD("CheckAncoAudio001 begin!");
1659 OHOS::AppExecFwk::ElementName elementName;
1660 elementName.SetBundleName(g_testAnotherBundleName);
1661 elementName.SetAbilityName(g_testAnotherAbilityName);
1662 OHOS::sptr<AVSessionItem> avsessionHere =
1663 avservice_->CreateSessionInner(g_testSessionTag, AVSession::SESSION_TYPE_VOICE_CALL, false, elementName);
1664 bool ret = avservice_->CheckAncoAudio();
1665 EXPECT_EQ(ret, false);
1666 avsessionHere->Destroy();
1667 SLOGD("CheckAncoAudio001 end!");
1668 }
1669
HWTEST_F(AVSessionServiceTest, SendSystemControlCommand002, TestSize.Level1)1670 static HWTEST_F(AVSessionServiceTest, SendSystemControlCommand002, TestSize.Level1)
1671 {
1672 SLOGD("SendSystemControlCommand002 begin!");
1673 OHOS::AppExecFwk::ElementName elementName;
1674 elementName.SetBundleName(g_testAnotherBundleName);
1675 elementName.SetAbilityName(g_testAnotherAbilityName);
1676 OHOS::sptr<AVSessionItem> avsessionHere =
1677 avservice_->CreateSessionInner(g_testSessionTag, AVSession::SESSION_TYPE_AUDIO, false, elementName);
1678 avservice_->UpdateTopSession(avsessionHere);
1679 AVControlCommand command;
1680 command.SetCommand(1000);
1681 int32_t ret = avservice_->SendSystemControlCommand(command);
1682 avservice_->HandleSessionRelease(avsessionHere->GetSessionId());
1683 avsessionHere->Destroy();
1684 EXPECT_EQ(ret, AVSESSION_SUCCESS);
1685 SLOGD("SendSystemControlCommand002 end!");
1686 }
1687
HWTEST_F(AVSessionServiceTest, CreateWantAgent001, TestSize.Level1)1688 static HWTEST_F(AVSessionServiceTest, CreateWantAgent001, TestSize.Level1)
1689 {
1690 SLOGD("CreateWantAgent001 begin!");
1691 std::shared_ptr<AVSessionDescriptor> histroyDescriptor(nullptr);
1692 auto ret = avservice_->CreateWantAgent(histroyDescriptor.get());
1693 EXPECT_EQ(ret, nullptr);
1694 SLOGD("CreateWantAgent001 end!");
1695 }
1696
HWTEST_F(AVSessionServiceTest, CreateWantAgent002, TestSize.Level1)1697 static HWTEST_F(AVSessionServiceTest, CreateWantAgent002, TestSize.Level1)
1698 {
1699 SLOGD("CreateWantAgent001 begin!");
1700 std::shared_ptr<AVSessionDescriptor> histroyDescriptor = std::make_shared<AVSessionDescriptor>();
1701 auto ret = avservice_->CreateWantAgent(histroyDescriptor.get());
1702 EXPECT_EQ(ret, nullptr);
1703 SLOGD("CreateWantAgent001 end!");
1704 }
1705
HWTEST_F(AVSessionServiceTest, CreateWantAgent003, TestSize.Level1)1706 static HWTEST_F(AVSessionServiceTest, CreateWantAgent003, TestSize.Level1)
1707 {
1708 SLOGD("CreateWantAgent003 begin!");
1709 OHOS::AppExecFwk::ElementName elementName;
1710 elementName.SetBundleName(g_testAnotherBundleName);
1711 elementName.SetAbilityName(g_testAnotherAbilityName);
1712 OHOS::sptr<AVSessionItem> avsessionHere =
1713 avservice_->CreateSessionInner(g_testSessionTag, AVSession::SESSION_TYPE_AUDIO, false, elementName);
1714 avservice_->UpdateTopSession(avsessionHere);
1715 std::shared_ptr<AVSessionDescriptor> histroyDescriptor(nullptr);
1716 auto ret = avservice_->CreateWantAgent(histroyDescriptor.get());
1717 avsessionHere->Destroy();
1718 EXPECT_EQ(ret, nullptr);
1719 SLOGD("CreateWantAgent003 end!");
1720 }
1721
HWTEST_F(AVSessionServiceTest, CreateWantAgent004, TestSize.Level1)1722 static HWTEST_F(AVSessionServiceTest, CreateWantAgent004, TestSize.Level1)
1723 {
1724 SLOGD("CreateWantAgent004 begin!");
1725 OHOS::AppExecFwk::ElementName elementName;
1726 elementName.SetBundleName(g_testAnotherBundleName);
1727 elementName.SetAbilityName(g_testAnotherAbilityName);
1728 OHOS::sptr<AVSessionItem> avsessionHere =
1729 avservice_->CreateSessionInner(g_testSessionTag, AVSession::SESSION_TYPE_AUDIO, false, elementName);
1730 avservice_->UpdateTopSession(avsessionHere);
1731 std::shared_ptr<AVSessionDescriptor> histroyDescriptor = std::make_shared<AVSessionDescriptor>();
1732 auto ret = avservice_->CreateWantAgent(histroyDescriptor.get());
1733 avsessionHere->Destroy();
1734 EXPECT_EQ(ret, nullptr);
1735 SLOGD("CreateWantAgent004 end!");
1736 }
1737
HWTEST_F(AVSessionServiceTest, HandleSystemKeyColdStart002, TestSize.Level1)1738 static HWTEST_F(AVSessionServiceTest, HandleSystemKeyColdStart002, TestSize.Level1)
1739 {
1740 SLOGD("HandleSystemKeyColdStart002 begin!");
1741 OHOS::AppExecFwk::ElementName elementName;
1742 elementName.SetBundleName(g_testAnotherBundleName);
1743 elementName.SetAbilityName(g_testAnotherAbilityName);
1744 OHOS::sptr<AVSessionItem> avsessionHere =
1745 avservice_->CreateSessionInner(g_testSessionTag, AVSession::SESSION_TYPE_AUDIO, false, elementName);
1746 EXPECT_EQ(avsessionHere != nullptr, true);
1747 AVControlCommand command;
1748 command.SetCommand(AVControlCommand::SESSION_CMD_PLAY);
1749 avservice_->HandleSystemKeyColdStart(command);
1750 avservice_->HandleSessionRelease(avsessionHere->GetSessionId());
1751 avsessionHere->Destroy();
1752 SLOGD("HandleSystemKeyColdStart002 end!");
1753 }