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