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 "hdi_host_test.h" 17 18using namespace OHOS; 19using namespace std; 20using namespace testing::ext; 21using namespace OHOS::Camera; 22 23void HdiHostTest::SetUpTestCase(void) {} 24void HdiHostTest::TearDownTestCase(void) {} 25void HdiHostTest::SetUp(void) 26{ 27 Test_ = std::make_shared<OHOS::Camera::Test>(); 28 Test_->Init(); 29} 30void HdiHostTest::TearDown(void) 31{ 32 Test_->Close(); 33} 34 35/** 36 * @tc.name: GetCameraIds 37 * @tc.desc: CamRetCode GetCameraIds([out] String[] ids); 38 * @tc.size: MediumTest 39 * @tc.type: Function 40 */ 41HWTEST_F(HdiHostTest, Camera_Hdi_0010, TestSize.Level0) 42{ 43 std::cout << "==========[test log]Check hdi_host: GetCameraIds([out] String[] ids)." << std::endl; 44 if (Test_->cameraDevice == nullptr) { 45 Test_->rc = Test_->service->GetCameraIds(Test_->cameraIds); 46 EXPECT_EQ(Test_->rc, Camera::NO_ERROR); 47 EXPECT_LT(0, Test_->cameraIds.size()); 48 std::cout << "==========[test log]Check hdi_host:cameraIds.size()= ."<< Test_->cameraIds.size() << std::endl; 49 } 50} 51 52/** 53 * @tc.name: GetCameraAbility 54 * @tc.desc: GetCameraAbility, normal cameraId. 55 * @tc.size: MediumTest 56 * @tc.type: Function 57 */ 58HWTEST_F(HdiHostTest, Camera_Hdi_0020, TestSize.Level0) 59{ 60 std::cout << "==========[test log]Check hdi_host: GetCameraAbility, normal cameraId." << std::endl; 61 if (Test_->cameraDevice == nullptr) { 62 Test_->rc = Test_->service->GetCameraIds(Test_->cameraIds); 63 EXPECT_EQ(Test_->rc, Camera::NO_ERROR); 64 for (int i=0; i<Test_->cameraIds.size(); i++) { 65 Test_->rc = Test_->service->GetCameraAbility(Test_->cameraIds[i], Test_->ability); 66 std::cout << "==========[test log]Check hdi_host: cameraid = " << Test_->cameraIds[i] << std::endl; 67 EXPECT_EQ(Test_->rc, Camera::NO_ERROR); 68 } 69 } 70} 71 72/** 73 * @tc.name: GetCameraAbility 74 * @tc.desc: GetCameraAbility, abnormal cameraId = 'abc'. 75 * @tc.size: MediumTest 76 * @tc.type: Function 77 */ 78HWTEST_F(HdiHostTest, Camera_Hdi_0021, TestSize.Level2) 79{ 80 std::cout << "==========[test log]Check hdi_host: GetCameraAbility, abnormal cameraId = 'abc'." << std::endl; 81 if (Test_->cameraDevice == nullptr) { 82 std::string cameraId = "abc"; 83 Test_->rc = Test_->service->GetCameraAbility(cameraId, Test_->ability); 84 std::cout << "==========[test log]Check hdi_host: Test_->rc ="<< Test_->rc << std::endl; 85 EXPECT_EQ(true, Test_->rc == Camera::CamRetCode::INVALID_ARGUMENT); 86 } 87} 88 89/** 90 * @tc.name: GetCameraAbility 91 * @tc.desc: GetCameraAbility, abnormal cameraId = '' 92 * @tc.size: MediumTest 93 * @tc.type: Function 94 */ 95HWTEST_F(HdiHostTest, Camera_Hdi_0022, TestSize.Level2) 96{ 97 std::cout << "==========[test log]Check hdi_host: GetCameraAbility, abnormal cameraId = ''." << std::endl; 98 if (Test_->cameraDevice == nullptr) { 99 std::string cameraId = ""; 100 Test_->rc = Test_->service->GetCameraAbility(cameraId, Test_->ability); 101 std::cout << "==========[test log]Check hdi_host: Test_->rc ="<< Test_->rc << std::endl; 102 EXPECT_EQ(true, Test_->rc == Camera::CamRetCode::INVALID_ARGUMENT); 103 } 104} 105 106/** 107 * @tc.name: OpenCamera 108 * @tc.desc: OpenCamera, normal cameraId. 109 * @tc.size: MediumTest 110 * @tc.type: Function 111 */ 112HWTEST_F(HdiHostTest, Camera_Hdi_0030, TestSize.Level0) 113{ 114 std::cout << "==========[test log]Check hdi_host: OpenCamera, normal cameraId."<< std::endl; 115 if (Test_->cameraDevice == nullptr) { 116 Test_->service->GetCameraIds(Test_->cameraIds); 117 Test_->CreateDeviceCallback(); 118 Test_->rc = Test_->service->OpenCamera(Test_->cameraIds.front(), Test_->deviceCallback, Test_->cameraDevice); 119 EXPECT_EQ(Test_->rc, Camera::NO_ERROR); 120 if (Test_->rc != Camera::NO_ERROR || Test_->cameraDevice == nullptr) { 121 std::cout << "==========[test log]Check hdi_host: OpenCamera failed." << std::endl; 122 return; 123 } 124 std::cout << "==========[test log]Check hdi_host: OpenCamera success." << std::endl; 125 } 126} 127 128/** 129 * @tc.name: OpenCamera 130 * @tc.desc: OpenCamera, cameraID is not found. 131 * @tc.size: MediumTest 132 * @tc.type: Function 133 */ 134HWTEST_F(HdiHostTest, Camera_Hdi_0031, TestSize.Level2) 135{ 136 std::cout << "==========[test log]Check hdi_host: OpenCamera, cameraID is not found."<< std::endl; 137 if (Test_->cameraDevice == nullptr) { 138 std::string cameraId = "qwerty"; 139 Test_->CreateDeviceCallback(); 140 Test_->rc = Test_->service->OpenCamera(cameraId, Test_->deviceCallback, Test_->cameraDevice); 141 EXPECT_EQ(true, Test_->rc == Camera::INVALID_ARGUMENT); 142 } 143} 144 145/** 146 * @tc.name: OpenCamera 147 * @tc.desc: OpenCamera, cameraID is illegal. 148 * @tc.size: MediumTest 149 * @tc.type: Function 150 */ 151HWTEST_F(HdiHostTest, Camera_Hdi_0032, TestSize.Level2) 152{ 153 std::cout << "==========[test log]Check hdi_host: OpenCamera, cameraID is illegal."<< std::endl; 154 if (Test_->cameraDevice == nullptr) { 155 std::string cameraId = "1"; 156 Test_->CreateDeviceCallback(); 157 Test_->rc = Test_->service->OpenCamera(cameraId, Test_->deviceCallback, Test_->cameraDevice); 158 EXPECT_EQ(true, Test_->rc == Camera::INVALID_ARGUMENT); 159 } 160} 161 162/** 163 * @tc.name: OpenCamera 164 * @tc.desc: OpenCamera, cameraID is Empty. 165 * @tc.size: MediumTest 166 * @tc.type: Function 167 */ 168HWTEST_F(HdiHostTest, Camera_Hdi_0033, TestSize.Level2) 169{ 170 std::cout << "==========[test log]Check hdi_host: OpenCamera, cameraID is Empty."<< std::endl; 171 if (Test_->cameraDevice == nullptr) { 172 std::string cameraId = ""; 173 Test_->CreateDeviceCallback(); 174 Test_->rc = Test_->service->OpenCamera(cameraId, Test_->deviceCallback, Test_->cameraDevice); 175 EXPECT_EQ(true, Test_->rc == Camera::INVALID_ARGUMENT); 176 } 177} 178 179/** 180 * @tc.name: OpenCamera 181 * @tc.desc: OpenCamera, Callback is Null. 182 * @tc.size: MediumTest 183 * @tc.type: Function 184 */ 185HWTEST_F(HdiHostTest, Camera_Hdi_0034, TestSize.Level2) 186{ 187 std::cout << "==========[test log]Check hdi_host: OpenCamera, Callback is Null."<< std::endl; 188 if (Test_->cameraDevice == nullptr) { 189 Test_->service->GetCameraIds(Test_->cameraIds); 190 Test_->deviceCallback = nullptr; 191 Test_->rc = Test_->service->OpenCamera(Test_->cameraIds.front(), Test_->deviceCallback, Test_->cameraDevice); 192 EXPECT_EQ(true, Test_->rc == Camera::INVALID_ARGUMENT); 193 } 194} 195 196/** 197 * @tc.name: OpenCamera 198 * @tc.desc: cameraID is not found, callback is null. 199 * @tc.size: MediumTest 200 * @tc.type: Function 201 */ 202HWTEST_F(HdiHostTest, Camera_Hdi_0035, TestSize.Level2) 203{ 204 std::cout << "==========[test log]Check hdi_host: OpenCamera, cameraID is not found, callback is null."<< std::endl; 205 if (Test_->cameraDevice == nullptr) { 206 std::string cameraId = "abc"; 207 Test_->CreateDeviceCallback(); 208 Test_->rc = Test_->service->OpenCamera(cameraId, Test_->deviceCallback, Test_->cameraDevice); 209 EXPECT_EQ(true, Test_->rc == Camera::INVALID_ARGUMENT); 210 } 211} 212 213/** 214 * @tc.name: SetFlashlight 215 * @tc.desc: SetFlashlight, normal cameraId. 216 * @tc.size: MediumTest 217 * @tc.type: Function 218 */ 219HWTEST_F(HdiHostTest, Camera_Hdi_0040, TestSize.Level0) 220{ 221 std::cout << "==========[test log]Check hdi_host: SetFlashlight, normal cameraId." << std::endl; 222 if (Test_->cameraDevice == nullptr) { 223 Test_->service->GetCameraIds(Test_->cameraIds); 224 Test_->status = true; 225 Test_->rc = Test_->service->SetFlashlight(Test_->cameraIds.front(), Test_->status); 226 EXPECT_EQ(Test_->rc, Camera::NO_ERROR); 227 } 228} 229 230/** 231 * @tc.name: SetFlashlight 232 * @tc.desc: SetFlashlight, cameraId is not found. 233 * @tc.size: MediumTest 234 * @tc.type: Function 235 */ 236HWTEST_F(HdiHostTest, Camera_Hdi_0041, TestSize.Level2) 237{ 238 std::cout << "==========[test log]Check hdi_host: SetFlashlight, cameraId is not found." << std::endl; 239 if (Test_->cameraDevice == nullptr) { 240 std::string cameraId = "abc"; 241 Test_->status = true; 242 Test_->rc = Test_->service->SetFlashlight(cameraId, Test_->status); 243 EXPECT_EQ(true, Test_->rc == Camera::INVALID_ARGUMENT); 244 } 245} 246 247/** 248 * @tc.name: SetFlashlight 249 * @tc.desc: SetFlashlight, cameraId is empty. 250 * @tc.size: MediumTest 251 * @tc.type: Function 252 */ 253HWTEST_F(HdiHostTest, Camera_Hdi_0042, TestSize.Level2) 254{ 255 std::cout << "==========[test log]Check hdi_host: SetFlashlight, cameraId is empty." << std::endl; 256 if (Test_->cameraDevice == nullptr) { 257 std::string cameraId = ""; 258 Test_->status = true; 259 Test_->rc = Test_->service->SetFlashlight(cameraId, Test_->status); 260 EXPECT_EQ(true, Test_->rc == Camera::INVALID_ARGUMENT); 261 } 262} 263 264/** 265 * @tc.name: SetFlashlight 266 * @tc.desc: SetFlashlight, status is true. 267 * @tc.size: MediumTest 268 * @tc.type: Function 269 */ 270HWTEST_F(HdiHostTest, Camera_Hdi_0043, TestSize.Level2) 271{ 272 std::cout << "==========[test log]Check hdi_host: SetFlashlight, normal cameraId." << std::endl; 273 if (Test_->cameraDevice == nullptr) { 274 Test_->service->GetCameraIds(Test_->cameraIds); 275 Test_->status = true; 276 Test_->rc = Test_->service->SetFlashlight(Test_->cameraIds.front(), Test_->status); 277 EXPECT_EQ(Test_->rc, Camera::NO_ERROR); 278 } 279} 280 281/** 282 * @tc.name: SetFlashlight 283 * @tc.desc: SetFlashlight, status is false. 284 * @tc.size: MediumTest 285 * @tc.type: Function 286 */ 287HWTEST_F(HdiHostTest, Camera_Hdi_0044, TestSize.Level2) 288{ 289 std::cout << "==========[test log]Check hdi_host: SetFlashlight, normal cameraId." << std::endl; 290 if (Test_->cameraDevice == nullptr) { 291 Test_->service->GetCameraIds(Test_->cameraIds); 292 Test_->status = false; 293 Test_->rc = Test_->service->SetFlashlight(Test_->cameraIds.front(), Test_->status); 294 EXPECT_EQ(Test_->rc, Camera::NO_ERROR); 295 } 296} 297