From 82dd8a3b8cc9859a5ecfa78ce6234362e4df1067 Mon Sep 17 00:00:00 2001 From: chen0088 Date: Thu, 15 Dec 2022 18:26:49 +0800 Subject: [PATCH] fix:add unittest Signed-off-by: chen0088 --- .../common/distributedcamera/BUILD.gn | 2 + .../distributed_camera_sink_service_test.cpp | 120 ++++++++++++++---- .../mock_distributed_camera_sink_stub.h | 6 +- .../mock_distributed_camera_source_stub.h | 6 +- 4 files changed, 106 insertions(+), 28 deletions(-) diff --git a/services/cameraservice/sinkservice/test/unittest/common/distributedcamera/BUILD.gn b/services/cameraservice/sinkservice/test/unittest/common/distributedcamera/BUILD.gn index 66d95bd1..077abbee 100644 --- a/services/cameraservice/sinkservice/test/unittest/common/distributedcamera/BUILD.gn +++ b/services/cameraservice/sinkservice/test/unittest/common/distributedcamera/BUILD.gn @@ -43,6 +43,8 @@ config("module_private_config") { "${services_path}/cameraservice/base/include", "${services_path}/cameraservice/cameraoperator/handler/include", "${services_path}/cameraservice/sinkservice/include/distributedcamera", + "${services_path}/cameraservice/sinkservice/include/distributedcameramgr", + "${services_path}/cameraservice/sinkservice/include/distributedcameramgr/interface", ] } diff --git a/services/cameraservice/sinkservice/test/unittest/common/distributedcamera/distributed_camera_sink_service_test.cpp b/services/cameraservice/sinkservice/test/unittest/common/distributedcamera/distributed_camera_sink_service_test.cpp index 40332a23..29804c58 100644 --- a/services/cameraservice/sinkservice/test/unittest/common/distributedcamera/distributed_camera_sink_service_test.cpp +++ b/services/cameraservice/sinkservice/test/unittest/common/distributedcamera/distributed_camera_sink_service_test.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Huawei Device Co., Ltd. + * Copyright (c) 2021-2022 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 @@ -16,8 +16,9 @@ #include #include "dcamera_handler.h" -#include "dcamera_sink_handler.h" -#include "dcamera_sink_handler_ipc.h" +#define private public +#include "distributed_camera_sink_service.h" +#undef private #include "distributed_camera_errno.h" #include "distributed_hardware_log.h" #include "idistributed_camera_sink.h" @@ -32,11 +33,11 @@ public: static void TearDownTestCase(void); void SetUp(); void TearDown(); -}; -static std::string g_dhId; -static sptr g_service; + std::shared_ptr sinkService_; +}; +std::string g_dhId; std::string g_testParams = "TestParams"; std::string g_testCameraInfo = ""; std::string g_testChannelInfoContinue = R"({ @@ -56,28 +57,25 @@ std::string g_testOpenInfoService = R"({ void DistributedCameraSinkServiceTest::SetUpTestCase(void) { DHLOGI("DistributedCameraSinkServiceTest::SetUpTestCase"); - DCameraHandler::GetInstance().Initialize(); - g_dhId = DCameraHandler::GetInstance().GetCameras().front(); - - DCameraSinkHandler::GetInstance().InitSink(g_testParams); - g_service = DCameraSinkHandlerIpc::GetInstance().GetSinkLocalCamSrv(); } void DistributedCameraSinkServiceTest::TearDownTestCase(void) { DHLOGI("DistributedCameraSinkServiceTest::TearDownTestCase"); - g_service = nullptr; - DCameraSinkHandler::GetInstance().ReleaseSink(); } void DistributedCameraSinkServiceTest::SetUp(void) { DHLOGI("DistributedCameraSinkServiceTest::SetUp"); + sinkService_ = std::make_shared(DISTRIBUTED_HARDWARE_CAMERA_SINK_SA_ID, true); + DCameraHandler::GetInstance().Initialize(); + g_dhId = DCameraHandler::GetInstance().GetCameras().front(); } void DistributedCameraSinkServiceTest::TearDown(void) { DHLOGI("DistributedCameraSinkServiceTest::TearDown"); + sinkService_ = nullptr; } /** @@ -88,8 +86,16 @@ void DistributedCameraSinkServiceTest::TearDown(void) */ HWTEST_F(DistributedCameraSinkServiceTest, dcamera_sink_service_test_001, TestSize.Level1) { - DHLOGI("DistributedCameraSinkServiceTest::SubscribeLocalHardware"); - int32_t ret = g_service->SubscribeLocalHardware(g_dhId, g_testParams); + DHLOGI("DistributedCameraSinkServiceTest::dcamera_sink_service_test_001"); + EXPECT_EQ(sinkService_ == nullptr, false); + + int32_t ret = sinkService_->InitSink(g_testParams); + EXPECT_EQ(DCAMERA_OK, ret); + + ret = sinkService_->SubscribeLocalHardware(g_dhId, g_testParams); + EXPECT_EQ(DCAMERA_OK, ret); + + ret = sinkService_->ReleaseSink(); EXPECT_EQ(DCAMERA_OK, ret); } @@ -101,8 +107,16 @@ HWTEST_F(DistributedCameraSinkServiceTest, dcamera_sink_service_test_001, TestSi */ HWTEST_F(DistributedCameraSinkServiceTest, dcamera_sink_service_test_002, TestSize.Level1) { - DHLOGI("DistributedCameraSinkServiceTest::UnSubscribeLocalHardware"); - int32_t ret = g_service->UnsubscribeLocalHardware(g_dhId); + DHLOGI("DistributedCameraSinkServiceTest::dcamera_sink_service_test_002"); + EXPECT_EQ(sinkService_ == nullptr, false); + + int32_t ret = sinkService_->InitSink(g_testParams); + EXPECT_EQ(DCAMERA_OK, ret); + + ret = sinkService_->UnsubscribeLocalHardware(g_dhId); + EXPECT_EQ(DCAMERA_OK, ret); + + ret = sinkService_->ReleaseSink(); EXPECT_EQ(DCAMERA_OK, ret); } @@ -114,8 +128,16 @@ HWTEST_F(DistributedCameraSinkServiceTest, dcamera_sink_service_test_002, TestSi */ HWTEST_F(DistributedCameraSinkServiceTest, dcamera_sink_service_test_003, TestSize.Level1) { - DHLOGI("DistributedCameraSinkServiceTest::StopCapture"); - int32_t ret = g_service->StopCapture(g_dhId); + DHLOGI("DistributedCameraSinkServiceTest::dcamera_sink_service_test_003"); + EXPECT_EQ(sinkService_ == nullptr, false); + + int32_t ret = sinkService_->InitSink(g_testParams); + EXPECT_EQ(DCAMERA_OK, ret); + + ret = sinkService_->StopCapture(g_dhId); + EXPECT_EQ(DCAMERA_OK, ret); + + ret = sinkService_->ReleaseSink(); EXPECT_EQ(DCAMERA_OK, ret); } @@ -127,8 +149,16 @@ HWTEST_F(DistributedCameraSinkServiceTest, dcamera_sink_service_test_003, TestSi */ HWTEST_F(DistributedCameraSinkServiceTest, dcamera_sink_service_test_004, TestSize.Level1) { - DHLOGI("DistributedCameraSinkServiceTest::ChannelNeg"); - int32_t ret = g_service->ChannelNeg(g_dhId, g_testChannelInfoContinue); + DHLOGI("DistributedCameraSinkServiceTest::dcamera_sink_service_test_004"); + EXPECT_EQ(sinkService_ == nullptr, false); + + int32_t ret = sinkService_->InitSink(g_testParams); + EXPECT_EQ(DCAMERA_OK, ret); + + ret = sinkService_->ChannelNeg(g_dhId, g_testChannelInfoContinue); + EXPECT_NE(DCAMERA_OK, ret); + + ret = sinkService_->ReleaseSink(); EXPECT_EQ(DCAMERA_OK, ret); } @@ -140,8 +170,16 @@ HWTEST_F(DistributedCameraSinkServiceTest, dcamera_sink_service_test_004, TestSi */ HWTEST_F(DistributedCameraSinkServiceTest, dcamera_sink_service_test_005, TestSize.Level1) { - DHLOGI("DistributedCameraSinkServiceTest::GetCameraInfo"); - int32_t ret = g_service->GetCameraInfo(g_dhId, g_testCameraInfo); + DHLOGI("DistributedCameraSinkServiceTest::dcamera_sink_service_test_005"); + EXPECT_EQ(sinkService_ == nullptr, false); + + int32_t ret = sinkService_->InitSink(g_testParams); + EXPECT_EQ(DCAMERA_OK, ret); + + ret = sinkService_->GetCameraInfo(g_dhId, g_testCameraInfo); + EXPECT_EQ(DCAMERA_OK, ret); + + ret = sinkService_->ReleaseSink(); EXPECT_EQ(DCAMERA_OK, ret); } @@ -153,11 +191,41 @@ HWTEST_F(DistributedCameraSinkServiceTest, dcamera_sink_service_test_005, TestSi */ HWTEST_F(DistributedCameraSinkServiceTest, dcamera_sink_service_test_006, TestSize.Level1) { - DHLOGI("DistributedCameraSinkServiceTest::OpenChannel and CloseChannel"); - int32_t ret = g_service->OpenChannel(g_dhId, g_testOpenInfoService); + DHLOGI("DistributedCameraSinkServiceTest::dcamera_sink_service_test_006"); + EXPECT_EQ(sinkService_ == nullptr, false); + + int32_t ret = sinkService_->InitSink(g_testParams); + EXPECT_EQ(DCAMERA_OK, ret); + + ret = sinkService_->OpenChannel(g_dhId, g_testOpenInfoService); + EXPECT_NE(DCAMERA_OK, ret); + + ret = sinkService_->ChannelNeg(g_dhId, g_testChannelInfoContinue); + EXPECT_NE(DCAMERA_OK, ret); + + ret = sinkService_->CloseChannel(g_dhId); EXPECT_EQ(DCAMERA_OK, ret); - ret = g_service->CloseChannel(g_dhId); + ret = sinkService_->ReleaseSink(); + EXPECT_EQ(DCAMERA_OK, ret); +} + +/** + * @tc.name: dcamera_sink_service_test_007 + * @tc.desc: Verify the Dump function. + * @tc.type: FUNC + * @tc.require: AR000GK6N1 + */ +HWTEST_F(DistributedCameraSinkServiceTest, dcamera_sink_service_test_007, TestSize.Level1) +{ + DHLOGI("DistributedCameraSinkServiceTest::dcamera_sink_service_test_007"); + EXPECT_EQ(sinkService_ == nullptr, false); + + int32_t fd = 0; + std::vector args; + std::u16string str(u""); + args.push_back(str); + int ret = sinkService_->Dump(fd, args); EXPECT_EQ(DCAMERA_OK, ret); } } // namespace DistributedHardware diff --git a/services/cameraservice/sinkservice/test/unittest/common/distributedcamera/mock_distributed_camera_sink_stub.h b/services/cameraservice/sinkservice/test/unittest/common/distributedcamera/mock_distributed_camera_sink_stub.h index c19b7856..02220306 100644 --- a/services/cameraservice/sinkservice/test/unittest/common/distributedcamera/mock_distributed_camera_sink_stub.h +++ b/services/cameraservice/sinkservice/test/unittest/common/distributedcamera/mock_distributed_camera_sink_stub.h @@ -13,6 +13,9 @@ * limitations under the License. */ +#ifndef OHOS_MOCK_DISTRIBUTED_CAMERA_SINK_STUB_H +#define OHOS_MOCK_DISTRIBUTED_CAMERA_SINK_STUB_H + #include "distributed_camera_errno.h" #include "distributed_camera_sink_stub.h" @@ -82,4 +85,5 @@ public: } // namespace DistributedHardware -} // namespace OHOS \ No newline at end of file +} // namespace OHOS +#endif // OHOS_MOCK_DISTRIBUTED_CAMERA_SINK_STUB_H \ No newline at end of file diff --git a/services/cameraservice/sourceservice/test/unittest/common/distributedcamera/mock_distributed_camera_source_stub.h b/services/cameraservice/sourceservice/test/unittest/common/distributedcamera/mock_distributed_camera_source_stub.h index 707bf1ad..2809bc23 100644 --- a/services/cameraservice/sourceservice/test/unittest/common/distributedcamera/mock_distributed_camera_source_stub.h +++ b/services/cameraservice/sourceservice/test/unittest/common/distributedcamera/mock_distributed_camera_source_stub.h @@ -13,6 +13,9 @@ * limitations under the License. */ +#ifndef OHOS_MOCK_DISTRIBUTED_CAMERA_SOURCE_STUB_H +#define OHOS_MOCK_DISTRIBUTED_CAMERA_SOURCE_STUB_H + #include "distributed_camera_errno.h" #include "distributed_camera_source_stub.h" @@ -65,4 +68,5 @@ public: } // namespace DistributedHardware -} // namespace OHOS \ No newline at end of file +} // namespace OHOS +#endif // OHOS_MOCK_DISTRIBUTED_CAMERA_SOURCE_STUB_H \ No newline at end of file -- Gitee