• 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 
17 #include "gtest/gtest.h"
18 
19 #include "avcast_controller_callback_client.h"
20 #include "avsession_errors.h"
21 #include "avsession_log.h"
22 #include "string_wrapper.h"
23 
24 using namespace testing::ext;
25 
26 namespace OHOS {
27 namespace AVSession {
28 
29 class AVCastControllerCallbackImpl : public AVCastControllerCallback {
30 public:
OnCastPlaybackStateChange(const AVPlaybackState & state)31     void OnCastPlaybackStateChange(const AVPlaybackState& state) override {};
OnMediaItemChange(const AVQueueItem & avQueueItem)32     void OnMediaItemChange(const AVQueueItem& avQueueItem) override {};
OnPlayNext()33     void OnPlayNext() override {};
OnPlayPrevious()34     void OnPlayPrevious() override {};
OnSeekDone(const int32_t seekNumber)35     void OnSeekDone(const int32_t seekNumber) override {};
OnVideoSizeChange(const int32_t width,const int32_t height)36     void OnVideoSizeChange(const int32_t width, const int32_t height) override {};
OnPlayerError(const int32_t errorCode,const std::string & errorMsg)37     void OnPlayerError(const int32_t errorCode, const std::string& errorMsg) override {};
OnEndOfStream(const int32_t isLooping)38     void OnEndOfStream(const int32_t isLooping) override {};
OnPlayRequest(const AVQueueItem & avQueueItem)39     void OnPlayRequest(const AVQueueItem& avQueueItem) override {};
OnKeyRequest(const std::string & assetId,const std::vector<uint8_t> & keyRequestData)40     void OnKeyRequest(const std::string &assetId, const std::vector<uint8_t> &keyRequestData) override {};
OnCastValidCommandChanged(const std::vector<int32_t> & cmds)41     void OnCastValidCommandChanged(const std::vector<int32_t>& cmds) override {};
onDataSrcRead(const std::shared_ptr<AVSharedMemoryBase> & mem,uint32_t length,int64_t pos,int32_t & result)42     int32_t onDataSrcRead(const std::shared_ptr<AVSharedMemoryBase>& mem, uint32_t length,
43                           int64_t pos, int32_t& result) override { return 0; };
OnCustomData(const AAFwk::WantParams & data)44     void OnCustomData(const AAFwk::WantParams& data) override {};
45 
~AVCastControllerCallbackImpl()46     ~AVCastControllerCallbackImpl() override {};
47 };
48 
49 class AVCastControllerCallbackClientTest : public testing::Test {
50 public:
51     static void SetUpTestCase();
52     static void TearDownTestCase();
53     void SetUp() override;
54     void TearDown() override;
55 };
56 
SetUpTestCase()57 void AVCastControllerCallbackClientTest::SetUpTestCase()
58 {}
59 
TearDownTestCase()60 void AVCastControllerCallbackClientTest::TearDownTestCase()
61 {}
62 
SetUp()63 void AVCastControllerCallbackClientTest::SetUp()
64 {}
65 
TearDown()66 void AVCastControllerCallbackClientTest::TearDown()
67 {}
68 
69 /**
70 * @tc.name: OnCastPlaybackStateChange001
71 * @tc.desc: test OnCastPlaybackStateChange
72 * @tc.type: FUNC
73 * @tc.require:
74 */
75 HWTEST_F(AVCastControllerCallbackClientTest, OnCastPlaybackStateChange001, TestSize.Level1)
76 {
77     std::shared_ptr<AVCastControllerCallback> controllerCallback = std::make_shared<AVCastControllerCallbackImpl>();
78     std::shared_ptr<AVCastControllerCallbackClient> controllerCallbackClient =
79         std::make_shared<AVCastControllerCallbackClient>(controllerCallback);
80     EXPECT_NE(controllerCallbackClient, nullptr);
81     AVPlaybackState state;
82     controllerCallbackClient->OnCastPlaybackStateChange(state);
83 }
84 
85 /**
86 * @tc.name: OnMediaItemChange001
87 * @tc.desc: test OnMediaItemChange
88 * @tc.type: FUNC
89 * @tc.require:
90 */
91 HWTEST_F(AVCastControllerCallbackClientTest, OnMediaItemChange001, TestSize.Level1)
92 {
93     std::shared_ptr<AVCastControllerCallback> controllerCallback = std::make_shared<AVCastControllerCallbackImpl>();
94     std::shared_ptr<AVCastControllerCallbackClient> controllerCallbackClient =
95         std::make_shared<AVCastControllerCallbackClient>(controllerCallback);
96     EXPECT_NE(controllerCallbackClient, nullptr);
97     AVQueueItem avQueueItem;
98     controllerCallbackClient->OnMediaItemChange(avQueueItem);
99 }
100 
101 /**
102 * @tc.name: OnPlayNext001
103 * @tc.desc: test OnPlayNext
104 * @tc.type: FUNC
105 * @tc.require:
106 */
107 HWTEST_F(AVCastControllerCallbackClientTest, OnPlayNext001, TestSize.Level1)
108 {
109     std::shared_ptr<AVCastControllerCallback> controllerCallback = std::make_shared<AVCastControllerCallbackImpl>();
110     std::shared_ptr<AVCastControllerCallbackClient> controllerCallbackClient =
111         std::make_shared<AVCastControllerCallbackClient>(controllerCallback);
112     EXPECT_NE(controllerCallbackClient, nullptr);
113     controllerCallbackClient->OnPlayNext();
114 }
115 
116 /**
117 * @tc.name: OnPlayPrevious001
118 * @tc.desc: test OnPlayPrevious
119 * @tc.type: FUNC
120 * @tc.require:
121 */
122 HWTEST_F(AVCastControllerCallbackClientTest, OnPlayPrevious001, TestSize.Level1)
123 {
124     std::shared_ptr<AVCastControllerCallback> controllerCallback = std::make_shared<AVCastControllerCallbackImpl>();
125     std::shared_ptr<AVCastControllerCallbackClient> controllerCallbackClient =
126         std::make_shared<AVCastControllerCallbackClient>(controllerCallback);
127     EXPECT_NE(controllerCallbackClient, nullptr);
128     controllerCallbackClient->OnPlayPrevious();
129 }
130 
131 /**
132 * @tc.name: OnSeekDone001
133 * @tc.desc: test OnSeekDone
134 * @tc.type: FUNC
135 * @tc.require:
136 */
137 HWTEST_F(AVCastControllerCallbackClientTest, OnSeekDone001, TestSize.Level1)
138 {
139     std::shared_ptr<AVCastControllerCallback> controllerCallback = std::make_shared<AVCastControllerCallbackImpl>();
140     std::shared_ptr<AVCastControllerCallbackClient> controllerCallbackClient =
141         std::make_shared<AVCastControllerCallbackClient>(controllerCallback);
142     EXPECT_NE(controllerCallbackClient, nullptr);
143     int32_t seekNumber = 0;
144     controllerCallbackClient->OnSeekDone(seekNumber);
145 }
146 
147 /**
148 * @tc.name: OnVideoSizeChange001
149 * @tc.desc: test OnVideoSizeChange
150 * @tc.type: FUNC
151 * @tc.require:
152 */
153 HWTEST_F(AVCastControllerCallbackClientTest, OnVideoSizeChange001, TestSize.Level1)
154 {
155     std::shared_ptr<AVCastControllerCallback> controllerCallback = std::make_shared<AVCastControllerCallbackImpl>();
156     std::shared_ptr<AVCastControllerCallbackClient> controllerCallbackClient =
157         std::make_shared<AVCastControllerCallbackClient>(controllerCallback);
158     EXPECT_NE(controllerCallbackClient, nullptr);
159     int32_t width = 0;
160     int32_t height = 0;
161     controllerCallbackClient->OnVideoSizeChange(width, height);
162 }
163 
164 /**
165 * @tc.name: OnPlayerError001
166 * @tc.desc: test OnPlayerError
167 * @tc.type: FUNC
168 * @tc.require:
169 */
170 HWTEST_F(AVCastControllerCallbackClientTest, OnPlayerError001, TestSize.Level1)
171 {
172     std::shared_ptr<AVCastControllerCallback> controllerCallback = std::make_shared<AVCastControllerCallbackImpl>();
173     std::shared_ptr<AVCastControllerCallbackClient> controllerCallbackClient =
174         std::make_shared<AVCastControllerCallbackClient>(controllerCallback);
175     EXPECT_NE(controllerCallbackClient, nullptr);
176     int32_t errorCode = 0;
177     std::string errorMsg = "";
178     controllerCallbackClient->OnPlayerError(errorCode, errorMsg);
179 }
180 
181 /**
182 * @tc.name: OnEndOfStream001
183 * @tc.desc: test OnEndOfStream
184 * @tc.type: FUNC
185 * @tc.require:
186 */
187 HWTEST_F(AVCastControllerCallbackClientTest, OnEndOfStream001, TestSize.Level1)
188 {
189     std::shared_ptr<AVCastControllerCallback> controllerCallback = std::make_shared<AVCastControllerCallbackImpl>();
190     std::shared_ptr<AVCastControllerCallbackClient> controllerCallbackClient =
191         std::make_shared<AVCastControllerCallbackClient>(controllerCallback);
192     EXPECT_NE(controllerCallbackClient, nullptr);
193     int32_t isLooping = 0;
194     controllerCallbackClient->OnEndOfStream(isLooping);
195 }
196 
197 /**
198 * @tc.name: OnPlayRequest001
199 * @tc.desc: test OnPlayRequest
200 * @tc.type: FUNC
201 * @tc.require:
202 */
203 HWTEST_F(AVCastControllerCallbackClientTest, OnPlayRequest001, TestSize.Level1)
204 {
205     std::shared_ptr<AVCastControllerCallback> controllerCallback = std::make_shared<AVCastControllerCallbackImpl>();
206     std::shared_ptr<AVCastControllerCallbackClient> controllerCallbackClient =
207         std::make_shared<AVCastControllerCallbackClient>(controllerCallback);
208     EXPECT_NE(controllerCallbackClient, nullptr);
209     AVQueueItem avQueueItem;
210     controllerCallbackClient->OnPlayRequest(avQueueItem);
211 }
212 
213 /**
214 * @tc.name: OnKeyRequest001
215 * @tc.desc: test OnKeyRequest
216 * @tc.type: FUNC
217 * @tc.require:
218 */
219 HWTEST_F(AVCastControllerCallbackClientTest, OnKeyRequest001, TestSize.Level1)
220 {
221     std::shared_ptr<AVCastControllerCallback> controllerCallback = std::make_shared<AVCastControllerCallbackImpl>();
222     std::shared_ptr<AVCastControllerCallbackClient> controllerCallbackClient =
223         std::make_shared<AVCastControllerCallbackClient>(controllerCallback);
224     EXPECT_NE(controllerCallbackClient, nullptr);
225     std::string assetId = "";
226     std::vector<uint8_t> keyRequestData = {1};
227     controllerCallbackClient->OnKeyRequest(assetId, keyRequestData);
228 }
229 
230 /**
231 * @tc.name: OnCastValidCommandChanged001
232 * @tc.desc: test OnCastValidCommandChanged
233 * @tc.type: FUNC
234 * @tc.require:
235 */
236 HWTEST_F(AVCastControllerCallbackClientTest, OnCastValidCommandChanged001, TestSize.Level1)
237 {
238     std::shared_ptr<AVCastControllerCallback> controllerCallback = std::make_shared<AVCastControllerCallbackImpl>();
239     std::shared_ptr<AVCastControllerCallbackClient> controllerCallbackClient =
240         std::make_shared<AVCastControllerCallbackClient>(controllerCallback);
241     EXPECT_NE(controllerCallbackClient, nullptr);
242     std::vector<int32_t> cmds = {1};
243     controllerCallbackClient->OnCastValidCommandChanged(cmds);
244 }
245 
246 /**
247 * @tc.name: OnCustomData001
248 * @tc.desc: test OnCustomData
249 * @tc.type: FUNC
250 * @tc.require:
251 */
252 HWTEST_F(AVCastControllerCallbackClientTest, OnCustomData001, TestSize.Level1)
253 {
254     std::shared_ptr<AVCastControllerCallback> controllerCallback = std::make_shared<AVCastControllerCallbackImpl>();
255     std::shared_ptr<AVCastControllerCallbackClient> controllerCallbackClient =
256         std::make_shared<AVCastControllerCallbackClient>(controllerCallback);
257     EXPECT_NE(controllerCallbackClient, nullptr);
258     std::string dataStr = "test";
259     OHOS::AAFwk::WantParams data;
260     data.SetParam("customData", OHOS::AAFwk::String::Box(dataStr));
261     controllerCallbackClient->OnCustomData(data);
262 }
263 } // namespace AVSESSION
264 } // namespace OHOS