From 4f894c7985a518d8f65635b2a571d70e073db196 Mon Sep 17 00:00:00 2001 From: chen0088 Date: Sat, 25 May 2024 14:57:59 +0800 Subject: [PATCH] add ut Signed-off-by: chen0088 --- .../common/distributedcameramgr/BUILD.gn | 5 + .../dcamera_sink_data_process_test.cpp | 18 +++- .../dcamera_service_state_listener_test.cpp | 33 ++++++- .../distributed_camera_source_stub_test.cpp | 99 ++++++++++++++++++- .../pipeline/dcamera_pipeline_sink_test.cpp | 4 +- .../scale_convert_process_test.cpp | 34 +++++++ 6 files changed, 188 insertions(+), 5 deletions(-) diff --git a/services/cameraservice/sinkservice/test/unittest/common/distributedcameramgr/BUILD.gn b/services/cameraservice/sinkservice/test/unittest/common/distributedcameramgr/BUILD.gn index a3948a2c..3ec5406f 100644 --- a/services/cameraservice/sinkservice/test/unittest/common/distributedcameramgr/BUILD.gn +++ b/services/cameraservice/sinkservice/test/unittest/common/distributedcameramgr/BUILD.gn @@ -76,6 +76,11 @@ ohos_unittest("DCameraSinkMgrTest") { "eventbus/dcamera_video_output_event_test.cpp", ] + cflags = [ + "-Dprivate=public", + "-Dprotected=public", + ] + configs = [ ":module_private_config" ] deps = [ 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 ffa58014..8a765334 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 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Huawei Device Co., Ltd. + * Copyright (c) 2021-2024 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at @@ -207,5 +207,21 @@ HWTEST_F(DCameraSinkDataProcessTest, dcamera_sink_data_process_test_007, TestSiz std::this_thread::sleep_for(std::chrono::milliseconds(SLEEP_TIME_MS)); EXPECT_EQ(DCAMERA_OK, ret); } + +/** + * @tc.name: dcamera_sink_data_process_test_008 + * @tc.desc: Verify the GetPipelineCodecType GetPipelineFormat function. + * @tc.type: FUNC + * @tc.require: AR000GK6MV + */ +HWTEST_F(DCameraSinkDataProcessTest, dcamera_sink_data_process_test_008, TestSize.Level1) +{ + EXPECT_EQ(VideoCodecType::CODEC_H264, dataProcess_->GetPipelineCodecType(DCEncodeType::ENCODE_TYPE_H264)); + EXPECT_EQ(VideoCodecType::CODEC_H265, dataProcess_->GetPipelineCodecType(DCEncodeType::ENCODE_TYPE_H265)); + EXPECT_EQ(VideoCodecType::CODEC_MPEG4_ES, dataProcess_->GetPipelineCodecType(DCEncodeType::ENCODE_TYPE_MPEG4_ES)); + EXPECT_EQ(VideoCodecType::NO_CODEC, dataProcess_->GetPipelineCodecType(DCEncodeType::ENCODE_TYPE_NULL)); + EXPECT_EQ(Videoformat::RGBA_8888, dataProcess_->GetPipelineFormat(1)); + EXPECT_EQ(Videoformat::NV21, dataProcess_->GetPipelineFormat(0)); +} } // namespace DistributedHardware } // namespace OHOS \ No newline at end of file diff --git a/services/cameraservice/sourceservice/test/unittest/common/distributedcamera/dcamera_service_state_listener_test.cpp b/services/cameraservice/sourceservice/test/unittest/common/distributedcamera/dcamera_service_state_listener_test.cpp index 2acdb0b7..f2a62dcf 100644 --- a/services/cameraservice/sourceservice/test/unittest/common/distributedcamera/dcamera_service_state_listener_test.cpp +++ b/services/cameraservice/sourceservice/test/unittest/common/distributedcamera/dcamera_service_state_listener_test.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022-2023 Huawei Device Co., Ltd. + * Copyright (c) 2022-2024 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at @@ -106,5 +106,36 @@ HWTEST_F(DcameraServiceStateListenerTest, dcamera_service_state_listener_test_00 callback = nullptr; } + +/** + * @tc.name: dcamera_service_state_listener_test_003 + * @tc.desc: Verify the OnHardwareStateChanged function. + * @tc.type: FUNC + * @tc.require: issue + */ +HWTEST_F(DcameraServiceStateListenerTest, dcamera_service_state_listener_test_003, TestSize.Level1) +{ + DHLOGI("DcameraServiceStateListenerTest::dcamera_service_state_listener_test_003"); + EXPECT_EQ(false, testListener_ == nullptr); + + int32_t status = 0; + int32_t ret = testListener_->OnHardwareStateChanged(TEST_DEVICE_ID, TEST_CAMERA_DH_ID_0, status); + EXPECT_EQ(DCAMERA_BAD_VALUE, ret); +} + +/** + * @tc.name: dcamera_service_state_listener_test_004 + * @tc.desc: Verify the OnDataSyncTrigger function. + * @tc.type: FUNC + * @tc.require: issue + */ +HWTEST_F(DcameraServiceStateListenerTest, dcamera_service_state_listener_test_004, TestSize.Level1) +{ + DHLOGI("DcameraServiceStateListenerTest::dcamera_service_state_listener_test_004"); + EXPECT_EQ(false, testListener_ == nullptr); + + int32_t ret = testListener_->OnDataSyncTrigger(TEST_DEVICE_ID); + EXPECT_EQ(DCAMERA_BAD_VALUE, ret); +} } // namespace DistributedHardware } // namespace OHOS \ No newline at end of file diff --git a/services/cameraservice/sourceservice/test/unittest/common/distributedcamera/distributed_camera_source_stub_test.cpp b/services/cameraservice/sourceservice/test/unittest/common/distributedcamera/distributed_camera_source_stub_test.cpp index 121f60bb..a6cbf451 100644 --- a/services/cameraservice/sourceservice/test/unittest/common/distributedcamera/distributed_camera_source_stub_test.cpp +++ b/services/cameraservice/sourceservice/test/unittest/common/distributedcamera/distributed_camera_source_stub_test.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022-2023 Huawei Device Co., Ltd. + * Copyright (c) 2022-2024 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at @@ -173,5 +173,102 @@ HWTEST_F(DcameraSourceStubTest, dcamera_source_stub_test_005, TestSize.Level1) int32_t ret = sourceProxy.DCameraNotify(devId, dhId, events); EXPECT_EQ(DCAMERA_OK, ret); } + +/** + * @tc.name: dcamera_source_stub_test_006 + * @tc.desc: Verify the DCameraNotify function. + * @tc.type: FUNC + * @tc.require: issue + */ +HWTEST_F(DcameraSourceStubTest, dcamera_source_stub_test_006, TestSize.Level1) +{ + DHLOGI("DcameraSourceStubTest::dcamera_source_stub_test_006"); + sptr sourceStubPtr(new MockDistributedCameraSourceStub()); + DistributedCameraSourceProxy sourceProxy(sourceStubPtr); + std::string devId = ""; + std::string dhId = "dhId000"; + std::string events = "events000"; + int32_t ret = sourceProxy.DCameraNotify(devId, dhId, events); + EXPECT_EQ(DCAMERA_BAD_VALUE, ret); + + devId = "devId000"; + events = ""; + ret = sourceProxy.DCameraNotify(devId, dhId, events); + EXPECT_EQ(DCAMERA_BAD_VALUE, ret); + + dhId = ""; + ret = sourceProxy.DCameraNotify(devId, dhId, events); + EXPECT_EQ(DCAMERA_BAD_VALUE, ret); +} + +/** + * @tc.name: dcamera_source_stub_test_007 + * @tc.desc: Verify the UnregisterDistributedHardware function. + * @tc.type: FUNC + * @tc.require: issue + */ +HWTEST_F(DcameraSourceStubTest, dcamera_source_stub_test_007, TestSize.Level1) +{ + DHLOGI("DcameraSourceStubTest::dcamera_source_stub_test_007"); + sptr sourceStubPtr(new MockDistributedCameraSourceStub()); + DistributedCameraSourceProxy sourceProxy(sourceStubPtr); + std::string devId = ""; + std::string dhId = "dhId000"; + std::string reqId = "reqId000"; + int32_t ret = sourceProxy.UnregisterDistributedHardware(devId, dhId, reqId); + EXPECT_EQ(DCAMERA_BAD_VALUE, ret); + + devId = "devId000"; + reqId = ""; + ret = sourceProxy.UnregisterDistributedHardware(devId, dhId, reqId); + EXPECT_EQ(DCAMERA_BAD_VALUE, ret); + + dhId = ""; + ret = sourceProxy.UnregisterDistributedHardware(devId, dhId, reqId); + EXPECT_EQ(DCAMERA_BAD_VALUE, ret); +} + +/** + * @tc.name: dcamera_source_stub_test_008 + * @tc.desc: Verify the RegisterDistributedHardware function. + * @tc.type: FUNC + * @tc.require: issue + */ +HWTEST_F(DcameraSourceStubTest, dcamera_source_stub_test_008, TestSize.Level1) +{ + DHLOGI("DcameraSourceStubTest::dcamera_source_stub_test_008"); + sptr sourceStubPtr(new MockDistributedCameraSourceStub()); + DistributedCameraSourceProxy sourceProxy(sourceStubPtr); + std::string devId = ""; + std::string dhId = "dhId000"; + std::string reqId = "reqId000"; + EnableParam param; + param.sourceVersion = "1"; + param.sourceAttrs = "sourceattrs"; + param.sinkVersion = "1"; + param.sinkAttrs = "sinkattrs"; + int32_t ret = sourceProxy.RegisterDistributedHardware(devId, dhId, reqId, param); + EXPECT_EQ(DCAMERA_BAD_VALUE, ret); + + devId = "devId000"; + reqId = ""; + ret = sourceProxy.RegisterDistributedHardware(devId, dhId, reqId, param); + EXPECT_EQ(DCAMERA_BAD_VALUE, ret); + + dhId = ""; + ret = sourceProxy.RegisterDistributedHardware(devId, dhId, reqId, param); + EXPECT_EQ(DCAMERA_BAD_VALUE, ret); + + dhId = "dhId000"; + reqId = "reqId000"; + param.sinkVersion = ""; + ret = sourceProxy.RegisterDistributedHardware(devId, dhId, reqId, param); + EXPECT_EQ(DCAMERA_BAD_VALUE, ret); + + param.sinkVersion = "1"; + param.sinkAttrs = ""; + ret = sourceProxy.RegisterDistributedHardware(devId, dhId, reqId, param); + EXPECT_EQ(DCAMERA_BAD_VALUE, ret); +} } // namespace DistributedHardware } // namespace OHOS \ No newline at end of file diff --git a/services/data_process/test/unittest/common/pipeline/dcamera_pipeline_sink_test.cpp b/services/data_process/test/unittest/common/pipeline/dcamera_pipeline_sink_test.cpp index 887914bb..be048faf 100644 --- a/services/data_process/test/unittest/common/pipeline/dcamera_pipeline_sink_test.cpp +++ b/services/data_process/test/unittest/common/pipeline/dcamera_pipeline_sink_test.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 Huawei Device Co., Ltd. + * Copyright (c) 2022-2024 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at @@ -99,7 +99,7 @@ HWTEST_F(DCameraPipelineSinkTest, dcamera_pipeline_sink_test_002, TestSize.Level EXPECT_EQ(false, testSinkPipeline_ == nullptr); std::shared_ptr listener = std::make_shared(); - VideoConfigParams srcParams(VideoCodecType::NO_CODEC, + VideoConfigParams srcParams(VideoCodecType::CODEC_H264, Videoformat::NV21, DCAMERA_PRODUCER_FPS_DEFAULT, TEST_WIDTH, diff --git a/services/data_process/test/unittest/common/pipeline_node/scale_convert_process_test.cpp b/services/data_process/test/unittest/common/pipeline_node/scale_convert_process_test.cpp index 7d360ba6..888d9bd1 100644 --- a/services/data_process/test/unittest/common/pipeline_node/scale_convert_process_test.cpp +++ b/services/data_process/test/unittest/common/pipeline_node/scale_convert_process_test.cpp @@ -426,6 +426,11 @@ VideoConfigParams DEST_PARAMS2(VideoCodecType::CODEC_H264, DCAMERA_PRODUCER_FPS_DEFAULT, TEST_WIDTH2, TEST_HEIGTH2); +VideoConfigParams DEST_PARAMS3(VideoCodecType::CODEC_H264, + Videoformat::RGBA_8888, + DCAMERA_PRODUCER_FPS_DEFAULT, + TEST_WIDTH2, + TEST_HEIGTH2); VideoConfigParams PROC_CONFIG; } @@ -639,6 +644,35 @@ HWTEST_F(ScaleConvertProcessTest, scale_convert_process_test_027, TestSize.Level rc = testScaleConvertProcess_->ProcessData(inputBuffers); EXPECT_EQ(rc, DCAMERA_BAD_VALUE); } + +/** + * @tc.name: scale_convert_process_test_028 + * @tc.desc: Verify scale convert process InitNode IsConvertible true. + * @tc.type: FUNC + * @tc.require: Issue Number + */ +HWTEST_F(ScaleConvertProcessTest, scale_convert_process_test_028, TestSize.Level1) +{ + DHLOGI("ScaleConvertProcessTest scale_convert_process_test_028."); + int32_t rc = testScaleConvertProcess_->InitNode(SRC_PARAMS1, DEST_PARAMS3, PROC_CONFIG); + EXPECT_EQ(rc, DCAMERA_OK); + + size_t capacity = 3200000; + int64_t timeStamp = 10; + std::vector> inputBuffers; + std::shared_ptr db = std::make_shared(capacity); + db->SetInt64("timeUs", timeStamp); + db->SetInt32("Videoformat", static_cast(Videoformat::YUVI420)); + db->SetInt32("alignedWidth", TEST_ALIGNEDWIDTH); + db->SetInt32("alignedHeight", TEST_ALIGNEDHEIGTH); + db->SetInt32("width", TEST_WIDTH); + db->SetInt32("height", TEST_HEIGTH); + inputBuffers.push_back(db); + std::shared_ptr sourcePipeline = std::make_shared(); + testScaleConvertProcess_->callbackPipelineSource_ = sourcePipeline; + rc = testScaleConvertProcess_->ProcessData(inputBuffers); + EXPECT_EQ(rc, DCAMERA_OK); +} #endif } // namespace DistributedHardware } // namespace OHOS -- Gitee