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 cb30c27e877518995c34471dac1bd991a44cc575..a9562dfe6bb34355d209fab369329e927d12564f 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. 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 9c2540d118526bc53bf5599185b1eab79722fa0c..c022643dbf4c1c19dba9fefdb3f574f40c40655b 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