1 /*
2 * Copyright (c) 2021 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 "utest_camera_device_impl.h"
17
18 using namespace OHOS::HDI::Camera::V1_0;
19
SetUpTestCase(void)20 void CameraDeviceImplTest::SetUpTestCase(void)
21 {
22 }
23
TearDownTestCase(void)24 void CameraDeviceImplTest::TearDownTestCase(void)
25 {
26 std::cout << "Camera::CameraDeviceImpl TearDownTestCase" << std::endl;
27 }
28
SetUp(void)29 void CameraDeviceImplTest::SetUp(void)
30 {
31 bool ret = InitCameraHost();
32 ASSERT_EQ(true, ret);
33
34 ret = GetCameraIds();
35 ASSERT_EQ(true, ret);
36
37 ret = GetCameraDevice();
38 ASSERT_EQ(true, ret);
39 }
40
TearDown(void)41 void CameraDeviceImplTest::TearDown(void)
42 {
43 }
44
45 HWTEST_F(CameraDeviceImplTest, UTestGetStreamOperator, TestSize.Level0)
46 {
47 bool ret = GetStreamOperator();
48 ASSERT_EQ(true, ret);
49 }
50
51 HWTEST_F(CameraDeviceImplTest, UTestUpdateSettings, TestSize.Level0)
52 {
53 std::vector<std::string> cameraIds;
54 CamRetCode ret = (CamRetCode)cameraHost_->GetCameraIds(cameraIds);
55 ASSERT_EQ(HDI::Camera::V1_0::NO_ERROR, ret);
56
57 std::vector<uint8_t> ability;
58 std::string cameraId = cameraIds.front();
59 ret = (CamRetCode)cameraHost_->GetCameraAbility(cameraId, ability);
60 ASSERT_EQ(HDI::Camera::V1_0::NO_ERROR, ret);
61
62 ret = (CamRetCode)cameraDevice_->UpdateSettings(ability);
63 ASSERT_EQ(HDI::Camera::V1_0::NO_ERROR, ret);
64 std::cout << "UTestUpdateSettings ret = " << ret << std::endl;
65 }
66
67 HWTEST_F(CameraDeviceImplTest, UTestSetResultMode, TestSize.Level0)
68 {
69 ResultCallbackMode mode = PER_FRAME;
70 CamRetCode rc = (CamRetCode)cameraDevice_->SetResultMode(mode);
71 ASSERT_EQ(HDI::Camera::V1_0::NO_ERROR, rc);
72 }
73
74 HWTEST_F(CameraDeviceImplTest, UTestGetEnabledResults, TestSize.Level0)
75 {
76 std::vector<int32_t> results;
77 CamRetCode rc = (CamRetCode)cameraDevice_->GetEnabledResults(results);
78 ASSERT_EQ(HDI::Camera::V1_0::NO_ERROR, rc);
79
80 for (const auto &type : results) {
81 std::cout << "MetaType = " << type << std::endl;
82 }
83 }
84
85 HWTEST_F(CameraDeviceImplTest, UTestEnableResult, TestSize.Level0)
86 {
87 std::vector<int32_t> results;
88 results.push_back(OHOS_SENSOR_EXPOSURE_TIME);
89 results.push_back(OHOS_SENSOR_COLOR_CORRECTION_GAINS);
90 CamRetCode rc = (CamRetCode)cameraDevice_->EnableResult(results);
91 ASSERT_EQ(HDI::Camera::V1_0::NO_ERROR, rc);
92 }
93
94 HWTEST_F(CameraDeviceImplTest, UTestDisableResult, TestSize.Level0)
95 {
96 std::vector<int32_t> results;
97 results.push_back(OHOS_SENSOR_EXPOSURE_TIME);
98 results.push_back(OHOS_SENSOR_COLOR_CORRECTION_GAINS);
99 CamRetCode rc = (CamRetCode)cameraDevice_->EnableResult(results);
100 ASSERT_EQ(HDI::Camera::V1_0::NO_ERROR, rc);
101 std::vector<int32_t> disable_tag;
102 rc = (CamRetCode)cameraDevice_->GetEnabledResults(disable_tag);
103 ASSERT_EQ(HDI::Camera::V1_0::NO_ERROR, rc);
104
105 rc = (CamRetCode)cameraDevice_->DisableResult(disable_tag);
106 ASSERT_EQ(HDI::Camera::V1_0::NO_ERROR, rc);
107 }
108
109 HWTEST_F(CameraDeviceImplTest, UTestClose, TestSize.Level0)
110 {
111 if (cameraDevice_ != nullptr) {
112 cameraDevice_->Close();
113 cameraDevice_ = nullptr;
114 }
115 }
116