* Copyright (C) 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
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <gtest/gtest.h>
#include "accessibility_ability_info.h"
#include "accessibility_account_data.h"
#include "accessibility_common_helper.h"
#include "accessibility_constants.h"
#include "accessibility_element_operator_proxy.h"
#include "accessibility_element_operator_stub.h"
#include "accessibility_ut_helper.h"
#define private public
#define protected public
#include "accessible_ability_manager_service.h"
#undef private
#undef protected
#include "mock_accessibility_element_operator_proxy.h"
#include "mock_accessibility_element_operator_stub.h"
#include "mock_accessible_ability_client_stub_impl.h"
#include "mock_accessible_ability_connection.h"
#include "mock_accessible_ability_manager_service_config_observer_proxy.h"
#include "mock_accessible_ability_manager_service_config_observer_stub.h"
#include "mock_accessible_ability_manager_service_state_observer_proxy.h"
#include "mock_accessible_ability_manager_service_state_observer_stub.h"
#include "mock_accessibility_setting_provider.h"
#include "utils.h"
using namespace testing;
using namespace testing::ext;
namespace OHOS {
namespace Accessibility {
namespace {
constexpr uint32_t SLEEP_TIME_1 = 1;
constexpr size_t IMPORTANT_ABILITIES_SIZE = 0;
}
class AccessibilityAccountDataTest : public testing::Test {
public:
AccessibilityAccountDataTest()
{}
~AccessibilityAccountDataTest()
{}
static void SetUpTestCase();
static void TearDownTestCase();
void SetUp() override;
void TearDown() override;
};
void AccessibilityAccountDataTest::SetUpTestCase()
{
GTEST_LOG_(INFO) << "AccessibilityAccountDataTest SetUpTestCase";
Singleton<AccessibleAbilityManagerService>::GetInstance().OnStart();
Singleton<AccessibleAbilityManagerService>::GetInstance().SwitchedUser(AccessibilityAbilityHelper::accountId_);
}
void AccessibilityAccountDataTest::TearDownTestCase()
{
GTEST_LOG_(INFO) << "AccessibilityAccountDataTest TearDownTestCase";
Singleton<AccessibleAbilityManagerService>::GetInstance().RecycleEventHandler();
}
void AccessibilityAccountDataTest::SetUp()
{
GTEST_LOG_(INFO) << "AccessibilityAccountDataTest SetUp";
}
void AccessibilityAccountDataTest::TearDown()
{
GTEST_LOG_(INFO) << "AccessibilityAccountDataTest TearDown";
}
* @tc.number: AccessibilityAccountData_Unittest_GetAccessibilityState001
* @tc.name: GetAccessibilityState
* @tc.desc: Check the get accessibility state.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_GetAccessibilityState001, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_GetAccessibilityState001 start";
int32_t accountId = 1;
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
accountData->Init();
accountData->GetConfig()->SetTouchGuideState(true);
uint32_t stateType = accountData->GetAccessibilityState();
uint32_t stateTypeTest = Accessibility::STATE_EXPLORATION_ENABLED;
EXPECT_EQ(stateTypeTest, stateType);
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_GetAccessibilityState001 end";
}
* @tc.number: AccessibilityAccountData_Unittest_GetAccessibilityState002
* @tc.name: GetAccessibilityState
* @tc.desc: Check the get accessibility state.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_GetAccessibilityState002, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_GetAccessibilityState_002 start";
const int32_t accountId = 1;
int32_t connectCounter = 0;
AccessibilityAbilityInitParams initParams;
std::shared_ptr<AccessibilityAbilityInfo> abilityInfo = std::make_shared<AccessibilityAbilityInfo>(initParams);
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
sptr<AccessibleAbilityConnection> connection =
new MockAccessibleAbilityConnection(accountId, connectCounter++, *abilityInfo, accountData);
EXPECT_EQ(0, (int)accountData->GetConnectedA11yAbilities().size());
accountData->AddConnectedAbility(connection);
const std::string elementName = Utils::GetUri(connection->GetElementName());
EXPECT_EQ(connection, accountData->GetAccessibleAbilityConnection(elementName));
EXPECT_EQ(1, (int)accountData->GetConnectedA11yAbilities().size());
accountData->Init();
uint32_t stateType = accountData->GetAccessibilityState();
EXPECT_EQ(stateType, Accessibility::STATE_ACCESSIBILITY_ENABLED);
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_GetAccessibilityState_002 end";
}
* @tc.number: AccessibilityAccountData_Unittest_GetAccessibilityState003
* @tc.name: GetAccessibilityState
* @tc.desc: Check the get accessibility state.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_GetAccessibilityState003, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_GetAccessibilityState_003 start";
const int32_t accountId = 1;
int32_t connectCounter = 0;
AccessibilityAbilityInitParams initParams;
std::shared_ptr<AccessibilityAbilityInfo> abilityInfo = std::make_shared<AccessibilityAbilityInfo>(initParams);
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
sptr<AccessibleAbilityConnection> connection =
new MockAccessibleAbilityConnection(accountId, connectCounter++, *abilityInfo, accountData);
const std::string bundleName = "bbb";
EXPECT_FALSE(accountData->GetConnectingA11yAbility(bundleName));
accountData->AddConnectingA11yAbility(bundleName, connection);
EXPECT_TRUE(accountData->GetConnectingA11yAbility(bundleName));
accountData->Init();
accountData->GetConfig()->SetKeyEventObserverState(true);
uint32_t stateType = accountData->GetAccessibilityState();
EXPECT_EQ(stateType, Accessibility::STATE_ACCESSIBILITY_ENABLED | Accessibility::STATE_KEYEVENT_ENABLED);
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_GetAccessibilityState_003 end";
}
* @tc.number: AccessibilityAccountData_Unittest_GetAccessibilityState004
* @tc.name: GetAccessibilityState
* @tc.desc: Check the get accessibility state.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_GetAccessibilityState004, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_GetAccessibilityState_004 start";
const int32_t accountId = 1;
int32_t connectCounter = 0;
AccessibilityAbilityInitParams initParams;
std::shared_ptr<AccessibilityAbilityInfo> abilityInfo = std::make_shared<AccessibilityAbilityInfo>(initParams);
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
sptr<AccessibleAbilityConnection> connection =
new MockAccessibleAbilityConnection(accountId, connectCounter++, *abilityInfo, accountData);
accountData->AddConnectedAbility(connection);
const std::string bundleName = "bbb";
accountData->AddConnectingA11yAbility(bundleName, connection);
accountData->Init();
accountData->GetConfig()->SetGestureState(true);
uint32_t stateType = accountData->GetAccessibilityState();
EXPECT_EQ(stateType, Accessibility::STATE_ACCESSIBILITY_ENABLED | Accessibility::STATE_GESTURE_ENABLED);
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_GetAccessibilityState_004 end";
}
* @tc.number: AccessibilityAccountData_Unittest_AddConnectedAbility001
* @tc.name: AddConnectedAbility
* @tc.desc: Check the add connected ability.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_AddConnectedAbility001, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_AddConnectedAbility_001 start";
const int32_t accountId = 1;
int32_t connectCounter = 0;
AccessibilityAbilityInitParams initParams;
std::shared_ptr<AccessibilityAbilityInfo> abilityInfo = std::make_shared<AccessibilityAbilityInfo>(initParams);
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
sptr<AccessibleAbilityConnection> connection =
new MockAccessibleAbilityConnection(accountId, connectCounter++, *abilityInfo, accountData);
EXPECT_EQ(0, (int)accountData->GetConnectedA11yAbilities().size());
accountData->AddConnectedAbility(connection);
const std::string elementName = Utils::GetUri(connection->GetElementName());
EXPECT_EQ(connection, accountData->GetAccessibleAbilityConnection(elementName));
EXPECT_EQ(1, (int)accountData->GetConnectedA11yAbilities().size());
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_AddConnectedAbility_001 end";
}
* @tc.number: AccessibilityAccountData_Unittest_AddConnectedAbility002
* @tc.name: AddConnectedAbility
* @tc.desc: Check the add connected ability.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_AddConnectedAbility002, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_AddConnectedAbility_002 start";
const int32_t accountId = 1;
sptr<AccessibleAbilityConnection> connection = nullptr;
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
accountData->AddConnectedAbility(connection);
EXPECT_EQ(0, (int)accountData->GetConnectedA11yAbilities().size());
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_AddConnectedAbility_002 end";
}
* @tc.number: AccessibilityAccountData_Unittest_RemoveConnectedAbility001
* @tc.name: RemoveConnectedAbility
* @tc.desc: Check the remove connected ability.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_RemoveConnectedAbility001, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_RemoveConnectedAbility001 start";
const int32_t accountId = 1;
int32_t connectCounter = 0;
AccessibilityAbilityInitParams initParams;
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
std::shared_ptr<AccessibilityAbilityInfo> abilityInfo = std::make_shared<AccessibilityAbilityInfo>(initParams);
sptr<AccessibleAbilityConnection> connection =
new MockAccessibleAbilityConnection(accountId, connectCounter++, *abilityInfo, accountData);
EXPECT_EQ(0, (int)accountData->GetConnectedA11yAbilities().size());
accountData->AddConnectedAbility(connection);
EXPECT_EQ(1, (int)accountData->GetConnectedA11yAbilities().size());
const std::string elementName = Utils::GetUri(connection->GetElementName());
EXPECT_EQ(connection, accountData->GetAccessibleAbilityConnection(elementName));
accountData->RemoveConnectedAbility(connection->GetElementName());
EXPECT_EQ(0, (int)accountData->GetConnectedA11yAbilities().size());
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_RemoveConnectedAbility001 end";
}
* @tc.number: AccessibilityAccountData_Unittest_DelAutoStartPrefKeyInRemovePkg001
* @tc.name: DelAutoStartPrefKeyInRemovePkg
* @tc.desc: Check DelAutoStartPrefKeyInRemovePkg.
*/
HWTEST_F(AccessibilityAccountDataTest,
AccessibilityAccountData_Unittest_DelAutoStartPrefKeyInRemovePkg001, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_DelAutoStartPrefKeyInRemovePkg001 start";
const int32_t accountId = 1;
const std::string bundleName = "test";
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
accountData->DelAutoStartPrefKeyInRemovePkg(bundleName);
EXPECT_EQ(0, (int)accountData->GetInstalledAbilities().size());
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_DelAutoStartPrefKeyInRemovePkg001 end";
}
* @tc.number: AccessibilityAccountData_Unittest_DelAutoStartPrefKeyInRemovePkg002
* @tc.name: DelAutoStartPrefKeyInRemovePkg
* @tc.desc: Check DelAutoStartPrefKeyInRemovePkg.
*/
HWTEST_F(AccessibilityAccountDataTest,
AccessibilityAccountData_Unittest_DelAutoStartPrefKeyInRemovePkg002, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_DelAutoStartPrefKeyInRemovePkg002 start";
const int32_t accountId = 1;
const std::string name = "testName";
const std::string bundleName = "testBundleName";
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
AccessibilityAbilityInitParams initParams;
initParams.name = name;
initParams.bundleName = bundleName;
std::shared_ptr<AccessibilityAbilityInfo> abilityInfo = std::make_shared<AccessibilityAbilityInfo>(initParams);
abilityInfo->SetCapabilityValues(1);
accountData->AddInstalledAbility(*abilityInfo);
accountData->DelAutoStartPrefKeyInRemovePkg(bundleName);
std::string abilityId = bundleName + "/" + name;
bool ret = accountData->GetAbilityAutoStartState(abilityId);
EXPECT_EQ(false, ret);
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_DelAutoStartPrefKeyInRemovePkg002 end";
}
* @tc.number: AccessibilityAccountData_Unittest_AbilityDisconnected001
* @tc.name: AbilityDisconnected
* @tc.desc: Check the ability disconnected.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_AbilityDisconnected001, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_AbilityDisconnected001 start";
const int32_t accountId = 1;
int32_t connectCounter = 0;
AccessibilityAbilityInitParams initParams;
std::shared_ptr<AccessibilityAbilityInfo> abilityInfo = std::make_shared<AccessibilityAbilityInfo>(initParams);
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
sptr<AccessibleAbilityConnection> connection =
new MockAccessibleAbilityConnection(accountId, connectCounter++, *abilityInfo, accountData);
EXPECT_EQ(0, (int)accountData->GetConnectedA11yAbilities().size());
accountData->AddConnectedAbility(connection);
const std::string elementNameURI = Utils::GetUri(connection->GetElementName());
EXPECT_EQ(1, (int)accountData->GetConnectedA11yAbilities().size());
EXPECT_EQ(connection, accountData->GetAccessibleAbilityConnection(elementNameURI));
EXPECT_FALSE(accountData->GetConnectingA11yAbility(elementNameURI));
accountData->RemoveConnectedAbility(connection->GetElementName());
EXPECT_EQ(0, (int)accountData->GetConnectedA11yAbilities().size());
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_AbilityDisconnected001 end";
}
* @tc.number: AccessibilityAccountData_Unittest_RemoveConnectingA11yAbility001
* @tc.name: RemoveConnectingA11yAbility
* @tc.desc: Check the remove connecting A11y ability.GetAccessibilityWindows
*/
HWTEST_F(
AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_RemoveConnectingA11yAbility001, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_RemoveConnectingA11yAbility001 start";
const int32_t accountId = 1;
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
const std::string bundleName = "bbb";
EXPECT_FALSE(accountData->GetConnectingA11yAbility(bundleName));
AccessibilityAbilityInitParams initParams;
std::shared_ptr<AccessibilityAbilityInfo> abilityInfo = std::make_shared<AccessibilityAbilityInfo>(initParams);
sptr<AccessibleAbilityConnection> connection =
new MockAccessibleAbilityConnection(accountId, 0, *abilityInfo, accountData);
accountData->AddConnectingA11yAbility(bundleName, connection);
EXPECT_TRUE(accountData->GetConnectingA11yAbility(bundleName));
accountData->RemoveConnectingA11yAbility(bundleName);
EXPECT_FALSE(accountData->GetConnectingA11yAbility(bundleName));
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_RemoveConnectingA11yAbility001 end";
}
* @tc.number: AccessibilityAccountData_Unittest_AddEnabledAbility001
* @tc.name: AddEnabledAbility
* @tc.desc: Check the add enable ability.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_AddEnabledAbility001, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_AddEnabledAbility001 start";
const int32_t accountId = 1;
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
const std::string bundleName = "/bbb";
accountData->Init();
AccessibilityAbilityInitParams initParams;
initParams.name = "bbb";
std::shared_ptr<AccessibilityAbilityInfo> abilityInfo = std::make_shared<AccessibilityAbilityInfo>(initParams);
abilityInfo->SetCapabilityValues(1);
accountData->AddInstalledAbility(*abilityInfo);
accountData->AddEnabledAbility(bundleName);
accountData->AddEnabledAbility(bundleName);
EXPECT_EQ(1, (int)accountData->GetEnabledAbilities().size());
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_AddEnabledAbility001 end";
}
* @tc.number: AccessibilityAccountData_Unittest_RemoveEnabledAbility001
* @tc.name: RemoveEnabledAbility
* @tc.desc: Check the remove enable ability.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_RemoveEnabledAbility001, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_RemoveEnabledAbility001 start";
const int32_t accountId = 1;
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
const std::string bundleName = "/bbb";
accountData->Init();
accountData->RemoveEnabledAbility(bundleName);
EXPECT_EQ(0, (int)accountData->GetEnabledAbilities().size());
AccessibilityAbilityInitParams initParams;
initParams.name = "bbb";
std::shared_ptr<AccessibilityAbilityInfo> abilityInfo = std::make_shared<AccessibilityAbilityInfo>(initParams);
abilityInfo->SetCapabilityValues(1);
accountData->AddInstalledAbility(*abilityInfo);
accountData->AddEnabledAbility(bundleName);
EXPECT_EQ(1, (int)accountData->GetEnabledAbilities().size());
accountData->RemoveEnabledAbility(bundleName);
EXPECT_EQ(0, (int)accountData->GetEnabledAbilities().size());
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_RemoveEnabledAbility001 end";
}
* @tc.number: AccessibilityAccountData_Unittest_AddInstalledAbility001
* @tc.name: AddInstalledAbility
* @tc.desc: Check the add install ability.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_AddInstalledAbility001, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_AddInstalledAbility001 start";
const int32_t accountId = 1;
AccessibilityAbilityInitParams initParams;
initParams.bundleName = "TEST_BUNDLE_NAME";
std::shared_ptr<AccessibilityAbilityInfo> abilityInfo = std::make_shared<AccessibilityAbilityInfo>(initParams);
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
EXPECT_EQ(0, (int)accountData->GetInstalledAbilities().size());
accountData->AddInstalledAbility(*abilityInfo);
EXPECT_EQ(1, (int)accountData->GetInstalledAbilities().size());
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_AddInstalledAbility001 end";
}
* @tc.number: AccessibilityAccountData_Unittest_RemoveInstalledAbility001
* @tc.name: RemoveInstalledAbility
* @tc.desc: Check the remove install ability.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_RemoveInstalledAbility001, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_RemoveInstalledAbility001 start";
const int32_t accountId = 1;
AccessibilityAbilityInitParams initParams;
std::shared_ptr<AccessibilityAbilityInfo> abilityInfo = std::make_shared<AccessibilityAbilityInfo>(initParams);
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
accountData->Init();
EXPECT_EQ(0, (int)accountData->GetInstalledAbilities().size());
accountData->AddInstalledAbility(*abilityInfo);
EXPECT_EQ(1, (int)accountData->GetInstalledAbilities().size());
accountData->RemoveInstalledAbility(abilityInfo->GetPackageName());
EXPECT_EQ(0, (int)accountData->GetInstalledAbilities().size());
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_RemoveInstalledAbility001 end";
}
* @tc.number: AccessibilityAccountData_Unittest_ClearInstalledAbility001
* @tc.name: ClearInstalledAbility
* @tc.desc: Check the clear install ability.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_ClearInstalledAbility001, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_ClearInstalledAbility001 start";
const int32_t accountId = 1;
AccessibilityAbilityInitParams initParams;
std::shared_ptr<AccessibilityAbilityInfo> abilityInfo = std::make_shared<AccessibilityAbilityInfo>(initParams);
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
EXPECT_EQ(0, (int)accountData->GetInstalledAbilities().size());
accountData->AddInstalledAbility(*abilityInfo);
EXPECT_EQ(1, (int)accountData->GetInstalledAbilities().size());
accountData->ClearInstalledAbility();
EXPECT_EQ(0, (int)accountData->GetInstalledAbilities().size());
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_ClearInstalledAbility001 end";
}
* @tc.number: AccessibilityAccountData_Unittest_GetAccessibleAbilityConnection001
* @tc.name: GetAccessibleAbilityConnection
* @tc.desc: Check the get accessibility connection.
*/
HWTEST_F(
AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_GetAccessibleAbilityConnection001, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_GetAccessibleAbilityConnection001 start";
const int32_t accountId = 1;
int32_t connectCounter = 0;
AccessibilityAbilityInitParams initParams;
std::shared_ptr<AccessibilityAbilityInfo> abilityInfo = std::make_shared<AccessibilityAbilityInfo>(initParams);
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
sptr<AccessibleAbilityConnection> connection =
new MockAccessibleAbilityConnection(accountId, connectCounter++, *abilityInfo, accountData);
EXPECT_EQ(0, (int)accountData->GetConnectedA11yAbilities().size());
std::string elementName = Utils::GetUri(connection->GetElementName());
EXPECT_FALSE(accountData->GetAccessibleAbilityConnection(elementName));
accountData->AddConnectedAbility(connection);
EXPECT_EQ(1, (int)accountData->GetConnectedA11yAbilities().size());
EXPECT_EQ(connection, accountData->GetAccessibleAbilityConnection(elementName));
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_GetAccessibleAbilityConnection001 end";
}
* @tc.number: AccessibilityAccountData_Unittest_GetAccessibleAbilityConnection002
* @tc.name: GetAccessibleAbilityConnection
* @tc.desc: Check the get accessibility connection.
*/
HWTEST_F(
AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_GetAccessibleAbilityConnection002, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_GetAccessibleAbilityConnection002 start";
const int32_t accountId = 1;
int32_t connectCounter = 0;
AccessibilityAbilityInitParams initParams;
std::shared_ptr<AccessibilityAbilityInfo> abilityInfo = std::make_shared<AccessibilityAbilityInfo>(initParams);
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
sptr<AccessibleAbilityConnection> connection =
new MockAccessibleAbilityConnection(accountId, connectCounter++, *abilityInfo, accountData);
accountData->AddConnectedAbility(connection);
const std::string elementName = "111name";
EXPECT_EQ(nullptr, accountData->GetAccessibleAbilityConnection(elementName));
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_GetAccessibleAbilityConnection002 end";
}
* @tc.number: AccessibilityAccountData_Unittest_GetConnectedA11yAbilities001
* @tc.name: GetConnectedA11yAbilities
* @tc.desc: Check the get connected abilities.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_GetConnectedA11yAbilities001, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_GetConnectedA11yAbilities001 start";
const int32_t accountId = 1;
int32_t connectCounter = 0;
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
AccessibilityAbilityInitParams initParams;
std::shared_ptr<AccessibilityAbilityInfo> abilityInfo = std::make_shared<AccessibilityAbilityInfo>(initParams);
sptr<AccessibleAbilityConnection> connection =
new MockAccessibleAbilityConnection(accountId, connectCounter++, *abilityInfo, accountData);
size_t size = accountData->GetConnectedA11yAbilities().size();
EXPECT_EQ(0, size);
accountData->AddConnectedAbility(connection);
EXPECT_EQ(1, accountData->GetConnectedA11yAbilities().size());
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_GetConnectedA11yAbilities001 end";
}
* @tc.number: AccessibilityAccountData_Unittest_GetAsacConnections001
* @tc.name: GetAsacConnections
* @tc.desc: Check the get asac connections.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_GetAsacConnections001, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_GetAsacConnections001 start";
const int32_t accountId = 1;
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
size_t size = accountData->GetAsacConnections().size();
EXPECT_EQ(0, size);
const int32_t windowId = 1;
sptr<AccessibilityElementOperatorStub> operationStub = new MockAccessibilityElementOperatorStub();
sptr<IAccessibilityElementOperator> operation = new MockAccessibilityElementOperatorProxy(operationStub);
sptr<AccessibilityWindowConnection> operationConnection =
new AccessibilityWindowConnection(windowId, accountId);
accountData->AddAccessibilityWindowConnection(windowId, operationConnection);
EXPECT_EQ(1, accountData->GetAsacConnections().size());
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_GetAsacConnections001 end";
}
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_SetEnabled, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_SetEnabled start";
const int32_t accountId = 1;
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
accountData->Init();
bool state = true;
RetError test = accountData->GetConfig()->SetEnabled(state);
EXPECT_EQ(test, RET_OK);
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_SetEnabled end";
}
* @tc.number: AccessibilityAccountData_Unittest_GetAbilitiesByState001
* @tc.name: GetAbilitiesByState
* @tc.desc: Check the get ability state.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_GetAbilitiesByState001, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_GetAbilitiesByState001 start";
const int32_t accountId = 1;
int32_t connectCounter = 0;
AccessibilityAbilityInitParams initParams;
std::shared_ptr<AccessibilityAbilityInfo> abilityInfo = std::make_shared<AccessibilityAbilityInfo>(initParams);
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
sptr<AccessibleAbilityConnection> connection =
new MockAccessibleAbilityConnection(accountId, connectCounter++, *abilityInfo, accountData);
EXPECT_EQ(0, (int)accountData->GetConnectedA11yAbilities().size());
accountData->AddConnectedAbility(connection);
EXPECT_EQ(1, (int)accountData->GetConnectedA11yAbilities().size());
AbilityStateType state = AbilityStateType::ABILITY_STATE_ENABLE;;
std::vector<AccessibilityAbilityInfo> enabledAbilities;
accountData->GetAbilitiesByState(state, enabledAbilities);
EXPECT_EQ(1, (int)enabledAbilities.size());
EXPECT_EQ(connection->GetAbilityInfo().GetPackageName(), enabledAbilities.begin()->GetPackageName());
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_GetAbilitiesByState001 end";
}
* @tc.number: AccessibilityAccountData_Unittest_GetAbilitiesByState002
* @tc.name: GetAbilitiesByState
* @tc.desc: Check the get ability state.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_GetAbilitiesByState002, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_GetAbilitiesByState002 start";
const int32_t accountId = 1;
int32_t connectCounter = 0;
AccessibilityAbilityInitParams initParams;
std::shared_ptr<AccessibilityAbilityInfo> abilityInfo = std::make_shared<AccessibilityAbilityInfo>(initParams);
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
sptr<AccessibleAbilityConnection> connection =
new MockAccessibleAbilityConnection(accountId, connectCounter++, *abilityInfo, accountData);
EXPECT_EQ(0, (int)accountData->GetConnectedA11yAbilities().size());
accountData->AddConnectedAbility(connection);
EXPECT_EQ(1, (int)accountData->GetConnectedA11yAbilities().size());
AbilityStateType state = AbilityStateType::ABILITY_STATE_INSTALLED;;
std::vector<AccessibilityAbilityInfo> enabledAbilities;
accountData->GetAbilitiesByState(state, enabledAbilities);
EXPECT_EQ(0, (int)enabledAbilities.size());
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_GetAbilitiesByState002 end";
}
* @tc.number: AccessibilityAccountData_Unittest_GetAbilitiesByState003
* @tc.name: GetAbilitiesByState
* @tc.desc: Check the get ability state.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_GetAbilitiesByState003, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_GetAbilitiesByState003 start";
const int32_t accountId = 1;
int32_t connectCounter = 0;
AccessibilityAbilityInitParams initParamsDefault;
std::shared_ptr<AccessibilityAbilityInfo> abilityInfo =
std::make_shared<AccessibilityAbilityInfo>(initParamsDefault);
AccessibilityAbilityInitParams initParams;
initParams.name = "TEST_ABILITY_NAME";
initParams.bundleName = "TEST_BUNDLE_NAME";
std::shared_ptr<AccessibilityAbilityInfo> installAbilityInfo =
std::make_shared<AccessibilityAbilityInfo>(initParams);
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
sptr<AccessibleAbilityConnection> connection =
new MockAccessibleAbilityConnection(accountId, connectCounter++, *abilityInfo, accountData);
EXPECT_NE(abilityInfo->GetId(), installAbilityInfo->GetId());
EXPECT_EQ(0, (int)accountData->GetConnectedA11yAbilities().size());
accountData->AddConnectedAbility(connection);
EXPECT_EQ(1, (int)accountData->GetConnectedA11yAbilities().size());
EXPECT_EQ(0, (int)accountData->GetInstalledAbilities().size());
accountData->AddInstalledAbility(*installAbilityInfo);
EXPECT_EQ(1, (int)accountData->GetInstalledAbilities().size());
sleep(SLEEP_TIME_1);
AbilityStateType state = AbilityStateType::ABILITY_STATE_DISABLE;
std::vector<AccessibilityAbilityInfo> disabledAbilities;
accountData->GetAbilitiesByState(state, disabledAbilities);
EXPECT_EQ(1, (int)disabledAbilities.size());
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_GetAbilitiesByState003 end";
}
* @tc.number: AccessibilityAccountData_Unittest_GetAbilitiesByState004
* @tc.name: GetAbilitiesByState
* @tc.desc: Check the get ability state.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_GetAbilitiesByState004, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_GetAbilitiesByState004 start";
const int32_t accountId = 1;
int32_t connectCounter = 0;
AccessibilityAbilityInitParams initParamsDefault;
std::shared_ptr<AccessibilityAbilityInfo> abilityInfo =
std::make_shared<AccessibilityAbilityInfo>(initParamsDefault);
AccessibilityAbilityInitParams initParams;
initParams.name = "TEST_ABILITY_NAME";
initParams.bundleName = "TEST_BUNDLE_NAME";
std::shared_ptr<AccessibilityAbilityInfo> installAbilityInfo =
std::make_shared<AccessibilityAbilityInfo>(initParams);
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
sptr<AccessibleAbilityConnection> connection =
new MockAccessibleAbilityConnection(accountId, connectCounter++, *abilityInfo, accountData);
EXPECT_NE(abilityInfo->GetId(), installAbilityInfo->GetId());
EXPECT_EQ(0, (int)accountData->GetConnectedA11yAbilities().size());
accountData->AddConnectedAbility(connection);
EXPECT_EQ(1, (int)accountData->GetConnectedA11yAbilities().size());
EXPECT_EQ(0, (int)accountData->GetInstalledAbilities().size());
accountData->AddInstalledAbility(*installAbilityInfo);
EXPECT_EQ(1, (int)accountData->GetInstalledAbilities().size());
sleep(SLEEP_TIME_1);
AbilityStateType state = AbilityStateType::ABILITY_STATE_INVALID;
std::vector<AccessibilityAbilityInfo> disabledAbilities;
accountData->GetAbilitiesByState(state, disabledAbilities);
EXPECT_EQ(1, (int)disabledAbilities.size());
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_GetAbilitiesByState004 end";
}
* @tc.number: AccessibilityAccountData_Unittest_AddAccessibilityWindowConnection001
* @tc.name: AddAccessibilityWindowConnection
* @tc.desc: Check the add accessibility interaction connection.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_AddAccessibilityWindowConnection001,
TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_AddAccessibilityWindowConnection001 star";
const int32_t accountId = 1;
const int32_t windowId = 1;
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
sptr<AccessibilityElementOperatorStub> stub = new MockAccessibilityElementOperatorStub();
sptr<IAccessibilityElementOperator> operation = new MockAccessibilityElementOperatorProxy(stub);
sptr<AccessibilityWindowConnection> connection = new AccessibilityWindowConnection(windowId, accountId);
EXPECT_EQ(0, (int)accountData->GetAsacConnections().size());
accountData->AddAccessibilityWindowConnection(windowId, connection);
EXPECT_EQ(1, (int)accountData->GetAsacConnections().size());
EXPECT_EQ(connection, accountData->GetAccessibilityWindowConnection(windowId));
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_AddAccessibilityWindowConnection001 end";
}
* @tc.number: AccessibilityAccountData_Unittest_UpdateEnableAbilityListsState001
* @tc.name: UpdateEnableAbilityListsState
* @tc.desc: Check the add connecting A11y ability.
*/
HWTEST_F(AccessibilityAccountDataTest,
AccessibilityAccountData_Unittest_UpdateEnableAbilityListsState001, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_UpdateEnableAbilityListsState001 start";
const int32_t accountId = 1;
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
sptr<AccessibilityEnableAbilityListsObserverStub> stub = new MockAccessibilityEnableAbilityListsObserverStub();
sptr<IAccessibilityEnableAbilityListsObserver> observer =
new MockAccessibilityEnableAbilityListsObserverProxy(stub);
accountData->AddEnableAbilityListsObserver(observer);
EXPECT_NE(accountData.GetRefPtr(), nullptr);
accountData->UpdateEnableAbilityListsState();
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_UpdateEnableAbilityListsState001 end";
}
* @tc.number: AccessibilityAccountData_Unittest_UpdateEnableAbilityListsState002
* @tc.name: UpdateEnableAbilityListsState
* @tc.desc: Check the add connecting A11y ability.
*/
HWTEST_F(AccessibilityAccountDataTest,
AccessibilityAccountData_Unittest_UpdateEnableAbilityListsState002, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_UpdateEnableAbilityListsState002 start";
const int32_t accountId = 1;
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
sptr<AccessibilityEnableAbilityListsObserverStub> stub = new MockAccessibilityEnableAbilityListsObserverStub();
sptr<IAccessibilityEnableAbilityListsObserver> observer =
new AccessibilityEnableAbilityListsObserverProxy(stub);
accountData->AddEnableAbilityListsObserver(observer);
EXPECT_NE(accountData.GetRefPtr(), nullptr);
accountData->UpdateEnableAbilityListsState();
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_UpdateEnableAbilityListsState002 end";
}
* @tc.number: AccessibilityAccountData_Unittest_GetAccessibilityWindowConnection001
* @tc.name: GetAccessibilityWindowConnection
* @tc.desc: Check the get accessibility interaction connection.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_GetAccessibilityWindowConnection001,
TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_GetAccessibilityWindowConnection001 star";
const int32_t accountId = 1;
const int32_t windowId = 1;
const int32_t windowIdTest = 2;
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
sptr<AccessibilityElementOperatorStub> stub = new MockAccessibilityElementOperatorStub();
sptr<IAccessibilityElementOperator> operation = new MockAccessibilityElementOperatorProxy(stub);
sptr<AccessibilityWindowConnection> connection = new AccessibilityWindowConnection(windowId, accountId);
EXPECT_EQ(0, (int)accountData->GetAsacConnections().size());
accountData->AddAccessibilityWindowConnection(windowId, connection);
EXPECT_EQ(1, (int)accountData->GetAsacConnections().size());
EXPECT_EQ(nullptr, accountData->GetAccessibilityWindowConnection(windowIdTest));
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_GetAccessibilityWindowConnection001 end";
}
* @tc.number: AccessibilityAccountData_Unittest_RemoveAccessibilityWindowConnection001
* @tc.name: RemoveAccessibilityWindowConnection
* @tc.desc: Check the remove accessibility interaction connection.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_RemoveAccessibilityWindowConnection001,
TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_RemoveAccessibilityWindowConnection001 star";
const int32_t accountId = 1;
const int32_t windowId = 1;
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
sptr<AccessibilityElementOperatorStub> stub = new MockAccessibilityElementOperatorStub();
sptr<IAccessibilityElementOperator> operation = new MockAccessibilityElementOperatorProxy(stub);
sptr<AccessibilityWindowConnection> connection = new AccessibilityWindowConnection(windowId, accountId);
EXPECT_EQ(0, (int)accountData->GetAsacConnections().size());
accountData->AddAccessibilityWindowConnection(windowId, connection);
EXPECT_EQ(1, (int)accountData->GetAsacConnections().size());
accountData->RemoveAccessibilityWindowConnection(windowId);
EXPECT_EQ(0, (int)accountData->GetAsacConnections().size());
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_RemoveAccessibilityWindowConnection001 end";
}
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_SetCaptionState, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_SetCaptionState start";
const int32_t accountId = 1;
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
accountData->Init();
bool state = true;
accountData->GetConfig()->SetCaptionState(state);
bool result = accountData->GetConfig()->GetCaptionState();
EXPECT_TRUE(result);
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_SetCaptionState end";
}
* @tc.number: AccessibilityAccountData_Unittest_OnAccountSwitched001
* @tc.name: OnAccountSwitched
* @tc.desc: Check the account switched.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_OnAccountSwitched001, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_OnAccountSwitched001 start";
auto accountData = Singleton<AccessibleAbilityManagerService>::GetInstance().GetCurrentAccountData();
accountData->Init();
AccessibilityAbilityInitParams initParams;
std::shared_ptr<AccessibilityAbilityInfo> abilityInfo = std::make_shared<AccessibilityAbilityInfo>(initParams);
abilityInfo->SetCapabilityValues(CAPABILITY_RETRIEVE | CAPABILITY_TOUCH_GUIDE | CAPABILITY_GESTURE |
CAPABILITY_KEY_EVENT_OBSERVER | CAPABILITY_ZOOM);
sptr<AccessibleAbilityConnection> AAConnection =
new AccessibleAbilityConnection(accountData->GetAccountId(), 0, *abilityInfo, accountData);
sptr<AccessibleAbilityClientStub> aastub = new MockAccessibleAbilityClientStubImpl();
GTEST_LOG_(INFO) << "OnAbilityConnectDoneSync start !!!!!";
const AppExecFwk::ElementName elementName("aaa", "bbb", "ccc");
AAConnection->OnAbilityConnectDoneSync(elementName, aastub);
GTEST_LOG_(INFO) << "add connected A11y Ability";
EXPECT_EQ(1, (int)accountData->GetConnectedA11yAbilities().size());
accountData->UpdateAccountCapabilities();
EXPECT_TRUE(accountData->GetGesturesSimulationFlag());
EXPECT_TRUE(accountData->GetFilteringKeyEventsFlag());
EXPECT_TRUE(accountData->GetEventTouchGuideStateFlag());
EXPECT_TRUE(accountData->GetScreenMagnificationFlag());
GTEST_LOG_(INFO) << "OnAccountSwitched";
accountData->OnAccountSwitched();
sleep(1);
accountData->UpdateAccountCapabilities();
EXPECT_EQ(0, (int)accountData->GetConnectedA11yAbilities().size());
EXPECT_FALSE(accountData->GetGesturesSimulationFlag());
EXPECT_FALSE(accountData->GetFilteringKeyEventsFlag());
EXPECT_FALSE(accountData->GetEventTouchGuideStateFlag());
EXPECT_FALSE(accountData->GetScreenMagnificationFlag());
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_OnAccountSwitched001 end";
}
* @tc.number: AccessibilityAccountData_Unittest_AddConnectingA11yAbility001
* @tc.name: AddConnectingA11yAbility
* @tc.desc: Check the add connecting A11y ability.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_AddConnectingA11yAbility001, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_AddConnectingA11yAbility001 start";
const int32_t accountId = 1;
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
const std::string bundleName = "bbb";
EXPECT_FALSE(accountData->GetConnectingA11yAbility(bundleName));
AccessibilityAbilityInitParams initParams;
std::shared_ptr<AccessibilityAbilityInfo> abilityInfo = std::make_shared<AccessibilityAbilityInfo>(initParams);
sptr<AccessibleAbilityConnection> connection =
new MockAccessibleAbilityConnection(accountId, 0, *abilityInfo, accountData);
accountData->AddConnectingA11yAbility(bundleName, connection);
accountData->AddConnectingA11yAbility(bundleName, connection);
EXPECT_TRUE(accountData->GetConnectingA11yAbility(bundleName));
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_AddConnectingA11yAbility001 end";
}
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_SetTouchGuideState, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_SetTouchGuideState start";
const int32_t accountId = 1;
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
accountData->Init();
bool state = true;
RetError test = accountData->GetConfig()->SetTouchGuideState(state);
EXPECT_EQ(test, RET_OK);
bool result = accountData->GetConfig()->GetTouchGuideState();
EXPECT_TRUE(result);
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_SetTouchGuideState end";
}
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_SetGestureState, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_SetGestureState start";
const int32_t accountId = 1;
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
accountData->Init();
bool state = false;
RetError test = accountData->GetConfig()->SetGestureState(state);
EXPECT_EQ(test, RET_OK);
bool result = accountData->GetConfig()->GetGestureState();
EXPECT_FALSE(result);
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_SetGestureState end";
}
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_SetKeyEventObserverState, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_SetKeyEventObserverState start";
const int32_t accountId = 1;
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
accountData->Init();
bool state = true;
RetError test = accountData->GetConfig()->SetKeyEventObserverState(state);
EXPECT_EQ(test, RET_OK);
bool result = accountData->GetConfig()->GetKeyEventObserverState();
EXPECT_TRUE(result);
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_SetKeyEventObserverState end";
}
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_SetCaptionProperty, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_SetCaptionProperty start";
const int32_t accountId = 1;
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
AccessibilityConfig::CaptionProperty caption;
accountData->Init();
accountData->GetConfig()->SetCaptionProperty(caption);
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_SetCaptionProperty end";
}
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_ClearInstalledAbility, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_ClearInstalledAbility start";
const int32_t accountId = 1;
AccessibilityAbilityInitParams initParams;
initParams.bundleName = "TEST_BUNDLE_NAME";
std::shared_ptr<AccessibilityAbilityInfo> abilityInfo = std::make_shared<AccessibilityAbilityInfo>(initParams);
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
accountData->AddInstalledAbility(*abilityInfo);
accountData->ClearInstalledAbility();
EXPECT_NE(accountData.GetRefPtr(), nullptr);
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_ClearInstalledAbility end";
}
* @tc.number: AccessibilityAccountData_Unittest_RemoveEnabledAbility
* @tc.name: RemoveEnabledAbility
* @tc.desc: Remove the enabled ability.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_RemoveEnabledAbility, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_RemoveEnabledAbility start";
const int32_t accountId = 1;
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
const std::string bundleName = "bbb";
accountData->Init();
accountData->RemoveEnabledAbility(bundleName);
EXPECT_NE(accountData.GetRefPtr(), nullptr);
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_RemoveEnabledAbility end";
}
* @tc.number: AccessibilityAccountData_Unittest_EnableAbility_001
* @tc.name: EnableAbility
* @tc.desc: Enable specified ability with no capability
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_EnableAbility_001, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_EnableAbility_001 start";
const int32_t accountId = 1;
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
accountData->Init();
AccessibilityAbilityInitParams initParams;
initParams.bundleName = "bundle";
initParams.name = "ability";
std::shared_ptr<AccessibilityAbilityInfo> abilityInfo = std::make_shared<AccessibilityAbilityInfo>(initParams);
accountData->AddInstalledAbility(*abilityInfo);
const std::string name = "bundle/ability";
uint32_t capabilities = 0;
RetError test = accountData->EnableAbility(name, capabilities);
EXPECT_EQ(test, RET_ERR_NOT_ENABLED);
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_EnableAbility_001 end";
}
* @tc.number: AccessibilityAccountData_Unittest_EnableAbility_002
* @tc.name: EnableAbility
* @tc.desc: Enable specified ability which is already enabled.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_EnableAbility_002, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_EnableAbility_002 start";
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(0);
accountData->Init();
AccessibilityAbilityInitParams initParams;
initParams.bundleName = "bundle";
initParams.name = "ability";
initParams.staticCapabilities = CAPABILITY_RETRIEVE;
std::shared_ptr<AccessibilityAbilityInfo> abilityInfo = std::make_shared<AccessibilityAbilityInfo>(initParams);
accountData->AddInstalledAbility(*abilityInfo);
std::string name = "bundle/ability";
accountData->AddEnabledAbility(name);
EXPECT_EQ(RET_ERR_CONNECTION_EXIST, accountData->EnableAbility(name, CAPABILITY_RETRIEVE));
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_EnableAbility_002 end";
}
* @tc.number: AccessibilityAccountData_Unittest_EnableAbility_003
* @tc.name: EnableAbility
* @tc.desc: Enable specified ability successfully.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_EnableAbility_003, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_EnableAbility_003 start";
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(0);
accountData->Init();
AccessibilityAbilityInitParams initParams;
initParams.bundleName = "bundle";
initParams.name = "ability";
initParams.staticCapabilities = CAPABILITY_RETRIEVE;
std::shared_ptr<AccessibilityAbilityInfo> abilityInfo = std::make_shared<AccessibilityAbilityInfo>(initParams);
accountData->AddInstalledAbility(*abilityInfo);
const std::string name = "bundle/ability";
EXPECT_EQ(RET_OK, accountData->EnableAbility(name, CAPABILITY_RETRIEVE));
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_EnableAbility_003 end";
}
* @tc.number: AccessibilityAccountData_Unittest_EnableAbility_004
* @tc.name: EnableAbility
* @tc.desc: Enable specified ability which is not installed.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_EnableAbility_004, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_EnableAbility_004 start";
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(0);
EXPECT_EQ(RET_ERR_NOT_INSTALLED, accountData->EnableAbility("bundle/ability", 0));
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_EnableAbility_004 end";
}
* @tc.number: AccessibilityAccountData_Unittest_EnableAbility_005
* @tc.name: EnableAbility
* @tc.desc: Enable specified ability successfully.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_EnableAbility_005, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_EnableAbility_005 start";
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(0);
accountData->Init();
AccessibilityAbilityInitParams initParams;
initParams.bundleName = "bundle";
initParams.name = "ability";
initParams.staticCapabilities = CAPABILITY_RETRIEVE;
std::shared_ptr<AccessibilityAbilityInfo> abilityInfo = std::make_shared<AccessibilityAbilityInfo>(initParams);
accountData->AddInstalledAbility(*abilityInfo);
const std::string name = "bundle/ability";
EXPECT_EQ(RET_ERR_NOT_ENABLED, accountData->EnableAbility(name, 0));
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_EnableAbility_005 end";
}
* @tc.number: AccessibilityAccountData_Unittest_GetImportantEnabledAbilities_001
* @tc.name: GetImportantEnabledAbilities
* @tc.desc: Get important enabled abilities when there is no installed ability.
*/
HWTEST_F(AccessibilityAccountDataTest,
AccessibilityAccountData_Unittest_GetImportantEnabledAbilities_001, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_GetImportantEnabledAbilities_001 start";
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(0);
std::map<std::string, uint32_t> abilities;
accountData->GetImportantEnabledAbilities(abilities);
EXPECT_EQ(0, static_cast<int>(abilities.size()));
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_GetImportantEnabledAbilities_001 end";
}
* @tc.number: AccessibilityAccountData_Unittest_GetImportantEnabledAbilities_002
* @tc.name: GetImportantEnabledAbilities
* @tc.desc: Get important enabled abilities when there is no enabled ability.
*/
HWTEST_F(AccessibilityAccountDataTest,
AccessibilityAccountData_Unittest_GetImportantEnabledAbilities_002, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_GetImportantEnabledAbilities_002 start";
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(0);
AccessibilityAbilityInitParams initParams;
std::shared_ptr<AccessibilityAbilityInfo> abilityInfo = std::make_shared<AccessibilityAbilityInfo>(initParams);
accountData->AddInstalledAbility(*abilityInfo);
std::map<std::string, uint32_t> abilities;
accountData->GetImportantEnabledAbilities(abilities);
EXPECT_EQ(0, static_cast<int>(abilities.size()));
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_GetImportantEnabledAbilities_002 end";
}
* @tc.number: AccessibilityAccountData_Unittest_GetImportantEnabledAbilities_003
* @tc.name: GetImportantEnabledAbilities
* @tc.desc: Get important enabled abilities.
*/
HWTEST_F(AccessibilityAccountDataTest,
AccessibilityAccountData_Unittest_GetImportantEnabledAbilities_003, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_GetImportantEnabledAbilities_003 start";
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(0);
AccessibilityAbilityInitParams initParams;
initParams.bundleName = "testBundle1";
initParams.name = "testAbility1";
initParams.isImportant = false;
std::shared_ptr<AccessibilityAbilityInfo> abilityInfo = std::make_shared<AccessibilityAbilityInfo>(initParams);
accountData->AddInstalledAbility(*abilityInfo);
initParams.bundleName = "testBundle2";
initParams.name = "testAbility2";
initParams.isImportant = true;
std::shared_ptr<AccessibilityAbilityInfo> importantAbilityInfo =
std::make_shared<AccessibilityAbilityInfo>(initParams);
accountData->AddInstalledAbility(*importantAbilityInfo);
accountData->AddEnabledAbility("testBundle1/testAbility1");
accountData->AddEnabledAbility("testBundle2/testAbility2");
std::map<std::string, uint32_t> abilities;
accountData->GetImportantEnabledAbilities(abilities);
EXPECT_EQ(IMPORTANT_ABILITIES_SIZE, abilities.size());
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_GetImportantEnabledAbilities_003 end";
}
* @tc.number: AccessibilityAccountData_Unittest_GetImportantEnabledAbilities_004
* @tc.name: GetImportantEnabledAbilities
* @tc.desc: Get important enabled abilities.
*/
HWTEST_F(AccessibilityAccountDataTest,
AccessibilityAccountData_Unittest_GetImportantEnabledAbilities_004, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_GetImportantEnabledAbilities_004 start";
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(0);
AccessibilityAbilityInitParams initParams;
initParams.bundleName = "testBundle1";
initParams.name = "testAbility1";
initParams.isImportant = false;
std::shared_ptr<AccessibilityAbilityInfo> abilityInfo = std::make_shared<AccessibilityAbilityInfo>(initParams);
accountData->AddInstalledAbility(*abilityInfo);
initParams.bundleName = "testBundle2";
initParams.name = "testAbility2";
initParams.isImportant = true;
std::shared_ptr<AccessibilityAbilityInfo> importantAbilityInfo =
std::make_shared<AccessibilityAbilityInfo>(initParams);
accountData->AddInstalledAbility(*importantAbilityInfo);
accountData->AddEnabledAbility("testBundle1/testAbility1");
accountData->AddEnabledAbility("testBundle2/testAbility2");
std::map<std::string, uint32_t> abilities;
accountData->GetImportantEnabledAbilities(abilities);
abilities.emplace(std::make_pair("testBundle2/testAbility2", CAPABILITY_RETRIEVE));
EXPECT_NE(IMPORTANT_ABILITIES_SIZE, abilities.size());
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_GetImportantEnabledAbilities_004 end";
}
* @tc.number: AccessibilityAccountData_Unittest_UpdateImportantEnabledAbilities
* @tc.name: UpdateImportantEnabledAbilities
* @tc.desc: Update important enabled abilities.
*/
HWTEST_F(AccessibilityAccountDataTest,
AccessibilityAccountData_Unittest_UpdateImportantEnabledAbilities, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_UpdateImportantEnabledAbilities start";
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(0);
std::map<std::string, uint32_t> abilities;
accountData->UpdateImportantEnabledAbilities(abilities);
abilities.emplace(std::make_pair("testBundle/testAbility", CAPABILITY_RETRIEVE));
accountData->UpdateImportantEnabledAbilities(abilities);
AccessibilityAbilityInitParams initParams;
initParams.bundleName = "testBundle";
initParams.name = "testAbility";
initParams.isImportant = true;
std::shared_ptr<AccessibilityAbilityInfo> abilityInfo = std::make_shared<AccessibilityAbilityInfo>(initParams);
abilityInfo->SetCapabilityValues(CAPABILITY_RETRIEVE | CAPABILITY_GESTURE);
accountData->AddInstalledAbility(*abilityInfo);
accountData->UpdateImportantEnabledAbilities(abilities);
ASSERT_EQ(1, static_cast<int>(accountData->GetInstalledAbilities().size()));
EXPECT_EQ(accountData->GetInstalledAbilities().front().GetCapabilityValues(), CAPABILITY_RETRIEVE);
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_UpdateImportantEnabledAbilities end";
}
* @tc.number: AccessibilityAccountData_Unittest_UpdateAbilities_001
* @tc.name: UpdateAbilities
* @tc.desc: Update all abilities when there is an installed ability which is connecting.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_UpdateAbilities_001, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_UpdateAbilities_001 start";
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(0);
AccessibilityAbilityInitParams initParams;
initParams.bundleName = "connectingBundle";
initParams.name = "connectingAbility";
std::shared_ptr<AccessibilityAbilityInfo> connectingAbilityInfo =
std::make_shared<AccessibilityAbilityInfo>(initParams);
accountData->AddInstalledAbility(*connectingAbilityInfo);
sptr<AccessibleAbilityConnection> connection =
new MockAccessibleAbilityConnection(0, 0, *connectingAbilityInfo, accountData);
accountData->AddConnectingA11yAbility("connectingBundle/connectingAbility", connection);
accountData->UpdateAbilities();
EXPECT_TRUE(accountData->GetConnectingA11yAbility("connectingBundle/connectingAbility"));
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_UpdateAbilities_001 end";
}
* @tc.number: AccessibilityAccountData_Unittest_UpdateAbilities_002
* @tc.name: UpdateAbilities
* @tc.desc: Update all abilities when there is an ability which is already connected.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_UpdateAbilities_002, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_UpdateAbilities_002 start";
auto accountData = Singleton<AccessibleAbilityManagerService>::GetInstance().GetCurrentAccountData();
std::shared_ptr<AccessibilityAbilityInfo> abilityInfo = std::make_shared<AccessibilityAbilityInfo>();
accountData->AddInstalledAbility(*abilityInfo);
AppExecFwk::ElementName elementName("testDeviceId", "testBundle", "testAbility");
sptr<AccessibleAbilityConnection> connection =
new MockAccessibleAbilityConnection(accountData->GetAccountId(), 0, *abilityInfo, accountData);
accountData->AddEnabledAbility(Utils::GetUri(connection->GetElementName()));
connection->Connect(elementName);
accountData->AddConnectedAbility(connection);
EXPECT_TRUE(accountData->GetAccessibleAbilityConnection(Utils::GetUri(connection->GetElementName())));
accountData->UpdateAbilities();
EXPECT_TRUE(accountData->GetAccessibleAbilityConnection(Utils::GetUri(connection->GetElementName())));
accountData->OnAccountSwitched();
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_UpdateAbilities_002 end";
}
* @tc.number: AccessibilityAccountData_Unittest_UpdateAbilities_003
* @tc.name: UpdateAbilities
* @tc.desc: Update all abilities when there is an enabled ability which is no connected.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_UpdateAbilities_003, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_UpdateAbilities_003 start";
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(0);
AccessibilityAbilityInitParams initParams;
initParams.bundleName = "testBundle";
initParams.name = "testAbility";
std::shared_ptr<AccessibilityAbilityInfo> abilityInfo =
std::make_shared<AccessibilityAbilityInfo>(initParams);
accountData->AddInstalledAbility(*abilityInfo);
accountData->AddEnabledAbility("testBundle/testAbility");
accountData->UpdateAbilities();
EXPECT_TRUE(accountData->GetConnectingA11yAbility("testBundle/testAbility"));
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_UpdateAbilities_003 end";
}
* @tc.number: AccessibilityAccountData_Unittest_UpdateAbilities_004
* @tc.name: UpdateAbilities
* @tc.desc: Update all abilities when there is an connected ability which is no enabled.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_UpdateAbilities_004, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_UpdateAbilities_004 start";
auto accountData = Singleton<AccessibleAbilityManagerService>::GetInstance().GetCurrentAccountData();
std::shared_ptr<AccessibilityAbilityInfo> abilityInfo = std::make_shared<AccessibilityAbilityInfo>();
accountData->AddInstalledAbility(*abilityInfo);
sptr<AccessibleAbilityConnection> connection =
new MockAccessibleAbilityConnection(accountData->GetAccountId(), 0, *abilityInfo, accountData);
AppExecFwk::ElementName elementName("testDeviceId", "testBundle", "testAbility");
connection->Connect(elementName);
accountData->AddConnectedAbility(connection);
EXPECT_TRUE(accountData->GetAccessibleAbilityConnection(Utils::GetUri(connection->GetElementName())));
AccessibilityAbilityHelper::GetInstance().SetTestChannelId(0);
EXPECT_EQ(AccessibilityAbilityHelper::GetInstance().GetTestChannelId(), 0);
accountData->UpdateAbilities();
EXPECT_EQ(AccessibilityAbilityHelper::GetInstance().GetTestChannelId(), -1);
accountData->OnAccountSwitched();
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_UpdateAbilities_004 end";
}
* @tc.number: AccessibilityAccountData_Unittest_RemoveAbility_001
* @tc.name: RemoveAbility
* @tc.desc: Remove ability when there is no ability
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_RemoveAbility_001, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_RemoveAbility_001 start";
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(0);
EXPECT_FALSE(accountData->RemoveAbility("bundle"));
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_RemoveAbility_001 end";
}
* @tc.number: AccessibilityAccountData_Unittest_RemoveAbility_002
* @tc.name: RemoveAbility
* @tc.desc: Remove ability successfully
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_RemoveAbility_002, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_RemoveAbility_002 start";
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(0);
AccessibilityAbilityInitParams initParams;
initParams.bundleName = "testBundle";
initParams.name = "testAbility";
std::shared_ptr<AccessibilityAbilityInfo> abilityInfo =
std::make_shared<AccessibilityAbilityInfo>(initParams);
accountData->AddInstalledAbility(*abilityInfo);
accountData->AddEnabledAbility("testBundle/testAbility");
sptr<AccessibleAbilityConnection> connection = new MockAccessibleAbilityConnection(0, 0, *abilityInfo, accountData);
accountData->AddConnectedAbility(connection);
EXPECT_TRUE(accountData->RemoveAbility("testBundle"));
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_RemoveAbility_002 end";
}
* @tc.number: AccessibilityAccountData_Unittest_ChangeAbility_001
* @tc.name: ChangeAbility
* @tc.desc: Change ability when there is no ability
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_ChangeAbility_001, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_ChangeAbility_001 start";
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(0);
accountData->ChangeAbility("bundle");
EXPECT_EQ(0, static_cast<int>(accountData->GetInstalledAbilities().size()));
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_ChangeAbility_001 end";
}
* @tc.number: AccessibilityAccountData_Unittest_ChangeAbility_002
* @tc.name: ChangeAbility
* @tc.desc: Change ability which is not installed.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_ChangeAbility_002, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_ChangeAbility_002 start";
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(0);
AccessibilityAbilityInitParams initParams;
initParams.bundleName = "testBundle";
std::shared_ptr<AccessibilityAbilityInfo> abilityInfo =
std::make_shared<AccessibilityAbilityInfo>(initParams);
accountData->AddInstalledAbility(*abilityInfo);
EXPECT_EQ(1, static_cast<int>(accountData->GetInstalledAbilities().size()));
accountData->ChangeAbility("test");
EXPECT_EQ(1, static_cast<int>(accountData->GetInstalledAbilities().size()));
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_ChangeAbility_002 end";
}
* @tc.number: AccessibilityAccountData_Unittest_ChangeAbility_003
* @tc.name: ChangeAbility
* @tc.desc: Change ability which is installed.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_ChangeAbility_003, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_ChangeAbility_003 start";
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(0);
AccessibilityAbilityInitParams initParams;
initParams.bundleName = "testBundle";
std::shared_ptr<AccessibilityAbilityInfo> abilityInfo =
std::make_shared<AccessibilityAbilityInfo>(initParams);
accountData->AddInstalledAbility(*abilityInfo);
EXPECT_EQ(1, static_cast<int>(accountData->GetInstalledAbilities().size()));
const std::string abilityName = "testBundle";
accountData->SetAbilityAutoStartState("testBundle", true);
accountData->ChangeAbility("testBundle");
EXPECT_EQ(0, static_cast<int>(accountData->GetInstalledAbilities().size()));
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_ChangeAbility_003 end";
}
* @tc.number: AccessibilityAccountData_Unittest_AddUITestClient
* @tc.name: AddUITestClient
* @tc.desc: Add ui test client
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_AddUITestClient, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_AddUITestClient start";
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(0);
accountData->AddUITestClient(nullptr, "uitestBundle", "uitestAbility");
EXPECT_EQ(1, static_cast<int>(accountData->GetInstalledAbilities().size()));
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_AddUITestClient end";
}
* @tc.number: AccessibilityAccountData_Unittest_RemoveUITestClient_001
* @tc.name: RemoveUITestClient
* @tc.desc: Remove ui test client failed.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_RemoveUITestClient_001, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_RemoveUITestClient_001 start";
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(0);
accountData->AddUITestClient(nullptr, "uitestBundle", "uitestAbility");
EXPECT_EQ(1, static_cast<int>(accountData->GetInstalledAbilities().size()));
sptr<AccessibleAbilityConnection> connection = nullptr;
accountData->RemoveUITestClient(connection, "uitestBundle");
EXPECT_EQ(1, static_cast<int>(accountData->GetInstalledAbilities().size()));
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_RemoveUITestClient_001 end";
}
* @tc.number: AccessibilityAccountData_Unittest_RemoveUITestClient_002
* @tc.name: RemoveUITestClient
* @tc.desc: Remove ui test client successfully.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_RemoveUITestClient_002, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_RemoveUITestClient_002 start";
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(0);
AccessibilityAbilityInitParams initParams;
initParams.bundleName = "uitestBundle";
initParams.name = "uitestAbility";
std::shared_ptr<AccessibilityAbilityInfo> abilityInfo = std::make_shared<AccessibilityAbilityInfo>(initParams);
sptr<AccessibleAbilityConnection> connection = new MockAccessibleAbilityConnection(0, 0, *abilityInfo, accountData);
accountData->AddUITestClient(nullptr, "uitestBundle", "uitestAbility");
EXPECT_EQ(1, static_cast<int>(accountData->GetInstalledAbilities().size()));
accountData->RemoveUITestClient(connection, "uitestBundle");
EXPECT_EQ(0, static_cast<int>(accountData->GetInstalledAbilities().size()));
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_RemoveUITestClient_002 end";
}
* @tc.number: AccessibilityAccountData_Unittest_CaptionPropertyCallback
* @tc.name: CaptionPropertyCallback
* @tc.desc: Check the functions of AddCaptionPropertyCallback and RemoveCaptionPropertyCallback.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_CaptionPropertyCallback, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_CaptionPropertyCallback start";
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(0);
sptr<AccessibleAbilityManagerCaptionObserverStub> stub = new MockAccessibleAbilityManagerCaptionObserverStub();
sptr<IAccessibleAbilityManagerCaptionObserver> caption =
new MockAccessibleAbilityManagerCaptionObserverProxy(stub);
EXPECT_EQ(0, static_cast<int>(accountData->GetCaptionPropertyCallbacks().size()));
accountData->AddCaptionPropertyCallback(caption);
EXPECT_EQ(1, static_cast<int>(accountData->GetCaptionPropertyCallbacks().size()));
accountData->RemoveCaptionPropertyCallback(caption->AsObject());
EXPECT_EQ(0, static_cast<int>(accountData->GetCaptionPropertyCallbacks().size()));
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_CaptionPropertyCallback end";
}
* @tc.number: AccessibilityAccountData_Unittest_EnableAbilityListsObserver
* @tc.name: EnableAbilityListsObserver
* @tc.desc: Check the functions of AddEnableAbilityListsObserver and RemoveEnableAbilityListsObserver.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_EnableAbilityListsObserver, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_EnableAbilityListsObserver start";
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(0);
sptr<AccessibilityEnableAbilityListsObserverStub> stub = new MockAccessibilityEnableAbilityListsObserverStub();
sptr<IAccessibilityEnableAbilityListsObserver> observer =
new MockAccessibilityEnableAbilityListsObserverProxy(stub);
accountData->AddEnableAbilityListsObserver(observer);
accountData->AddEnableAbilityListsObserver(observer);
accountData->RemoveEnableAbilityListsObserver(observer->AsObject());
EXPECT_NE(accountData.GetRefPtr(), nullptr);
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_EnableAbilityListsObserver end";
}
* @tc.number: AccessibilityAccountData_Unittest_ConfigCallback
* @tc.name: ConfigCallback
* @tc.desc: Check the functions of AddConfigCallback and RemoveConfigCallback.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_ConfigCallback, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_ConfigCallback start";
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(0);
sptr<AccessibleAbilityManagerConfigObserverStub> stub = new MockAccessibleAbilityManagerConfigObserverStub();
sptr<IAccessibleAbilityManagerConfigObserver> observer = new MockAccessibleAbilityManagerConfigObserverProxy(stub);
EXPECT_EQ(0, static_cast<int>(accountData->GetConfigCallbacks().size()));
accountData->AddConfigCallback(observer);
EXPECT_EQ(1, static_cast<int>(accountData->GetConfigCallbacks().size()));
accountData->RemoveConfigCallback(observer->AsObject());
EXPECT_EQ(0, static_cast<int>(accountData->GetConfigCallbacks().size()));
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_ConfigCallback end";
}
* @tc.number: AccessibilityAccountData_Unittest_AddAccessibilityAbility_001
* @tc.name: AddAccessibilityAbility
* @tc.desc: Check add accessibility ability.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_AddAccessibilityAbility001, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_AddAccessibilityAbility_001 start";
const int32_t accountId = 1;
int32_t connectCounter = 0;
AccessibilityAbilityInitParams initParams;
std::shared_ptr<AccessibilityAbilityInfo> abilityInfo = std::make_shared<AccessibilityAbilityInfo>(initParams);
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
sptr<AccessibleAbilityConnection> connection =
new MockAccessibleAbilityConnection(accountId, connectCounter++, *abilityInfo, accountData);
std::string uri = Utils::GetUri(connection->GetElementName());
accountData->AddConnectingA11yAbility(uri, connection);
auto connnection = accountData->GetConnectingA11yAbility(uri);
EXPECT_NE(connnection.GetRefPtr(), nullptr);
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_AddAccessibilityAbility_001 end";
}
* @tc.number: AccessibilityAccountData_Unittest_SetAbilityAutoStartState_001
* @tc.name: SetAbilityAutoStartState
* @tc.desc: Check set and get AbilityAutoStartState.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_SetAbilityAutoStartState, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_SetAbilityAutoStartState_001 start";
const int32_t accountId = 1;
const std::string abilityName = "test";
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
accountData->SetAbilityAutoStartState(abilityName, false);
EXPECT_EQ(accountData->GetAbilityAutoStartState(abilityName), false);
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_SetAbilityAutoStartState_001 end";
}
* @tc.number: AccessibilityAccountData_Unittest_SetAbilityAutoStartState_002
* @tc.name: SetAbilityAutoStartState
* @tc.desc: Check set and get AbilityAutoStartState.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_SetAbilityAutoStartState002, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_SetAbilityAutoStartState002 start";
const int32_t accountId = 1;
const std::string abilityName = "com.ohos.screenreader/AccessibilityExtAbility";
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
accountData->SetAbilityAutoStartState(abilityName, false);
EXPECT_EQ(accountData->GetAbilityAutoStartState(abilityName), false);
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_SetAbilityAutoStartState002 end";
}
* @tc.number: AccessibilityAccountData_Unittest_UpdateAutoStartEnabledAbilities_001
* @tc.name: UpdateAutoStartEnabledAbilities
* @tc.desc: Check UpdateAutoStartEnabledAbilities.
*/
HWTEST_F(AccessibilityAccountDataTest,
AccessibilityAccountData_Unittest_UpdateAutoStartEnabledAbilities001, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_UpdateAutoStartEnabledAbilities001 start";
const int32_t accountId = -1;
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
accountData->UpdateAutoStartEnabledAbilities();
EXPECT_EQ(-1, accountData->GetAccountId());
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_UpdateAutoStartEnabledAbilities001 end";
}
* @tc.number: AccessibilityAccountData_Unittest_UpdateAutoStartEnabledAbilities_002
* @tc.name: UpdateAutoStartEnabledAbilities
* @tc.desc: Check UpdateAutoStartEnabledAbilities.
*/
HWTEST_F(AccessibilityAccountDataTest,
AccessibilityAccountData_Unittest_UpdateAutoStartEnabledAbilities002, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_UpdateAutoStartEnabledAbilities002 start";
const int32_t accountId = 1;
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
accountData->UpdateAutoStartEnabledAbilities();
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_UpdateAutoStartEnabledAbilities002 end";
}
* @tc.number: AccessibilityAccountData_Unittest_UpdateAutoStartEnabledAbilities_003
* @tc.name: UpdateAutoStartEnabledAbilities
* @tc.desc: Check UpdateAutoStartEnabledAbilities.
*/
HWTEST_F(AccessibilityAccountDataTest,
AccessibilityAccountData_Unittest_UpdateAutoStartEnabledAbilities_003, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_UpdateAutoStartEnabledAbilities_003 start";
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(0);
std::map<std::string, uint32_t> abilities;
accountData->UpdateImportantEnabledAbilities(abilities);
abilities.emplace(std::make_pair("testBundle/testAbility", CAPABILITY_RETRIEVE));
accountData->UpdateImportantEnabledAbilities(abilities);
AccessibilityAbilityInitParams initParams;
initParams.bundleName = "testBundle";
initParams.name = "testAbility";
initParams.isImportant = true;
std::shared_ptr<AccessibilityAbilityInfo> abilityInfo = std::make_shared<AccessibilityAbilityInfo>(initParams);
abilityInfo->SetCapabilityValues(CAPABILITY_RETRIEVE | CAPABILITY_GESTURE);
accountData->AddInstalledAbility(*abilityInfo);
accountData->Init();
accountData->UpdateAutoStartEnabledAbilities();
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_UpdateAutoStartEnabledAbilities_003 end";
}
* @tc.number: AccessibilityAccountData_Unittest_GetInputFilterFlag_001
* @tc.name: GetInputFilterFlag
* @tc.desc: Check GetInputFilterFlag.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_GetInputFilterFlag001, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_GetInputFilterFlag001 start";
const int32_t accountId = 1;
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
EXPECT_EQ(0, accountData->GetInputFilterFlag());
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_GetInputFilterFlag001 end";
}
* @tc.number: AccessibilityAccountData_Unittest_GetInputFilterFlag_002
* @tc.name: GetInputFilterFlag
* @tc.desc: Check GetInputFilterFlag.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_GetInputFilterFlag_002, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_GetInputFilterFlag_002 start";
const int32_t accountId = 0;
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
accountData->Init();
EXPECT_EQ(0, accountData->GetInputFilterFlag());
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_GetInputFilterFlag_002 end";
}
* @tc.number: AccessibilityAccountData_Unittest_GetInputFilterFlag_003
* @tc.name: GetInputFilterFlag
* @tc.desc: Check GetInputFilterFlag.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_GetInputFilterFlag_003, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_GetInputFilterFlag_003 start";
auto accountData = Singleton<AccessibleAbilityManagerService>::GetInstance().GetCurrentAccountData();
accountData->Init();
AccessibilityAbilityInitParams initParams;
std::shared_ptr<AccessibilityAbilityInfo> abilityInfo = std::make_shared<AccessibilityAbilityInfo>(initParams);
abilityInfo->SetCapabilityValues(CAPABILITY_ZOOM);
sptr<AccessibleAbilityConnection> AAConnection =
new AccessibleAbilityConnection(accountData->GetAccountId(), 0, *abilityInfo, accountData);
sptr<AccessibleAbilityClientStub> aastub = new MockAccessibleAbilityClientStubImpl();
const AppExecFwk::ElementName elementName("aaa", "bbb", "ccc");
AAConnection->OnAbilityConnectDoneSync(elementName, aastub);
EXPECT_EQ(1, (int)accountData->GetConnectedA11yAbilities().size());
accountData->UpdateAccountCapabilities();
EXPECT_EQ(0, accountData->GetInputFilterFlag());
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_GetInputFilterFlag_003 end";
}
* @tc.number: AccessibilityAccountData_Unittest_SetScreenReaderState_001
* @tc.name: SetScreenReaderState
* @tc.desc: Check SetScreenReaderState.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_SetScreenReaderState001, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_SetScreenReaderState001 start";
const int32_t accountId = 1;
const std::string abilityName = "test";
const std::string state = "0";
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
accountData->SetScreenReaderState(abilityName, state);
EXPECT_EQ(0, accountData->GetScreenReaderState());
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_SetScreenReaderState001 end";
}
* @tc.number: AccessibilityAccountData_Unittest_GetScreenReaderState_001
* @tc.name: GetScreenReaderState
* @tc.desc: Check GetScreenReaderState.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_GetScreenReaderState_001, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_GetScreenReaderState_001 start";
const int32_t accountId = 1;
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
accountData->Init();
accountData->GetScreenReaderState();
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_GetScreenReaderState_001 end";
}
* @tc.number: AccessibilityAccountData_Unittest_GetAbilityAutoStartState_001
* @tc.name: GetAbilityAutoStartState
* @tc.desc: Check GetAbilityAutoStartState.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_GetAbilityAutoStartState_001, TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_GetAbilityAutoStartState_001 start";
const int32_t accountId = 1;
const std::string abilityName = "com.ohos.screenreader/AccessibilityExtAbility";
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
accountData->Init();
accountData->SetAbilityAutoStartState(abilityName, false);
EXPECT_EQ(accountData->GetAbilityAutoStartState(abilityName), false);
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_GetAbilityAutoStartState_001 end";
}
* @tc.number: AccessibilityAccountData_Unittest_AddAbility001
* @tc.name: AddAbility
* @tc.desc: Check the AddAbility.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_AddAbility001,
TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_AddAbility001 start";
const int32_t accountId = 1;
const std::string bundleName = "test";
sptr<AccessibilityAccountData> accountData = new AccessibilityAccountData(accountId);
accountData->AddAbility(bundleName);
EXPECT_EQ(0, static_cast<int>(accountData->GetInstalledAbilities().size()));
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_AddAbility001 end";
}
* @tc.number: AccessibilityAccountData_Unittest_GetAbilityAutoStartStateKey001
* @tc.name: GetAbilityAutoStartStateKey
* @tc.desc: Check the GetAbilityAutoStartStateKey.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_GetAbilityAutoStartStateKey001,
TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_GetAbilityAutoStartStateKey001 start";
const int32_t accountId = 1;
const std::string bundleName = "test";
const std::string abilityName = "HIGH_CONTRAST_TEXT";
EXPECT_TRUE(!Utils::GetAbilityAutoStartStateKey(bundleName, abilityName, accountId).empty());
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_GetAbilityAutoStartStateKey001 end";
}
* @tc.number: AccessibilityAccountData_Unittest_StringToVector001
* @tc.name: StringToVector
* @tc.desc: Check the StringToVector.
*/
HWTEST_F(AccessibilityAccountDataTest, AccessibilityAccountData_Unittest_StringToVector001,
TestSize.Level1)
{
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_StringToVector001 start";
const std::string abilityName = "HIGH_CONTRAST_TEXT,INVERT_COLOR,SCREEN_MAGNIFICATION";
std::vector<std::string> enabledAccessibilityServices = {};
Utils::StringToVector(abilityName, enabledAccessibilityServices);
EXPECT_TRUE(!enabledAccessibilityServices.empty());
GTEST_LOG_(INFO) << "AccessibilityAccountData_Unittest_StringToVector001 end";
}
}
}