• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2025 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #include <gtest/gtest.h>
17 #include "icamera_channel_listener.h"
18 #include "dcamera_sink_controller.h"
19 #include "dcamera_sink_access_control.h"
20 #include "dcamera_sink_callback.h"
21 #include "dcamera_sink_controller_state_callback.h"
22 
23 #include "distributed_camera_constants.h"
24 #include "distributed_camera_errno.h"
25 
26 using namespace testing::ext;
27 
28 namespace OHOS {
29 namespace DistributedHardware {
30 class DCameraSinkControllerStateCallbackTest : public testing::Test {
31 public:
32     static void SetUpTestCase(void);
33     static void TearDownTestCase(void);
34     void SetUp();
35     void TearDown();
36 
37     std::shared_ptr<DCameraSinkControllerStateCallback> stateCallback_;
38 };
39 
SetUpTestCase(void)40 void DCameraSinkControllerStateCallbackTest::SetUpTestCase(void)
41 {
42 }
43 
TearDownTestCase(void)44 void DCameraSinkControllerStateCallbackTest::TearDownTestCase(void)
45 {
46 }
47 
SetUp(void)48 void DCameraSinkControllerStateCallbackTest::SetUp(void)
49 {
50     std::shared_ptr<ICameraSinkAccessControl> accessControl = std::make_shared<DCameraSinkAccessControl>();
51     sptr<IDCameraSinkCallback> sinkCallback(new DCameraSinkCallback());
52     std::shared_ptr<DCameraSinkController> controller =
53         std::make_shared<DCameraSinkController>(accessControl, sinkCallback);
54     stateCallback_ = std::make_shared<DCameraSinkControllerStateCallback>(controller);
55 }
56 
TearDown(void)57 void DCameraSinkControllerStateCallbackTest::TearDown(void)
58 {
59     stateCallback_ = nullptr;
60 }
61 
62 /**
63  * @tc.name: dcamera_sink_controller_state_callback_test_001
64  * @tc.desc: Verify the OnStateChanged function.
65  * @tc.type: FUNC
66  * @tc.require: DTS
67  */
68 HWTEST_F(DCameraSinkControllerStateCallbackTest, dcamera_sink_controller_state_callback_test_001, TestSize.Level1)
69 {
70     DHLOGI("dcamera_sink_controller_state_callback_test_001 enter");
71     ASSERT_NE(stateCallback_, nullptr);
72     std::shared_ptr<DCameraEvent> event = std::make_shared<DCameraEvent>();
73     stateCallback_->OnStateChanged(event);
74     EXPECT_EQ(true, event != nullptr);
75 }
76 
77 /**
78  * @tc.name: dcamera_sink_controller_state_callback_test_002
79  * @tc.desc: Verify the OnMetadataResult function.
80  * @tc.type: FUNC
81  * @tc.require: DTS
82  */
83 HWTEST_F(DCameraSinkControllerStateCallbackTest, dcamera_sink_controller_state_callback_test_002, TestSize.Level1)
84 {
85     DHLOGI("dcamera_sink_controller_state_callback_test_002 enter");
86     ASSERT_NE(stateCallback_, nullptr);
87     std::vector<std::shared_ptr<DCameraSettings>> settings;
88     stateCallback_->OnMetadataResult(settings);
89     EXPECT_EQ(true, settings.empty());
90 }
91 
92 /**
93  * @tc.name: dcamera_sink_controller_state_callback_test_003
94  * @tc.desc: Verify the OnDataReceived function.
95  * @tc.type: FUNC
96  * @tc.require: DTS
97  */
98 HWTEST_F(DCameraSinkControllerStateCallbackTest, dcamera_sink_controller_state_callback_test_003, TestSize.Level1)
99 {
100     DHLOGI("dcamera_sink_controller_state_callback_test_003 enter");
101     std::shared_ptr<DCameraSinkController> contl;
102     auto stateCallback = std::make_shared<DCameraSinkControllerStateCallback>(contl);
103     std::shared_ptr<DCameraEvent> event = std::make_shared<DCameraEvent>();
104     stateCallback->OnStateChanged(event);
105     std::vector<std::shared_ptr<DCameraSettings>> settings;
106     stateCallback->OnMetadataResult(settings);
107     EXPECT_EQ(true, settings.empty());
108 }
109 } // namespace DistributedHardware
110 } // namespace OHOS