From 1109a35e5e3f140c828a32b3391c14ab0fffc183 Mon Sep 17 00:00:00 2001 From: zhuxu Date: Thu, 7 Apr 2022 19:21:34 +0800 Subject: [PATCH] fix distributed camera ut bug Signed-off-by: zhuxu --- .../cameraoperator/client/BUILD.gn | 2 - .../client/include/dcamera_client.h | 52 ------------------- .../client/src/dcamera_client.cpp | 16 ------ .../client/src/dcamera_client_common.cpp | 16 ------ .../unittest/common/cameraoperator/BUILD.gn | 26 +++++----- .../cameraoperator/dcamera_client_test.cpp | 4 +- services/cameraservice/sinkservice/BUILD.gn | 2 - .../dcamera_sink_controller_test.cpp | 10 ++-- .../dcamera_sink_data_process_test.cpp | 5 +- .../dcamera_sink_dev_test.cpp | 5 +- .../dcamera_sink_output_test.cpp | 5 +- 11 files changed, 29 insertions(+), 114 deletions(-) diff --git a/services/cameraservice/cameraoperator/client/BUILD.gn b/services/cameraservice/cameraoperator/client/BUILD.gn index a5fc17a..ca1797d 100644 --- a/services/cameraservice/cameraoperator/client/BUILD.gn +++ b/services/cameraservice/cameraoperator/client/BUILD.gn @@ -87,8 +87,6 @@ ohos_shared_library("distributed_camera_client") { ] external_deps = [ - "access_token:libaccesstoken_sdk", - "access_token:libtoken_setproc", "hiviewdfx_hilog_native:libhilog", "multimedia_media_standard:media_client", ] diff --git a/services/cameraservice/cameraoperator/client/include/dcamera_client.h b/services/cameraservice/cameraoperator/client/include/dcamera_client.h index 12c76ee..f97d2ee 100644 --- a/services/cameraservice/cameraoperator/client/include/dcamera_client.h +++ b/services/cameraservice/cameraoperator/client/include/dcamera_client.h @@ -18,19 +18,14 @@ #include "icamera_operator.h" -#include "access_token.h" -#include "accesstoken_kit.h" #include "camera_info.h" #include "camera_input.h" #include "camera_manager.h" #include "capture_input.h" #include "capture_output.h" #include "capture_session.h" -#include "hap_token_info.h" -#include "ipc_skeleton.h" #include "photo_output.h" #include "preview_output.h" -#include "token_setproc.h" #include "video_output.h" #include "dcamera_photo_surface_listener.h" @@ -38,52 +33,6 @@ namespace OHOS { namespace DistributedHardware { -const std::string OHOS_PERMISSION_CAMERA = "ohos.permission.CAMERA"; -const std::string APP_ID_DESC = "distributed camera"; -const std::string LABEL = "label"; -const std::string DESCRIPTION = "distributed camera"; -const std::string RES_DEVICE_ID = "local"; -const std::string DOMAIN = "distribtued_camera.domain"; -const int32_t USER_ID = 1; -const int32_t INST_INDEX = 0; -const int32_t GRANT_MODE = 1; -const int32_t GRANT_FLAGS = 1; -const int32_t LABEL_ID = 1; -const int32_t DESCRIPTION_ID = 1; - -const Security::AccessToken::HapInfoParams HAP_INFO_PARAMS = { - .userID = USER_ID, - .bundleName = OHOS_PERMISSION_CAMERA, - .instIndex = INST_INDEX, - .appIDDesc = APP_ID_DESC -}; - -const Security::AccessToken::PermissionDef PERMISSION_DEF = { - .permissionName = OHOS_PERMISSION_CAMERA, - .bundleName = OHOS_PERMISSION_CAMERA, - .grantMode = GRANT_MODE, - .availableLevel = Security::AccessToken::ATokenAplEnum::APL_NORMAL, - .label = LABEL, - .labelId = LABEL_ID, - .description = DESCRIPTION, - .descriptionId = DESCRIPTION_ID -}; - -const Security::AccessToken::PermissionStateFull PERMISSION_STATE_FULL = { - .permissionName = OHOS_PERMISSION_CAMERA, - .isGeneral = true, - .resDeviceID = {RES_DEVICE_ID}, - .grantStatus = {Security::AccessToken::PermissionState::PERMISSION_GRANTED}, - .grantFlags = {GRANT_FLAGS} -}; - -const Security::AccessToken::HapPolicyParams HAP_POLICY_PARAMS = { - .apl = Security::AccessToken::ATokenAplEnum::APL_NORMAL, - .domain = DOMAIN, - .permList = {PERMISSION_DEF}, - .permStateList = {PERMISSION_STATE_FULL} -}; - class DCameraClient : public ICameraOperator { public: explicit DCameraClient(const std::string& dhId); @@ -124,7 +73,6 @@ private: std::shared_ptr resultCallback_; std::shared_ptr photoListener_; std::shared_ptr videoListener_; - Security::AccessToken::AccessTokenIDEx tokenIdEx_; }; } // namespace DistributedHardware } // namespace OHOS diff --git a/services/cameraservice/cameraoperator/client/src/dcamera_client.cpp b/services/cameraservice/cameraoperator/client/src/dcamera_client.cpp index f3b901c..5f50dc9 100644 --- a/services/cameraservice/cameraoperator/client/src/dcamera_client.cpp +++ b/services/cameraservice/cameraoperator/client/src/dcamera_client.cpp @@ -36,21 +36,6 @@ DCameraClient::DCameraClient(const std::string& dhId) DHLOGI("DCameraClient Constructor dhId: %s", GetAnonyString(dhId).c_str()); cameraId_ = dhId.substr(CAMERA_ID_PREFIX.size()); isInit_ = false; - - tokenIdEx_ = Security::AccessToken::AccessTokenKit::AllocHapToken(HAP_INFO_PARAMS, HAP_POLICY_PARAMS); - if (tokenIdEx_.tokenIdExStruct.tokenID == 0) { - DHLOGE("DCameraClient Constructor alloc tokenId failed, dhId: %s", GetAnonyString(dhId).c_str()); - return; - } - - (void)SetSelfTokenID(tokenIdEx_.tokenIdExStruct.tokenID); - - int32_t ret = Security::AccessToken::AccessTokenKit::GrantPermission(tokenIdEx_.tokenIdExStruct.tokenID, - "ohos.permission.CAMERA", Security::AccessToken::PERMISSION_USER_FIXED); - if (ret != 0) { - DHLOGE("DCameraClient Constructor grant permission failed, dhId: %s", GetAnonyString(dhId).c_str()); - return; - } } DCameraClient::~DCameraClient() @@ -58,7 +43,6 @@ DCameraClient::~DCameraClient() if (isInit_) { UnInit(); } - (void)Security::AccessToken::AccessTokenKit::DeleteToken(tokenIdEx_.tokenIdExStruct.tokenID); } int32_t DCameraClient::Init() diff --git a/services/cameraservice/cameraoperator/client/src/dcamera_client_common.cpp b/services/cameraservice/cameraoperator/client/src/dcamera_client_common.cpp index 452cae5..2a026d4 100644 --- a/services/cameraservice/cameraoperator/client/src/dcamera_client_common.cpp +++ b/services/cameraservice/cameraoperator/client/src/dcamera_client_common.cpp @@ -35,21 +35,6 @@ DCameraClient::DCameraClient(const std::string& dhId) DHLOGI("DCameraClientCommon Constructor dhId: %s", GetAnonyString(dhId).c_str()); cameraId_ = dhId.substr(CAMERA_ID_PREFIX.size()); isInit_ = false; - - tokenIdEx_ = Security::AccessToken::AccessTokenKit::AllocHapToken(HAP_INFO_PARAMS, HAP_POLICY_PARAMS); - if (tokenIdEx_.tokenIdExStruct.tokenID == 0) { - DHLOGE("DCameraClientCommon Constructor alloc tokenId failed, dhId: %s", GetAnonyString(dhId).c_str()); - return; - } - - (void)SetSelfTokenID(tokenIdEx_.tokenIdExStruct.tokenID); - - int32_t ret = Security::AccessToken::AccessTokenKit::GrantPermission(tokenIdEx_.tokenIdExStruct.tokenID, - "ohos.permission.CAMERA", Security::AccessToken::PERMISSION_USER_FIXED); - if (ret != 0) { - DHLOGE("DCameraClientCommon Constructor grant permission failed, dhId: %s", GetAnonyString(dhId).c_str()); - return; - } } DCameraClient::~DCameraClient() @@ -57,7 +42,6 @@ DCameraClient::~DCameraClient() if (isInit_) { UnInit(); } - (void)Security::AccessToken::AccessTokenKit::DeleteToken(tokenIdEx_.tokenIdExStruct.tokenID); } int32_t DCameraClient::Init() diff --git a/services/cameraservice/cameraoperator/client/test/unittest/common/cameraoperator/BUILD.gn b/services/cameraservice/cameraoperator/client/test/unittest/common/cameraoperator/BUILD.gn index 851adf8..4608245 100644 --- a/services/cameraservice/cameraoperator/client/test/unittest/common/cameraoperator/BUILD.gn +++ b/services/cameraservice/cameraoperator/client/test/unittest/common/cameraoperator/BUILD.gn @@ -12,9 +12,7 @@ # limitations under the License. import("//build/test.gni") -import( - "//foundation/distributedhardware/distributedcamera/distributedcamera.gni") - +import("//foundation/distributedhardware/distributedcamera/distributedcamera.gni") module_out_path = "distributed_camera/dcamera_client_test" config("module_private_config") { @@ -53,28 +51,28 @@ config("module_private_config") { ohos_unittest("DCameraClientTest") { module_out_path = module_out_path - sources = [ "dcamera_client_test.cpp" ] + sources = [ + "dcamera_client_test.cpp" + ] configs = [ ":module_private_config" ] deps = [ - "${camerastandard_path}/frameworks/native/camera:camera_framework", - "${camerastandard_path}/frameworks/native/metadata:metadata", - "${common_path}:distributed_camera_utils", - "${fwk_utils_path}:distributedhardwareutils", - "${graphicstandard_path}:libsurface", - "${services_path}/cameraservice/cameraoperator/client:distributed_camera_client", - "${services_path}/cameraservice/sinkservice:distributed_camera_sink", "//third_party/googletest:gtest_main", "//third_party/jsoncpp:jsoncpp", "//utils/native/base:utils", + "${fwk_utils_path}:distributedhardwareutils", + "${common_path}:distributed_camera_utils", + "${graphicstandard_path}:libsurface", + "${camerastandard_path}/frameworks/native/camera:camera_framework", + "${camerastandard_path}/frameworks/native/metadata:metadata", + "${services_path}/cameraservice/cameraoperator/client:distributed_camera_client", + "${services_path}/cameraservice/sinkservice:distributed_camera_sink" ] external_deps = [ - "access_token:libaccesstoken_sdk", - "access_token:libtoken_setproc", - "eventhandler:libeventhandler", "hiviewdfx_hilog_native:libhilog", + "eventhandler:libeventhandler", "ipc:ipc_core", "samgr_standard:samgr_proxy", ] diff --git a/services/cameraservice/cameraoperator/client/test/unittest/common/cameraoperator/dcamera_client_test.cpp b/services/cameraservice/cameraoperator/client/test/unittest/common/cameraoperator/dcamera_client_test.cpp index 95a787a..2e63bc9 100644 --- a/services/cameraservice/cameraoperator/client/test/unittest/common/cameraoperator/dcamera_client_test.cpp +++ b/services/cameraservice/cameraoperator/client/test/unittest/common/cameraoperator/dcamera_client_test.cpp @@ -57,7 +57,6 @@ const int32_t TEST_HEIGHT = 1080; const int32_t TEST_FORMAT_3 = 3; const int32_t TEST_FORMAT_4 = 4; const int32_t TEST_SLEEP_SEC = 2; -const std::string TEST_CAMERA_ID = "Camera_device@3.5/legacy/1"; class DCameraClientTest : public testing::Test { public: @@ -86,7 +85,8 @@ void DCameraClientTest::TearDownTestCase(void) void DCameraClientTest::SetUp(void) { DHLOGI("DCameraClientTest::SetUp"); - client_ = std::make_shared(TEST_CAMERA_ID); + std::vector cameras = DCameraHandler::GetInstance().GetCameras(); + client_ = std::make_shared(cameras[0]); photoInfo_false_ = std::make_shared(); photoInfo_false_->width_ = TEST_WIDTH; diff --git a/services/cameraservice/sinkservice/BUILD.gn b/services/cameraservice/sinkservice/BUILD.gn index 2765ebe..2ce72cc 100644 --- a/services/cameraservice/sinkservice/BUILD.gn +++ b/services/cameraservice/sinkservice/BUILD.gn @@ -117,8 +117,6 @@ ohos_shared_library("distributed_camera_sink") { ] external_deps = [ - "access_token:libaccesstoken_sdk", - "access_token:libtoken_setproc", "eventhandler:libeventhandler", "hiviewdfx_hilog_native:libhilog", "ipc:ipc_core", diff --git a/services/cameraservice/sinkservice/test/unittest/common/distributedcameramgr/dcamera_sink_controller_test.cpp b/services/cameraservice/sinkservice/test/unittest/common/distributedcameramgr/dcamera_sink_controller_test.cpp index 058fca2..8ac1fbc 100644 --- a/services/cameraservice/sinkservice/test/unittest/common/distributedcameramgr/dcamera_sink_controller_test.cpp +++ b/services/cameraservice/sinkservice/test/unittest/common/distributedcameramgr/dcamera_sink_controller_test.cpp @@ -46,7 +46,7 @@ public: std::shared_ptr accessControl_; }; std::string g_testDeviceIdController; -const std::string TEST_DH_ID = "Camera_device@3.5/legacy/1"; + const std::string SESSION_FLAG_CONTINUE = "dataContinue"; const std::string SESSION_FLAG_SNAPSHOT = "dataSnapshot"; const std::string TEST_DEVICE_ID_EMPTY = ""; @@ -103,7 +103,8 @@ std::vector g_testCamIndex; void DCameraSinkControllerTest::SetUpTestCase(void) { GetLocalDeviceNetworkId(g_testDeviceIdController); - g_testCamIndex.push_back(DCameraIndex(g_testDeviceIdController, TEST_DH_ID)); + std::vector cameras = DCameraHandler::GetInstance().GetCameras(); + g_testCamIndex.push_back(DCameraIndex(g_testDeviceIdController, cameras[0])); } void DCameraSinkControllerTest::TearDownTestCase(void) @@ -115,11 +116,12 @@ void DCameraSinkControllerTest::SetUp(void) accessControl_ = std::make_shared(); controller_ = std::make_shared(accessControl_); + std::vector cameras = DCameraHandler::GetInstance().GetCameras(); controller_->channel_ = std::make_shared(); controller_->operator_ = std::make_shared(); - controller_->output_ = std::make_shared(TEST_DH_ID, controller_->operator_); + controller_->output_ = std::make_shared(cameras[0], controller_->operator_); controller_->srcDevId_ = g_testDeviceIdController; - controller_->dhId_ = TEST_DH_ID; + controller_->dhId_ = cameras[0]; } void DCameraSinkControllerTest::TearDown(void) diff --git a/services/cameraservice/sinkservice/test/unittest/common/distributedcameramgr/dcamera_sink_data_process_test.cpp b/services/cameraservice/sinkservice/test/unittest/common/distributedcameramgr/dcamera_sink_data_process_test.cpp index 4509a2a..e4f93ea 100644 --- a/services/cameraservice/sinkservice/test/unittest/common/distributedcameramgr/dcamera_sink_data_process_test.cpp +++ b/services/cameraservice/sinkservice/test/unittest/common/distributedcameramgr/dcamera_sink_data_process_test.cpp @@ -40,7 +40,7 @@ public: std::shared_ptr dataProcess_; std::shared_ptr channel_; }; -const std::string TEST_DH_ID = "Camera_device@3.5/legacy/1"; + const std::string TEST_STRING = "test_string"; const int32_t TEST_WIDTH = 1080; const int32_t TEST_HEIGHT = 1920; @@ -96,7 +96,8 @@ void DCameraSinkDataProcessTest::TearDownTestCase(void) void DCameraSinkDataProcessTest::SetUp(void) { channel_ = std::make_shared(); - dataProcess_ = std::make_shared(TEST_DH_ID, channel_); + std::vector cameras = DCameraHandler::GetInstance().GetCameras(); + dataProcess_ = std::make_shared(cameras[0], channel_); dataProcess_->pipeline_ = std::make_shared(); dataProcess_->captureInfo_ = g_testCaptureInfoContinuousNeedEncode; diff --git a/services/cameraservice/sinkservice/test/unittest/common/distributedcameramgr/dcamera_sink_dev_test.cpp b/services/cameraservice/sinkservice/test/unittest/common/distributedcameramgr/dcamera_sink_dev_test.cpp index d79a09b..0f91f6d 100644 --- a/services/cameraservice/sinkservice/test/unittest/common/distributedcameramgr/dcamera_sink_dev_test.cpp +++ b/services/cameraservice/sinkservice/test/unittest/common/distributedcameramgr/dcamera_sink_dev_test.cpp @@ -43,7 +43,7 @@ public: std::shared_ptr dev_; }; -const std::string TEST_CAMERA_DH_ID_0 = "Camera_device@3.5/legacy/1"; + const std::string TEST_PARAMETER = ""; std::string g_testCameraInfo = ""; @@ -75,7 +75,8 @@ void DCameraSinkDevTest::TearDownTestCase(void) void DCameraSinkDevTest::SetUp(void) { - dev_ = std::make_shared(TEST_CAMERA_DH_ID_0); + std::vector cameras = DCameraHandler::GetInstance().GetCameras(); + dev_ = std::make_shared(cameras[0]); dev_->accessControl_ = std::make_shared(); dev_->controller_ = std::make_shared(dev_->accessControl_); diff --git a/services/cameraservice/sinkservice/test/unittest/common/distributedcameramgr/dcamera_sink_output_test.cpp b/services/cameraservice/sinkservice/test/unittest/common/distributedcameramgr/dcamera_sink_output_test.cpp index d4e64ec..14d05f7 100644 --- a/services/cameraservice/sinkservice/test/unittest/common/distributedcameramgr/dcamera_sink_output_test.cpp +++ b/services/cameraservice/sinkservice/test/unittest/common/distributedcameramgr/dcamera_sink_output_test.cpp @@ -46,7 +46,7 @@ public: std::shared_ptr channel_; std::shared_ptr dataProcess_; }; -const std::string TEST_DH_ID = "Camera_device@3.5/legacy/1"; + const std::string SESSION_FLAG_CONTINUE = "dataContinue"; const std::string SESSION_FLAG_SNAPSHOT = "dataSnapshot"; const int32_t TEST_WIDTH = 1080; @@ -114,8 +114,9 @@ void DCameraSinkOutputTest::TearDownTestCase(void) void DCameraSinkOutputTest::SetUp(void) { + std::vector cameras = DCameraHandler::GetInstance().GetCameras(); operator_ = std::make_shared(); - output_ = std::make_shared(TEST_DH_ID, operator_); + output_ = std::make_shared(cameras[0], operator_); channel_ = std::make_shared(); dataProcess_ = std::make_shared(channel_); output_->channels_.emplace(SNAPSHOT_FRAME, channel_);