From d88e18249a20ed39e4d07d3247f895775d47ee93 Mon Sep 17 00:00:00 2001 From: pwx1285814 Date: Wed, 8 Nov 2023 15:18:54 +0800 Subject: [PATCH 1/2] =?UTF-8?q?DScreenSourceStub=E7=94=A8=E4=BE=8B?= =?UTF-8?q?=E8=A1=A5=E5=85=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: pwx1285814 Change-Id: Ie29378f7f9992ac28392e875d0acd936a663a7a9 --- .../src/dscreen_source_stub_test.cpp | 284 +++++++++++++++++- 1 file changed, 283 insertions(+), 1 deletion(-) diff --git a/services/screenservice/test/unittest/sourceservice/dscreenservice/src/dscreen_source_stub_test.cpp b/services/screenservice/test/unittest/sourceservice/dscreenservice/src/dscreen_source_stub_test.cpp index 9c2540d1..c022643d 100644 --- a/services/screenservice/test/unittest/sourceservice/dscreenservice/src/dscreen_source_stub_test.cpp +++ b/services/screenservice/test/unittest/sourceservice/dscreenservice/src/dscreen_source_stub_test.cpp @@ -12,10 +12,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - +#define private public #include "dscreen_source_stub_test.h" #include +#include "dscreen_constants.h" using namespace testing; using namespace testing::ext; @@ -272,5 +273,286 @@ HWTEST_F(DScreenSourceStubTest, DScreenNotify_001, TestSize.Level1) EXPECT_EQ(eventCode, ((sptr &)sourceStubPtr)->eventCode_); EXPECT_STREQ(eventContent.c_str(), ((sptr &)sourceStubPtr)->eventContent_.c_str()); } + +/** + * @tc.name: OnRemoteRequest_001 + * @tc.desc: Test with valid interface descriptor and request code. + * @tc.type: FUNC + * @tc.require: Issue Number + */ +HWTEST_F(DScreenSourceStubTest, OnRemoteRequest_001, TestSize.Level1) +{ + std::shared_ptr stubPtr = std::make_shared(); + uint32_t requestCode = 1; + MessageParcel data; + data.WriteInterfaceToken(stubPtr->GetDescriptor()); + data.WriteUint32(requestCode); + MessageParcel reply; + MessageOption option; + int32_t result = stubPtr->OnRemoteRequest(requestCode, data, reply, option); + EXPECT_EQ(SESSION_UNOPEN_ERR, result); +} + +/** + * @tc.name: OnRemoteRequest_002 + * @tc.desc: Test with invalid interface descriptor. + * @tc.type: FUNC + * @tc.require: Issue Number + */ +HWTEST_F(DScreenSourceStubTest, OnRemoteRequest_002, TestSize.Level1) +{ + std::shared_ptr stubPtr = std::make_shared(); + std::u16string requestDescriptor = u"invalid_descriptor"; + uint32_t requestCode = 1; + MessageParcel data; + data.WriteInterfaceToken(requestDescriptor); + data.WriteUint32(requestCode); + MessageParcel reply; + MessageOption option; + int32_t result = stubPtr->OnRemoteRequest(requestCode, data, reply, option); + EXPECT_EQ(ERR_INVALID_DATA, result); +} + +/** + * @tc.name: OnRemoteRequest_003 + * @tc.desc: Test with invalid request code. + * @tc.type: FUNC + * @tc.require: Issue Number + */ +HWTEST_F(DScreenSourceStubTest, OnRemoteRequest_003, TestSize.Level1) +{ + std::shared_ptr stubPtr = std::make_shared(); + std::u16string descriptor = DScreenSourceStub::GetDescriptor(); + std::u16string requestDescriptor = descriptor; + uint32_t requestCode = 999; + MessageParcel data; + data.WriteInterfaceToken(requestDescriptor); + data.WriteUint32(requestCode); + MessageParcel reply; + MessageOption option; + int32_t result = stubPtr->OnRemoteRequest(requestCode, data, reply, option); + EXPECT_EQ(IPC_STUB_UNKNOW_TRANS_ERR, result); +} + +/** + * @tc.name: InitSourceInner_001 + * @tc.desc: When there is no permission + * @tc.type: FUNC + * @tc.require: Issue Number + */ +HWTEST_F(DScreenSourceStubTest, InitSourceInner_001, TestSize.Level1) +{ + std::shared_ptr stubPtr = std::make_shared(); + std::u16string descriptor = stubPtr->GetDescriptor(); + MessageParcel data; + MessageParcel reply; + MessageOption option; + int32_t result = stubPtr->InitSourceInner(data, reply, option); + EXPECT_EQ(DSCREEN_INIT_ERR, result); +} + +/** + * @tc.name: ReleaseSourceInner_001 + * @tc.desc: When there is no permission + * @tc.type: FUNC + * @tc.require: Issue Number + */ +HWTEST_F(DScreenSourceStubTest, ReleaseSourceInner_001, TestSize.Level1) +{ + std::shared_ptr stubPtr = std::make_shared(); + std::u16string descriptor = stubPtr->GetDescriptor(); + MessageParcel data; + MessageParcel reply; + MessageOption option; + int32_t result = stubPtr->ReleaseSourceInner(data, reply, option); + EXPECT_EQ(DSCREEN_INIT_ERR, result); +} + +/** + * @tc.name: RegisterDistributedHardwareInner_001 + * @tc.desc: When there is no permission + * @tc.type: FUNC + * @tc.require: Issue Number + */ +HWTEST_F(DScreenSourceStubTest, RegisterDistributedHardwareInner_001, TestSize.Level1) +{ + std::shared_ptr stubPtr = std::make_shared(); + std::u16string descriptor = stubPtr->GetDescriptor(); + MessageParcel data; + MessageParcel reply; + MessageOption option; + int32_t result = stubPtr->RegisterDistributedHardwareInner(data, reply, option); + EXPECT_EQ(DSCREEN_INIT_ERR, result); +} + +/** + * @tc.name: CheckRegParams_001 + * @tc.desc: ValidParams + * @tc.type: FUNC + * @tc.require: Issue Number + */ +HWTEST_F(DScreenSourceStubTest, CheckRegParams_001, TestSize.Level1) +{ + std::shared_ptr stubPtr = std::make_shared(); + bool result = stubPtr->CheckRegParams("devId", "dhId", "version", "attrs", "reqId"); + EXPECT_TRUE(result); +} + +/** + * @tc.name: CheckRegParams_002 + * @tc.desc: Parameter is empty + * @tc.type: FUNC + * @tc.require: Issue Number + */ + +HWTEST_F(DScreenSourceStubTest, CheckRegParams_002, TestSize.Level1) +{ + std::shared_ptr stubPtr = std::make_shared(); + bool result; + result = stubPtr->CheckRegParams("", "dhId", "version", "attrs", "reqId"); + EXPECT_FALSE(result); + result = stubPtr->CheckRegParams("devId", "", "version", "attrs", "reqId"); + EXPECT_FALSE(result); + result = stubPtr->CheckRegParams("devId", "dhId", "", "attrs", "reqId"); + EXPECT_FALSE(result); + result = stubPtr->CheckRegParams("devId", "dhId", "version", "", "reqId"); + EXPECT_FALSE(result); + result = stubPtr->CheckRegParams("devId", "dhId", "version", "attrs", ""); + EXPECT_FALSE(result); +} + +/** + * @tc.name: CheckRegParams_003 + * @tc.desc: parameter exceeds maximum length + * @tc.type: FUNC + * @tc.require: Issue Number + */ + +HWTEST_F(DScreenSourceStubTest, CheckRegParams_003, TestSize.Level1) +{ + std::shared_ptr stubPtr = std::make_shared(); + std::string exceedDidMaxSizeStr(DID_MAX_SIZE + 1, 'a'); + std::string exceedParamMaxSizeStr(PARAM_MAX_SIZE + 1, 'a'); + bool result; + result = stubPtr->CheckRegParams(exceedDidMaxSizeStr, "dhId", "version", "attrs", "reqId"); + EXPECT_FALSE(result); + result = stubPtr->CheckRegParams("devId", exceedDidMaxSizeStr, "version", "attrs", "reqId"); + EXPECT_FALSE(result); + result = stubPtr->CheckRegParams("devId", "dhId", exceedParamMaxSizeStr, "attrs", "reqId"); + EXPECT_FALSE(result); + result = stubPtr->CheckRegParams("devId", "dhId", "version", exceedParamMaxSizeStr, "reqId"); + EXPECT_FALSE(result); + result = stubPtr->CheckRegParams("devId", "dhId", "version", "attrs", exceedDidMaxSizeStr); + EXPECT_FALSE(result); +} + +/** + * @tc.name: CheckUnregParams_001 + * @tc.desc: ValidParams + * @tc.type: FUNC + * @tc.require: Issue Number + */ +HWTEST_F(DScreenSourceStubTest, CheckUnregParams_001, TestSize.Level1) +{ + std::shared_ptr stubPtr = std::make_shared(); + bool result = stubPtr->CheckUnregParams("devId", "dhId", "reqId"); + EXPECT_TRUE(result); +} + +/** + * @tc.name: CheckUnregParams_002 + * @tc.desc: Parameter is empty + * @tc.type: FUNC + * @tc.require: Issue Number + */ + +HWTEST_F(DScreenSourceStubTest, CheckUnregParams_002, TestSize.Level1) +{ + std::shared_ptr stubPtr = std::make_shared(); + bool result; + result = stubPtr->CheckUnregParams("", "dhId", "reqId"); + EXPECT_FALSE(result); + result = stubPtr->CheckUnregParams("devId", "", "reqId"); + EXPECT_FALSE(result); + result = stubPtr->CheckUnregParams("devId", "dhId", ""); + EXPECT_FALSE(result); +} + +/** + * @tc.name: CheckUnregParams_003 + * @tc.desc: parameter exceeds maximum length + * @tc.type: FUNC + * @tc.require: Issue Number + */ + +HWTEST_F(DScreenSourceStubTest, CheckUnregParams_003, TestSize.Level1) +{ + std::shared_ptr stubPtr = std::make_shared(); + std::string exceedDidMaxSizeStr(DID_MAX_SIZE + 1, 'a'); + bool result; + result = stubPtr->CheckUnregParams(exceedDidMaxSizeStr, "dhId", "reqId"); + EXPECT_FALSE(result); + result = stubPtr->CheckUnregParams("devId", exceedDidMaxSizeStr, "reqId"); + EXPECT_FALSE(result); + result = stubPtr->CheckUnregParams("devId", "dhId", exceedDidMaxSizeStr); + EXPECT_FALSE(result); +} + +/** + * @tc.name: CheckConfigParams_001 + * @tc.desc: ValidParams + * @tc.type: FUNC + * @tc.require: Issue Number + */ +HWTEST_F(DScreenSourceStubTest, CheckConfigParams_001, TestSize.Level1) +{ + std::shared_ptr stubPtr = std::make_shared(); + bool result = stubPtr->CheckConfigParams("devId", "dhId", "key", "value"); + EXPECT_TRUE(result); +} + +/** + * @tc.name: CheckConfigParams_002 + * @tc.desc: Parameter is empty + * @tc.type: FUNC + * @tc.require: Issue Number + */ + +HWTEST_F(DScreenSourceStubTest, CheckConfigParams_002, TestSize.Level1) +{ + std::shared_ptr stubPtr = std::make_shared(); + bool result; + result = stubPtr->CheckConfigParams("", "dhId", "key", "value"); + EXPECT_FALSE(result); + result = stubPtr->CheckConfigParams("devId", "", "key", "value"); + EXPECT_FALSE(result); + result = stubPtr->CheckConfigParams("devId", "dhId", "", "value"); + EXPECT_FALSE(result); + result = stubPtr->CheckConfigParams("devId", "dhId", "key", ""); + EXPECT_FALSE(result); +} + +/** + * @tc.name: CheckConfigParams_003 + * @tc.desc: parameter exceeds maximum length + * @tc.type: FUNC + * @tc.require: Issue Number + */ + +HWTEST_F(DScreenSourceStubTest, CheckConfigParams_003, TestSize.Level1) +{ + std::shared_ptr stubPtr = std::make_shared(); + std::string exceedDidMaxSizeStr(DID_MAX_SIZE + 1, 'a'); + std::string exceedParamMaxSizeStr(PARAM_MAX_SIZE + 1, 'a'); + bool result; + result = stubPtr->CheckConfigParams(exceedDidMaxSizeStr, "dhId", "key", "value"); + EXPECT_FALSE(result); + result = stubPtr->CheckConfigParams("devId", exceedDidMaxSizeStr, "key", "value"); + EXPECT_FALSE(result); + result = stubPtr->CheckConfigParams("devId", "dhId", exceedParamMaxSizeStr, "value"); + EXPECT_FALSE(result); + result = stubPtr->CheckConfigParams("devId", "dhId", "key", exceedParamMaxSizeStr); + EXPECT_FALSE(result); +} } } \ No newline at end of file -- Gitee From 14030a4ea8b44a32e759dc4d1feabbd47a4b1f4e Mon Sep 17 00:00:00 2001 From: pwx1285814 Date: Wed, 8 Nov 2023 23:09:14 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E8=A1=A5=E5=85=85dscreen=20UT?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: pwx1285814 --- .../dscreenmgr/2.0/src/dscreen_test.cpp | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/services/screenservice/test/unittest/sourceservice/dscreenmgr/2.0/src/dscreen_test.cpp b/services/screenservice/test/unittest/sourceservice/dscreenmgr/2.0/src/dscreen_test.cpp index cb30c27e..a9562dfe 100644 --- a/services/screenservice/test/unittest/sourceservice/dscreenmgr/2.0/src/dscreen_test.cpp +++ b/services/screenservice/test/unittest/sourceservice/dscreenmgr/2.0/src/dscreen_test.cpp @@ -311,6 +311,33 @@ HWTEST_F(DScreenTestV2, SetUp_003, TestSize.Level1) EXPECT_EQ(ERR_DH_AV_TRANS_SETUP_FAILED, ret); } +/** + * @tc.name: SetUp_004 + * @tc.desc: Verify the SetUp function failed. + * @tc.type: FUNC + * @tc.require: Issue Number + */ +HWTEST_F(DScreenTestV2, SetUp_004, TestSize.Level1) +{ + dScreen_->senderAdapter_ = nullptr; + int32_t ret = dScreen_->SetUp(); + EXPECT_EQ(ERR_DH_AV_TRANS_NULL_VALUE, ret); +} + +/** + * @tc.name: SetUp_005 + * @tc.desc: Verify the SetUp function failed. + * @tc.type: FUNC + * @tc.require: Issue Number + */ +HWTEST_F(DScreenTestV2, SetUp_005, TestSize.Level1) +{ + dScreen_->senderAdapter_ = std::make_shared(); + dScreen_->videoParam_ = nullptr; + int32_t ret = dScreen_->SetUp(); + EXPECT_EQ(ERR_DH_SCREEN_SA_VALUE_NOT_INIT, ret); +} + /** * @tc.name: WaitForSinkStarted_001 * @tc.desc: Verify the WaitForSinkStarted function failed. -- Gitee