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