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 }