1 /* 2 * Copyright (C) 2022 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #include <memory> 17 #include <gtest/gtest.h> 18 #include "mock_accessible_ability_manager_service_stub.h" 19 20 using namespace testing; 21 using namespace testing::ext; 22 using namespace std; 23 24 namespace OHOS { 25 namespace Accessibility { 26 class ASACStubUnitTest : public ::testing::Test { 27 public: 28 sptr<MockAccessibleAbilityManagerServiceStub> mockStub_ = nullptr; 29 ASACStubUnitTest()30 ASACStubUnitTest() {} ~ASACStubUnitTest()31 ~ASACStubUnitTest() {} 32 SetUpTestCase()33 static void SetUpTestCase() 34 { 35 GTEST_LOG_(INFO) << "ASACStubUnitTest Start"; 36 } TearDownTestCase()37 static void TearDownTestCase() 38 { 39 GTEST_LOG_(INFO) << "ASACStubUnitTest End"; 40 } SetUp()41 void SetUp() 42 { 43 GTEST_LOG_(INFO) << "ASACStubUnitTest SetUp()"; 44 mockStub_ = new MockAccessibleAbilityManagerServiceStub(); 45 }; TearDown()46 void TearDown() 47 { 48 GTEST_LOG_(INFO) << "ASACStubUnitTest TearDown()"; 49 mockStub_ = nullptr; 50 } WriteInterfaceToken(MessageParcel & data)51 void WriteInterfaceToken(MessageParcel &data) 52 { 53 GTEST_LOG_(INFO) << "ASACStateStubUnitTest WriteInterfaceToken"; 54 data.WriteInterfaceToken(MockAccessibleAbilityManagerServiceStub::GetDescriptor()); 55 } 56 }; 57 58 /** 59 * @tc.number: OnRemoteRequest_001 60 * @tc.name: OnRemoteRequest 61 * @tc.desc: Test function OnRemoteRequest 62 */ 63 HWTEST_F(ASACStubUnitTest, OnRemoteRequest_001, TestSize.Level1) 64 { 65 GTEST_LOG_(INFO) << "OnRemoteRequest_001 start"; 66 // Not set descriptor 67 MessageParcel data; 68 MessageParcel reply; 69 MessageOption option; 70 71 int res = mockStub_->OnRemoteRequest( 72 static_cast<uint32_t>(IAccessibleAbilityManagerServiceClient::Message::SEND_EVENT), 73 data, reply, option); 74 EXPECT_EQ(res, OHOS::Accessibility::ERR_INVALID_STATE); 75 76 // set descriptor 77 WriteInterfaceToken(data); 78 res = mockStub_->OnRemoteRequest( 79 static_cast<uint32_t>(IAccessibleAbilityManagerServiceClient::Message::SEND_EVENT), data, reply, option); 80 EXPECT_NE(res, OHOS::Accessibility::ERR_INVALID_STATE); 81 GTEST_LOG_(INFO) << "OnRemoteRequest_001 end"; 82 } 83 84 HWTEST_F(ASACStubUnitTest, OnRemoteRequest_002, TestSize.Level1) 85 { 86 GTEST_LOG_(INFO) << "OnRemoteRequest_002 start"; 87 // Not set descriptor 88 MessageParcel data; 89 MessageParcel reply; 90 MessageOption option; 91 92 int res = mockStub_->OnRemoteRequest( 93 static_cast<uint32_t>(IAccessibleAbilityManagerServiceClient::Message::REGISTER_STATE_CALLBACK), 94 data, reply, option); 95 EXPECT_EQ(res, OHOS::Accessibility::ERR_INVALID_STATE); 96 97 // set descriptor 98 WriteInterfaceToken(data); 99 res = mockStub_->OnRemoteRequest( 100 static_cast<uint32_t>(IAccessibleAbilityManagerServiceClient::Message::REGISTER_STATE_CALLBACK), 101 data, reply, option); 102 EXPECT_EQ(res, OHOS::Accessibility::NO_ERROR); 103 GTEST_LOG_(INFO) << "OnRemoteRequest_002 end"; 104 } 105 106 /** 107 * @tc.number: OnRemoteRequest_003 108 * @tc.name: OnRemoteRequest 109 * @tc.desc: Test function OnRemoteRequest 110 */ 111 HWTEST_F(ASACStubUnitTest, OnRemoteRequest_003, TestSize.Level1) 112 { 113 GTEST_LOG_(INFO) << "OnRemoteRequest_003 start"; 114 // Not set descriptor 115 MessageParcel data; 116 MessageParcel reply; 117 MessageOption option; 118 119 int res = mockStub_->OnRemoteRequest( 120 static_cast<uint32_t>(IAccessibleAbilityManagerServiceClient::Message::GET_ABILITYLIST), 121 data, reply, option); 122 EXPECT_EQ(res, OHOS::Accessibility::ERR_INVALID_STATE); 123 124 // set descriptor 125 WriteInterfaceToken(data); 126 res = mockStub_->OnRemoteRequest( 127 static_cast<uint32_t>(IAccessibleAbilityManagerServiceClient::Message::GET_ABILITYLIST), 128 data, reply, option); 129 EXPECT_EQ(res, OHOS::Accessibility::NO_ERROR); 130 GTEST_LOG_(INFO) << "OnRemoteRequest_003 end"; 131 } 132 133 /** 134 * @tc.number: OnRemoteRequest_004 135 * @tc.name: OnRemoteRequest 136 * @tc.desc: Test function OnRemoteRequest 137 */ 138 HWTEST_F(ASACStubUnitTest, OnRemoteRequest_004, TestSize.Level1) 139 { 140 GTEST_LOG_(INFO) << "OnRemoteRequest_004 start"; 141 // Not set descriptor 142 MessageParcel data; 143 MessageParcel reply; 144 MessageOption option; 145 146 int res = mockStub_->OnRemoteRequest( 147 static_cast<uint32_t>(IAccessibleAbilityManagerServiceClient::Message::REGISTER_INTERACTION_CONNECTION), 148 data, reply, option); 149 EXPECT_EQ(res, OHOS::Accessibility::ERR_INVALID_STATE); 150 151 // set descriptor 152 WriteInterfaceToken(data); 153 res = mockStub_->OnRemoteRequest( 154 static_cast<uint32_t>(IAccessibleAbilityManagerServiceClient::Message::REGISTER_INTERACTION_CONNECTION), 155 data, reply, option); 156 EXPECT_EQ(res, OHOS::Accessibility::NO_ERROR); 157 GTEST_LOG_(INFO) << "OnRemoteRequest_004 end"; 158 } 159 160 /** 161 * @tc.number: OnRemoteRequest_005 162 * @tc.name: OnRemoteRequest 163 * @tc.desc: Test function OnRemoteRequest 164 */ 165 HWTEST_F(ASACStubUnitTest, OnRemoteRequest_005, TestSize.Level1) 166 { 167 GTEST_LOG_(INFO) << "OnRemoteRequest_005 start"; 168 // Not set descriptor 169 MessageParcel data; 170 MessageParcel reply; 171 MessageOption option; 172 173 int res = mockStub_->OnRemoteRequest( 174 static_cast<uint32_t>(IAccessibleAbilityManagerServiceClient::Message::DEREGISTER_INTERACTION_CONNECTION), 175 data, reply, option); 176 EXPECT_EQ(res, OHOS::Accessibility::ERR_INVALID_STATE); 177 178 // set descriptor 179 WriteInterfaceToken(data); 180 res = mockStub_->OnRemoteRequest( 181 static_cast<uint32_t>(IAccessibleAbilityManagerServiceClient::Message::DEREGISTER_INTERACTION_CONNECTION), 182 data, reply, option); 183 EXPECT_EQ(res, OHOS::Accessibility::NO_ERROR); 184 GTEST_LOG_(INFO) << "OnRemoteRequest_005 end"; 185 } 186 } // namespace Accessibility 187 } // namespace OHOS