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 #include "open_camera_test.h"
16
SetUpTestCase(void)17 void UtestOpenCameraTest::SetUpTestCase(void)
18 {}
TearDownTestCase(void)19 void UtestOpenCameraTest::TearDownTestCase(void)
20 {}
SetUp(void)21 void UtestOpenCameraTest::SetUp(void)
22 {
23 std::cout << "==========[test log] UtestOpenCameraTest::SetUp.display_0: "<<display_<< std::endl;
24 if (display_ == nullptr) {
25 std::cout << "==========[test log] UtestOpenCameraTest::SetUp.display_1: "<<display_<< std::endl;
26 display_ = std::make_shared<TestDisplay>();
27 std::cout << "==========[test log] UtestOpenCameraTest::SetUp.display_2: "<<display_<< std::endl;
28 std::cout << "==========[test log] UtestOpenCameraTest::SetUp.display_3: "<<display_<< std::endl;
29 display_->Init();
30 std::cout << "==========[test log] UtestOpenCameraTest::SetUp.display_4: "<<display_<< std::endl;
31 }
32 }
TearDown(void)33 void UtestOpenCameraTest::TearDown(void)
34 {
35 display_->Close();
36 }
37
38 /**
39 * @tc.name: OpenCamera
40 * @tc.desc: OpenCamera, success.
41 * @tc.level: Level0
42 * @tc.size: MediumTest
43 * @tc.type: Function
44 */
TEST_F(UtestOpenCameraTest,camera_open_0001)45 TEST_F(UtestOpenCameraTest, camera_open_0001)
46 {
47 std::cout << "==========[test log] OpenCamera, success."<< std::endl;
48 std::vector<std::string> cameraIds;
49 display_->cameraHost->GetCameraIds(cameraIds);
50 for (const auto &cameraId : cameraIds) {
51 std::cout << "cameraId = " << cameraId << std::endl;
52 }
53 std::string cameraId = cameraIds.front();
54 const OHOS::sptr<ICameraDeviceCallback> callback = new DemoCameraDeviceCallback();
55 OHOS::sptr<ICameraDevice> cameraDevice;
56 display_->rc = (CamRetCode)display_->cameraHost->OpenCamera(cameraId, callback, cameraDevice);
57 EXPECT_EQ(true, display_->rc == HDI::Camera::V1_0::NO_ERROR);
58 }
59
60 /**
61 * @tc.name: OpenCamera cameraID input error
62 * @tc.desc: OpenCamera, cameraID is not found.
63 * @tc.level: Level2
64 * @tc.size: MediumTest
65 * @tc.type: Function
66 */
TEST_F(UtestOpenCameraTest,camera_open_0010)67 TEST_F(UtestOpenCameraTest, camera_open_0010)
68 {
69 std::cout << "==========[test log] OpenCamera, cameraID is not found."<< std::endl;
70 sptr<ICameraHost> cameraHost = display_->CameraHostImplGetInstance();
71 std::string cameraId = "qwerty";
72 OHOS::sptr<ICameraDeviceCallback> callback = new DemoCameraDeviceCallback();
73 std::cout << "opencamera begin" << std::endl;
74 display_->rc = (CamRetCode)cameraHost->OpenCamera(cameraId, callback, display_->cameraDevice);
75 std::cout << "opencamera end" << std::endl;
76 EXPECT_EQ(INVALID_ARGUMENT, display_->rc);
77 }
78
79 /**
80 * @tc.name: OpenCamera cameraID input error
81 * @tc.desc: OpenCamera, cameraID is illegal.
82 * @tc.level: Level2
83 * @tc.size: MediumTest
84 * @tc.type: Function
85 */
TEST_F(UtestOpenCameraTest,camera_open_0011)86 TEST_F(UtestOpenCameraTest, camera_open_0011)
87 {
88 std::cout << "==========[test log] OpenCamera, cameraID is illegal."<< std::endl;
89 std::string cameraId = "1";
90 OHOS::sptr<ICameraDeviceCallback> callback = new DemoCameraDeviceCallback();
91 display_->rc = (CamRetCode)display_->cameraHost->OpenCamera(cameraId, callback, display_->cameraDevice);
92 EXPECT_EQ(INVALID_ARGUMENT, display_->rc);
93 }
94
95 /**
96 * @tc.name: OpenCamera cameraID input error
97 * @tc.desc: OpenCamera, cameraID is Empty.
98 * @tc.level: Level2
99 * @tc.size: MediumTest
100 * @tc.type: Function
101 */
TEST_F(UtestOpenCameraTest,camera_open_0012)102 TEST_F(UtestOpenCameraTest, camera_open_0012)
103 {
104 std::cout << "==========[test log] OpenCamera, cameraID is Empty."<< std::endl;
105 std::string cameraId;
106 OHOS::sptr<ICameraDeviceCallback> callback = new DemoCameraDeviceCallback();
107 display_->rc = (CamRetCode)display_->cameraHost->OpenCamera(cameraId, callback, display_->cameraDevice);
108 EXPECT_EQ(INVALID_ARGUMENT, display_->rc);
109 }
110
111 /**
112 * @tc.name: OpenCamera Callback input error
113 * @tc.desc: OpenCamera, Callback is Null.
114 * @tc.level: Level2
115 * @tc.size: MediumTest
116 * @tc.type: Function
117 */
TEST_F(UtestOpenCameraTest,camera_open_0020)118 TEST_F(UtestOpenCameraTest, camera_open_0020)
119 {
120 std::cout << "==========[test log] OpenCamera, Callback is Null."<< std::endl;
121 std::string cameraId = "CAMERA_FIRST";
122 OHOS::sptr<ICameraDeviceCallback> callback = nullptr;
123 display_->rc = (CamRetCode)display_->cameraHost->OpenCamera(cameraId, callback, display_->cameraDevice);
124 EXPECT_EQ(INVALID_ARGUMENT, display_->rc);
125 }
126
127 /**
128 * @tc.name: OpenCamera cameraID & Callback input error
129 * @tc.desc: OpenCamera, cameraID is not found, callback is null.
130 * @tc.level: Level1
131 * @tc.size: MediumTest
132 * @tc.type: Function
133 */
TEST_F(UtestOpenCameraTest,camera_open_0030)134 TEST_F(UtestOpenCameraTest, camera_open_0030)
135 {
136 std::cout << "==========[test log] OpenCamera, cameraID is not found, callback is null."<< std::endl;
137 sptr<ICameraHost> cameraHost = display_->CameraHostImplGetInstance();
138 std::string cameraId = "qwerty";
139 OHOS::sptr<ICameraDeviceCallback> callback = nullptr;
140 std::cout << "opencamera begin" << std::endl;
141 display_->rc = (CamRetCode)display_->cameraHost->OpenCamera(cameraId, callback, display_->cameraDevice);
142 std::cout << "opencamera end" << std::endl;
143 EXPECT_EQ(INVALID_ARGUMENT, display_-> rc);
144 }
145
146 /**
147 * @tc.name: OpenCamera cameraID & Callback input error
148 * @tc.desc: OpenCamera, cameraID is illegal, callback is null.
149 * @tc.level: Level1
150 * @tc.size: MediumTest
151 * @tc.type: Function
152 */
TEST_F(UtestOpenCameraTest,camera_open_0031)153 TEST_F(UtestOpenCameraTest, camera_open_0031)
154 {
155 std::cout << "==========[test log] OpenCamera, cameraID is illegal, callback is null."<< std::endl;
156 std::string cameraId = "1";
157 OHOS::sptr<ICameraDeviceCallback> callback = nullptr;
158 display_->rc = (CamRetCode)display_->cameraHost->OpenCamera(cameraId, callback, display_->cameraDevice);
159 EXPECT_EQ(INVALID_ARGUMENT, display_-> rc);
160 }
161
162 /**
163 * @tc.name: OpenCamera cameraID & Callback input error
164 * @tc.desc: OpenCamera, cameraID is Empty, callback is null.
165 * @tc.level: Level1
166 * @tc.size: MediumTest
167 * @tc.type: Function
168 */
TEST_F(UtestOpenCameraTest,camera_open_0032)169 TEST_F(UtestOpenCameraTest, camera_open_0032)
170 {
171 std::cout << "==========[test log] OpenCamera, cameraID is Empty, callback is null."<< std::endl;
172 std::string cameraId;
173 OHOS::sptr<ICameraDeviceCallback> callback = nullptr;
174 display_->rc = (CamRetCode)display_->cameraHost->OpenCamera(cameraId, callback, display_->cameraDevice);
175 EXPECT_EQ(INVALID_ARGUMENT, display_->rc);
176 }
177
178 /**
179 * @tc.name: Open all Cameras
180 * @tc.desc: Open every Cameras what the getCameraId get.
181 * @tc.level: Level2
182 * @tc.size: MediumTest
183 * @tc.type: Function
184 */
TEST_F(UtestOpenCameraTest,camera_open_0050)185 TEST_F(UtestOpenCameraTest, camera_open_0050)
186 {
187 std::cout << "==========[test log] Open all Cameras."<< std::endl;
188 std::vector<std::string> cameraIds;
189 display_->cameraHost->GetCameraIds(cameraIds);
190 for (auto &cameraId : cameraIds) {
191 std::cout << "cameraId = " << cameraId << std::endl;
192 const OHOS::sptr<ICameraDeviceCallback> callback = new DemoCameraDeviceCallback();
193 display_->rc = (CamRetCode)display_->cameraHost->OpenCamera(cameraId, callback, display_->cameraDevice);
194 EXPECT_EQ(true, display_->rc == HDI::Camera::V1_0::NO_ERROR);
195 if (display_->rc == HDI::Camera::V1_0::NO_ERROR) {
196 std::cout << "==========[test log] OpenCamera success, cameraId = " << cameraId << std::endl;
197 } else {
198 std::cout << "==========[test log] OpenCamera fail, rc = ";
199 std::cout << display_->rc << ", cameraId = " << cameraId << std::endl;
200 }
201 }
202 }
203