• 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 HWTEST_F(CameraHostImplTest, UTestSetFlashlight, TestSize.Level0)
53 {
54     bool ret = InitCameraHost();
55     EXPECT_EQ(true, ret);
56 
57     ret = GetCameraIds();
58     EXPECT_EQ(true, ret);
59 
60     std::shared_ptr<CameraAbility> ability = nullptr;
61     std::string cameraId = cameraIds_.front();
62     bool isEnable = true;
63     OHOS::Camera::CamRetCode rc =
64         cameraHost_->SetFlashlight(cameraId, isEnable);
65     EXPECT_EQ(OHOS::Camera::CamRetCode::NO_ERROR, rc);
66 
67     sleep(5);
68 
69     isEnable = false;
70     rc = cameraHost_->SetFlashlight(cameraId, isEnable);
71     EXPECT_EQ(OHOS::Camera::CamRetCode::NO_ERROR, rc);
72 }
73 
74 HWTEST_F(CameraHostImplTest, UTestOpenCamera, TestSize.Level0)
75 {
76     bool ret = InitCameraHost();
77     EXPECT_EQ(true, ret);
78 
79     ret = GetCameraIds();
80     EXPECT_EQ(true, ret);
81 
82     std::string cameraId = cameraIds_.front();
83     OHOS::sptr<CameraDeviceCallback> deviceCallback = new CameraDeviceCallback();
84     OHOS::Camera::CamRetCode rc = cameraHost_->OpenCamera(
85         cameraId, deviceCallback, cameraDevice_);
86     EXPECT_EQ(OHOS::Camera::CamRetCode::NO_ERROR, rc);
87 
88     if (cameraDevice_ != nullptr) {
89         cameraDevice_->Close();
90         cameraDevice_ = nullptr;
91     }
92 }
93 
94 HWTEST_F(CameraHostImplTest, OpenCamera_CallbackIsNull, TestSize.Level0)
95 {
96     bool ret = InitCameraHost();
97     EXPECT_EQ(true, ret);
98 
99     ret = GetCameraIds();
100     EXPECT_EQ(true, ret);
101 
102     std::string cameraId = cameraIds_.front();
103     OHOS::sptr<CameraDeviceCallback> deviceCallback = nullptr;
104     OHOS::Camera::CamRetCode rc = cameraHost_->OpenCamera(
105         cameraId, deviceCallback, cameraDevice_);
106     EXPECT_EQ(OHOS::Camera::CamRetCode::INVALID_ARGUMENT, rc);
107 
108     if (cameraDevice_ != nullptr) {
109         cameraDevice_->Close();
110         cameraDevice_ = nullptr;
111     }
112 }
113 
114 HWTEST_F(CameraHostImplTest, OpenCamera_CameraIdIsEmpty, TestSize.Level0)
115 {
116     bool ret = InitCameraHost();
117     EXPECT_EQ(true, ret);
118 
119     std::string cameraId;
120     OHOS::sptr<CameraDeviceCallback> deviceCallback = new CameraDeviceCallback();
121     OHOS::Camera::CamRetCode rc = cameraHost_->OpenCamera(
122         cameraId, deviceCallback, cameraDevice_);
123     EXPECT_EQ(OHOS::Camera::CamRetCode::INVALID_ARGUMENT, rc);
124 
125     if (cameraDevice_ != nullptr) {
126         cameraDevice_->Close();
127         cameraDevice_ = nullptr;
128     }
129 }
130 
131 HWTEST_F(CameraHostImplTest, OpenCamera_CameraIdIsNotFound, TestSize.Level0)
132 {
133     bool ret = InitCameraHost();
134     EXPECT_EQ(true, ret);
135 
136     std::string cameraId = "qwerty";
137     OHOS::sptr<CameraDeviceCallback> deviceCallback = new CameraDeviceCallback();
138     OHOS::Camera::CamRetCode rc = cameraHost_->OpenCamera(
139         cameraId, deviceCallback, cameraDevice_);
140     EXPECT_EQ(OHOS::Camera::CamRetCode::INVALID_ARGUMENT, rc);
141 
142     if (cameraDevice_ != nullptr) {
143         cameraDevice_->Close();
144         cameraDevice_ = nullptr;
145     }
146 }
147 
148 HWTEST_F(CameraHostImplTest, UtestSetCallback, TestSize.Level0)
149 {
150     bool ret = InitCameraHost();
151     EXPECT_EQ(true, ret);
152     OHOS::sptr<CameraHostCallback> callback = new CameraHostCallback();
153     OHOS::Camera::CamRetCode rc = cameraHost_->SetCallback(callback);
154     EXPECT_EQ(OHOS::Camera::CamRetCode::NO_ERROR, rc);
155 }