1 /*
2  * Copyright (c) 2024 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #include <gtest/gtest.h>
17 #include "avsession_log.h"
18 #include "iservice_registry.h"
19 #include "avmedia_description.h"
20 #include "av_file_descriptor.h"
21 #include "system_ability_definition.h"
22 #include "avsession_callback_proxy.h"
23 
24 using namespace OHOS::AVSession;
25 
26 class AVSessionCallbackProxyTest : public testing::Test {
27 public:
28     static void SetUpTestCase(void);
29     static void TearDownTestCase(void);
30     void SetUp();
31     void TearDown();
32 
33     OHOS::sptr<AVSessionCallbackProxy> aVSessionCallbackProxy;
34 };
35 
SetUpTestCase()36 void AVSessionCallbackProxyTest::SetUpTestCase()
37 {
38 }
39 
TearDownTestCase()40 void AVSessionCallbackProxyTest::TearDownTestCase()
41 {
42 }
43 
SetUp()44 void AVSessionCallbackProxyTest::SetUp()
45 {
46     auto mgr = OHOS::SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager();
47     if (mgr == nullptr) {
48         SLOGI("failed to get sa mgr");
49         return;
50     }
51     auto object = mgr->GetSystemAbility(OHOS::AVSESSION_SERVICE_ID);
52     if (object == nullptr) {
53         SLOGI("failed to get service");
54         return;
55     }
56     aVSessionCallbackProxy = OHOS::iface_cast<AVSessionCallbackProxy>(object);
57 }
58 
TearDown()59 void AVSessionCallbackProxyTest::TearDown()
60 {
61 }
62 
63 /**
64  * @tc.name: OnAVCallAnswer001
65  * @tc.desc: Test OnAVCallAnswer
66  * @tc.type: FUNC
67  */
68 static HWTEST_F(AVSessionCallbackProxyTest, OnAVCallAnswer001, testing::ext::TestSize.Level1)
69 {
70     SLOGI("OnAVCallAnswer001, start");
71     aVSessionCallbackProxy->OnAVCallAnswer();
72     SLOGI("OnAVCallAnswer001, end");
73 }
74 
75 /**
76  * @tc.name: OnAVCallHangUp001
77  * @tc.desc: Test OnAVCallHangUp
78  * @tc.type: FUNC
79  */
80 static HWTEST_F(AVSessionCallbackProxyTest, OnAVCallHangUp001, testing::ext::TestSize.Level1)
81 {
82     SLOGI("OnAVCallHangUp001, start");
83     aVSessionCallbackProxy->OnAVCallHangUp();
84     SLOGI("OnAVCallHangUp001, end");
85 }
86 
87 /**
88  * @tc.name: OnAVCallToggleCallMute001
89  * @tc.desc: Test OnAVCallToggleCallMute
90  * @tc.type: FUNC
91  */
92 static HWTEST_F(AVSessionCallbackProxyTest, OnAVCallToggleCallMute001, testing::ext::TestSize.Level1)
93 {
94     SLOGI("OnAVCallToggleCallMute001, start");
95     aVSessionCallbackProxy->OnAVCallToggleCallMute();
96     SLOGI("OnAVCallToggleCallMute001, end");
97 }
98 
99 /**
100  * @tc.name: OnPlay001
101  * @tc.desc: Test OnPlay
102  * @tc.type: FUNC
103  */
104 static HWTEST_F(AVSessionCallbackProxyTest, OnPlay001, testing::ext::TestSize.Level1)
105 {
106     SLOGI("OnPlay001, start");
107     aVSessionCallbackProxy->OnPlay();
108     SLOGI("OnPlay001, end");
109 }
110 
111 /**
112  * @tc.name: OnPause001
113  * @tc.desc: Test OnPause
114  * @tc.type: FUNC
115  */
116 static HWTEST_F(AVSessionCallbackProxyTest, OnPause001, testing::ext::TestSize.Level1)
117 {
118     SLOGI("OnPause001, start");
119     aVSessionCallbackProxy->OnPause();
120     SLOGI("OnPause001, end");
121 }
122 
123 /**
124  * @tc.name: OnStop001
125  * @tc.desc: Test OnStop
126  * @tc.type: FUNC
127  */
128 static HWTEST_F(AVSessionCallbackProxyTest, OnStop001, testing::ext::TestSize.Level1)
129 {
130     SLOGI("OnStop001, start");
131     aVSessionCallbackProxy->OnStop();
132     SLOGI("OnStop001, end");
133 }
134 
135 /**
136  * @tc.name: OnPlayNext001
137  * @tc.desc: Test OnPlayNext
138  * @tc.type: FUNC
139  */
140 static HWTEST_F(AVSessionCallbackProxyTest, OnPlayNext001, testing::ext::TestSize.Level1)
141 {
142     SLOGI("OnPlayNext001, start");
143     aVSessionCallbackProxy->OnPlayNext();
144     SLOGI("OnPlayNext001, end");
145 }
146 
147 /**
148  * @tc.name: OnPlayPrevious001
149  * @tc.desc: Test OnPlayPrevious
150  * @tc.type: FUNC
151  */
152 static HWTEST_F(AVSessionCallbackProxyTest, OnPlayPrevious001, testing::ext::TestSize.Level1)
153 {
154     SLOGI("OnPlayPrevious001, start");
155     aVSessionCallbackProxy->OnPlayPrevious();
156     SLOGI("OnPlayPrevious001, end");
157 }
158 
159 /**
160  * @tc.name: OnFastForward001
161  * @tc.desc: Test OnFastForward
162  * @tc.type: FUNC
163  */
164 static HWTEST_F(AVSessionCallbackProxyTest, OnFastForward001, testing::ext::TestSize.Level1)
165 {
166     SLOGI("OnFastForward001, start");
167     int64_t time = 0;
168     aVSessionCallbackProxy->OnFastForward(time);
169     SLOGI("OnFastForward001, end");
170 }
171 
172 /**
173  * @tc.name: OnRewind001
174  * @tc.desc: Test OnRewind
175  * @tc.type: FUNC
176  */
177 static HWTEST_F(AVSessionCallbackProxyTest, OnRewind001, testing::ext::TestSize.Level1)
178 {
179     SLOGI("OnRewind001, start");
180     int64_t time = 0;
181     aVSessionCallbackProxy->OnRewind(time);
182     SLOGI("OnRewind001, end");
183 }
184 
185 /**
186  * @tc.name: OnSeek001
187  * @tc.desc: Test OnSeek
188  * @tc.type: FUNC
189  */
190 static HWTEST_F(AVSessionCallbackProxyTest, OnSeek001, testing::ext::TestSize.Level1)
191 {
192     SLOGI("OnSeek001, start");
193     int64_t time = 0;
194     aVSessionCallbackProxy->OnSeek(time);
195     SLOGI("OnSeek001, end");
196 }
197 
198 /**
199  * @tc.name: OnSeek001
200  * @tc.desc: Test OnSetSpeed
201  * @tc.type: FUNC
202  */
203 static HWTEST_F(AVSessionCallbackProxyTest, OnSetSpeed001, testing::ext::TestSize.Level1)
204 {
205     SLOGI("OnSetSpeed001, start");
206     double speed = 0;
207     aVSessionCallbackProxy->OnSetSpeed(speed);
208     SLOGI("OnSetSpeed001, end");
209 }
210 
211 /**
212  * @tc.name: OnSetLoopMode001
213  * @tc.desc: Test OnSetLoopMode
214  * @tc.type: FUNC
215  */
216 static HWTEST_F(AVSessionCallbackProxyTest, OnSetLoopMode001, testing::ext::TestSize.Level1)
217 {
218     SLOGI("OnSetLoopMode001, start");
219     int32_t loopMode = 0;
220     aVSessionCallbackProxy->OnSetLoopMode(loopMode);
221     SLOGI("OnSetLoopMode001, end");
222 }
223 
224 /**
225  * @tc.name: OnToggleFavorite001
226  * @tc.desc: Test OnToggleFavorite
227  * @tc.type: FUNC
228  */
229 static HWTEST_F(AVSessionCallbackProxyTest, OnToggleFavorite001, testing::ext::TestSize.Level1)
230 {
231     SLOGI("OnToggleFavorite001, start");
232     std::string mediaId = "mediaId";
233     aVSessionCallbackProxy->OnToggleFavorite(mediaId);
234     SLOGI("OnToggleFavorite001, end");
235 }
236 
237 /**
238  * @tc.name: OnMediaKeyEvent001
239  * @tc.desc: Test OnMediaKeyEvent
240  * @tc.type: FUNC
241  */
242 static HWTEST_F(AVSessionCallbackProxyTest, OnMediaKeyEvent001, testing::ext::TestSize.Level1)
243 {
244     SLOGI("OnMediaKeyEvent001, start");
245     auto keyEvent = OHOS::MMI::KeyEvent::Create();
246     aVSessionCallbackProxy->OnMediaKeyEvent(*keyEvent);
247     SLOGI("OnMediaKeyEvent001, end");
248 }
249 
250 /**
251  * @tc.name: OnOutputDeviceChange001
252  * @tc.desc: Test OnOutputDeviceChange
253  * @tc.type: FUNC
254  */
255 static HWTEST_F(AVSessionCallbackProxyTest, OnOutputDeviceChange001, testing::ext::TestSize.Level1)
256 {
257     SLOGI("OnOutputDeviceChange001, start");
258     int32_t connectionState = 0;
259     OutputDeviceInfo outputDeviceInfo;
260     aVSessionCallbackProxy->OnOutputDeviceChange(connectionState, outputDeviceInfo);
261     SLOGI("OnOutputDeviceChange001, end");
262 }
263 
264 /**
265  * @tc.name: OnCommonCommand001
266  * @tc.desc: Test OnCommonCommand
267  * @tc.type: FUNC
268  */
269 static HWTEST_F(AVSessionCallbackProxyTest, OnCommonCommand001, testing::ext::TestSize.Level1)
270 {
271     SLOGI("OnCommonCommand001, start");
272     std::string commonCommand = "commonCommand";
273     OHOS::AAFwk::WantParams commandArgs;
274     aVSessionCallbackProxy->OnCommonCommand(commonCommand, commandArgs);
275     SLOGI("OnCommonCommand001, end");
276 }
277 
278 /**
279  * @tc.name: OnSkipToQueueItem001
280  * @tc.desc: Test OnSkipToQueueItem
281  * @tc.type: FUNC
282  */
283 static HWTEST_F(AVSessionCallbackProxyTest, OnSkipToQueueItem001, testing::ext::TestSize.Level1)
284 {
285     SLOGI("OnSkipToQueueItem001, start");
286     int32_t itemId = 0;
287     aVSessionCallbackProxy->OnSkipToQueueItem(itemId);
288     SLOGI("OnSkipToQueueItem001, end");
289 }
290 
291 /**
292  * @tc.name: OnPlayFromAssetId001
293  * @tc.desc: Test OnPlayFromAssetId
294  * @tc.type: FUNC
295  */
296 static HWTEST_F(AVSessionCallbackProxyTest, OnPlayFromAssetId001, testing::ext::TestSize.Level1)
297 {
298     SLOGI("OnPlayFromAssetId001, start");
299     int64_t assetId = 0;
300     aVSessionCallbackProxy->OnPlayFromAssetId(assetId);
301     SLOGI("OnPlayFromAssetId001, end");
302 }
303 
304 /**
305  * @tc.name: OnCastDisplayChange001
306  * @tc.desc: Test OnCastDisplayChange
307  * @tc.type: FUNC
308  */
309 static HWTEST_F(AVSessionCallbackProxyTest, OnCastDisplayChange001, testing::ext::TestSize.Level1)
310 {
311     SLOGI("OnCastDisplayChange001, start");
312     CastDisplayInfo castDisplayInfo;
313     aVSessionCallbackProxy->OnCastDisplayChange(castDisplayInfo);
314     SLOGI("OnCastDisplayChange001, end");
315 }