• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_host_impl.h"
17 
18 using namespace OHOS;
19 using namespace testing::ext;
20 using namespace OHOS::Camera;
21 using namespace OHOS::HDI::Camera::V1_0;
22 
23 HWTEST_F(CameraHostImplTest, UTestCreateCameraHost, TestSize.Level0)
24 {
25     bool ret = InitCameraHost();
26     ASSERT_EQ(true, ret);
27 }
28 
29 HWTEST_F(CameraHostImplTest, UTestGetCameraIds, TestSize.Level0)
30 {
31     bool ret = InitCameraHost();
32     ASSERT_EQ(true, ret);
33 
34     ret = GetCameraIds();
35     ASSERT_EQ(true, ret);
36 }
37 
38 HWTEST_F(CameraHostImplTest, UTestGetCameraAbility, TestSize.Level0)
39 {
40     bool ret = InitCameraHost();
41     ASSERT_EQ(true, ret);
42 
43     ret = GetCameraIds();
44     ASSERT_EQ(true, ret);
45 
46     std::vector<uint8_t> ability;
47     std::string cameraId = cameraIds_.front();
48     CamRetCode rc = (CamRetCode)cameraHost_->GetCameraAbility(cameraId, ability);
49     ASSERT_EQ(HDI::Camera::V1_0::NO_ERROR, rc);
50 }
51 
52 #ifndef CAMERA_BUILT_ON_OHOS_LITE
53 HWTEST_F(CameraHostImplTest, UTestSetFlashlight, TestSize.Level0)
54 {
55     bool ret = InitCameraHost();
56     ASSERT_EQ(true, ret);
57 
58     ret = GetCameraIds();
59     ASSERT_EQ(true, ret);
60 
61     std::string cameraId = cameraIds_.front();
62     bool isEnable = true;
63     CamRetCode rc = (CamRetCode)cameraHost_->SetFlashlight(cameraId, isEnable);
64     ASSERT_EQ(HDI::Camera::V1_0::NO_ERROR, rc);
65 
66     sleep(1);
67 
68     isEnable = false;
69     rc = (CamRetCode)cameraHost_->SetFlashlight(cameraId, isEnable);
70     ASSERT_EQ(HDI::Camera::V1_0::NO_ERROR, rc);
71 }
72 #endif
73 
74 HWTEST_F(CameraHostImplTest, UTestOpenCamera, TestSize.Level0)
75 {
76     bool ret = InitCameraHost();
77     ASSERT_EQ(true, ret);
78 
79     ret = GetCameraIds();
80     ASSERT_EQ(true, ret);
81 
82     std::string cameraId = cameraIds_.front();
83 #ifdef CAMERA_BUILT_ON_OHOS_LITE
84     std::shared_ptr<CameraDeviceCallback> deviceCallback = std::make_shared<CameraDeviceCallback>();
85 #else
86     sptr<ICameraDeviceCallback> deviceCallback = new DemoCameraDeviceCallback();
87 #endif
88     CamRetCode rc = (CamRetCode)cameraHost_->OpenCamera(cameraId, deviceCallback, cameraDevice_);
89     ASSERT_EQ(HDI::Camera::V1_0::NO_ERROR, rc);
90 
91     if (cameraDevice_ != nullptr) {
92         cameraDevice_->Close();
93         cameraDevice_ = nullptr;
94     }
95 }
96 
97 HWTEST_F(CameraHostImplTest, OpenCamera_CallbackIsNull, TestSize.Level0)
98 {
99     bool ret = InitCameraHost();
100     ASSERT_EQ(true, ret);
101 
102     ret = GetCameraIds();
103     ASSERT_EQ(true, ret);
104 
105     std::string cameraId = cameraIds_.front();
106 #ifdef CAMERA_BUILT_ON_OHOS_LITE
107     std::shared_ptr<CameraDeviceCallback> deviceCallback = nullptr;
108 #else
109     OHOS::sptr<ICameraDeviceCallback> deviceCallback = nullptr;
110 #endif
111     CamRetCode rc = (CamRetCode)cameraHost_->OpenCamera(cameraId, deviceCallback, cameraDevice_);
112     ASSERT_EQ(INVALID_ARGUMENT, rc);
113 
114     if (cameraDevice_ != nullptr) {
115         cameraDevice_->Close();
116         cameraDevice_ = nullptr;
117     }
118 }
119 
120 HWTEST_F(CameraHostImplTest, OpenCamera_CameraIdIsEmpty, TestSize.Level0)
121 {
122     bool ret = InitCameraHost();
123     ASSERT_EQ(true, ret);
124 
125     std::string cameraId;
126 #ifdef CAMERA_BUILT_ON_OHOS_LITE
127     std::shared_ptr<CameraDeviceCallback> deviceCallback = std::make_shared<CameraDeviceCallback>();
128 #else
129     sptr<ICameraDeviceCallback> deviceCallback = new DemoCameraDeviceCallback();
130 #endif
131     CamRetCode rc = (CamRetCode)cameraHost_->OpenCamera(cameraId, deviceCallback, cameraDevice_);
132     ASSERT_EQ(INVALID_ARGUMENT, rc);
133 
134     if (cameraDevice_ != nullptr) {
135         cameraDevice_->Close();
136         cameraDevice_ = nullptr;
137     }
138 }
139 
140 HWTEST_F(CameraHostImplTest, OpenCamera_CameraIdIsNotFound, TestSize.Level0)
141 {
142     bool ret = InitCameraHost();
143     ASSERT_EQ(true, ret);
144 
145     std::string cameraId = "qwerty";
146 #ifdef CAMERA_BUILT_ON_OHOS_LITE
147     std::shared_ptr<CameraDeviceCallback> deviceCallback = std::make_shared<CameraDeviceCallback>();
148 #else
149     OHOS::sptr<ICameraDeviceCallback> deviceCallback = new DemoCameraDeviceCallback();
150 #endif
151     CamRetCode rc = (CamRetCode)cameraHost_->OpenCamera(cameraId, deviceCallback, cameraDevice_);
152     ASSERT_EQ(INVALID_ARGUMENT, rc);
153 
154     if (cameraDevice_ != nullptr) {
155         cameraDevice_->Close();
156         cameraDevice_ = nullptr;
157     }
158 }
159 
160 HWTEST_F(CameraHostImplTest, UtestSetCallback, TestSize.Level0)
161 {
162     bool ret = InitCameraHost();
163     ASSERT_EQ(true, ret);
164 #ifdef CAMERA_BUILT_ON_OHOS_LITE
165     std::shared_ptr<CameraHostCallback> callback = std::make_shared<CameraHostCallback>();
166 #else
167     OHOS::sptr<ICameraHostCallback> callback = new DemoCameraHostCallback();
168 #endif
169     CamRetCode rc = (CamRetCode)cameraHost_->SetCallback(callback);
170     ASSERT_EQ(HDI::Camera::V1_0::NO_ERROR, rc);
171 }
172