1 /*
2 * Copyright (c) 2021 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 <gtest/gtest.h>
17 #include "ability_info.h"
18 #include "want.h"
19 #include "application_info.h"
20 #include "ability_record.h"
21 #include "dlp_state_item.h"
22
23 using namespace testing::ext;
24 namespace OHOS {
25 namespace AAFwk {
26
27 class DlpStateItemTest : public testing::Test {
28 public:
29 static void SetUpTestCase();
30 static void TearDownTestCase();
31 void SetUp();
32 void TearDown();
33 };
34
SetUpTestCase()35 void DlpStateItemTest::SetUpTestCase()
36 {}
37
TearDownTestCase()38 void DlpStateItemTest::TearDownTestCase()
39 {}
40
SetUp()41 void DlpStateItemTest::SetUp()
42 {}
43
TearDown()44 void DlpStateItemTest::TearDown()
45 {}
46
47 /*
48 * Feature: DLP State Item
49 * Function: AddDlpConnectionState AddDlpConnectionState
50 * SubFunction: HandleDlpConnectionState
51 * FunctionPoints:DLP State Item HandleDlpConnectionState
52 * EnvConditions: NA
53 * CaseDescription: Verify andleDlpConnectionState
54 */
55 HWTEST_F(DlpStateItemTest, dlp_state_item_test_handle_001, TestSize.Level1)
56 {
57 auto item = std::make_shared<DlpStateItem>(1, 2);
58 AppExecFwk::AbilityInfo abilityInfo;
59 abilityInfo.launchMode = AppExecFwk::LaunchMode::STANDARD;
60 Want want;
61 AppExecFwk::ApplicationInfo applicationInfo;
62 std::shared_ptr<AbilityRecord> abilityRecord = std::make_shared<AbilityRecord>(want, abilityInfo, applicationInfo);
63 abilityRecord->Init();
64 int32_t dlpIndex = 1001;
65 abilityRecord->SetAppIndex(dlpIndex);
66 AbilityRuntime::DlpStateData data;
67 EXPECT_FALSE(item->RemoveDlpConnectionState(abilityRecord, data));
68 EXPECT_TRUE(item->AddDlpConnectionState(abilityRecord, data));
69 EXPECT_FALSE(item->AddDlpConnectionState(abilityRecord, data));
70 EXPECT_TRUE(item->RemoveDlpConnectionState(abilityRecord, data));
71 EXPECT_FALSE(item->RemoveDlpConnectionState(abilityRecord, data));
72 }
73
74 /*
75 * Feature: DLP State Item
76 * Function: GetOpenedAbilitySize
77 * SubFunction: NA
78 * FunctionPoints:DLP State Item GetOpenedAbilitySize
79 * EnvConditions: NA
80 * CaseDescription: Verify GetOpenedAbilitySize
81 */
82 HWTEST_F(DlpStateItemTest, dlp_state_item_test_get_size_002, TestSize.Level1)
83 {
84 auto item = std::make_shared<DlpStateItem>(1, 2);
85 AppExecFwk::AbilityInfo abilityInfo;
86 abilityInfo.launchMode = AppExecFwk::LaunchMode::STANDARD;
87 Want want;
88 AppExecFwk::ApplicationInfo applicationInfo;
89 std::shared_ptr<AbilityRecord> abilityRecord = std::make_shared<AbilityRecord>(want, abilityInfo, applicationInfo);
90 abilityRecord->Init();
91 AbilityRuntime::DlpStateData data;
92 abilityRecord->SetAppIndex(0);
93 EXPECT_FALSE(item->AddDlpConnectionState(abilityRecord, data));
94 int32_t dlpIndex = 1001;
95 abilityRecord->SetAppIndex(dlpIndex);
96 EXPECT_TRUE(item->AddDlpConnectionState(abilityRecord, data));
97 auto item2 = std::make_shared<DlpStateItem>(0, 0);
98 EXPECT_FALSE(item2->AddDlpConnectionState(abilityRecord, data));
99 }
100
101 /*
102 * Feature: DLP State Item
103 * Function: GetDlpUid
104 * SubFunction: H
105 * FunctionPoints:DLP State ItemGetDlpUid
106 * EnvConditions: NA
107 * CaseDescription: Verify GetDlpUid
108 */
109 HWTEST_F(DlpStateItemTest, dlp_state_item_test_get_uid_001, TestSize.Level1)
110 {
111 auto item = std::make_shared<DlpStateItem>(10, 2);
112 EXPECT_EQ(10, item->GetDlpUid());
113 }
114
115 /*
116 * Feature: DLP State Item
117 * Function: GetOpenedAbilitySize
118 * SubFunction: GenerateDlpStateData
119 * FunctionPoints:DLP State Item GetOpenedAbilitySize
120 * EnvConditions: NA
121 * CaseDescription: Verify GetOpenedAbilitySize
122 */
123 HWTEST_F(DlpStateItemTest, dlp_state_item_test_get_size_001, TestSize.Level1)
124 {
125 auto item = std::make_shared<DlpStateItem>(1, 2);
126 AppExecFwk::AbilityInfo abilityInfo;
127 abilityInfo.launchMode = AppExecFwk::LaunchMode::STANDARD;
128 Want want;
129 AppExecFwk::ApplicationInfo applicationInfo;
130 std::shared_ptr<AbilityRecord> abilityRecord = std::make_shared<AbilityRecord>(want, abilityInfo, applicationInfo);
131 abilityRecord->Init();
132 int32_t dlpIndex = 1001;
133 abilityRecord->SetAppIndex(dlpIndex);
134 AbilityRuntime::DlpStateData data;
135 EXPECT_EQ(0, item->GetOpenedAbilitySize());
136 EXPECT_TRUE(item->AddDlpConnectionState(abilityRecord, data));
137 EXPECT_LT(0, item->GetOpenedAbilitySize());
138 EXPECT_TRUE(item->RemoveDlpConnectionState(abilityRecord, data));
139 EXPECT_EQ(0, item->GetOpenedAbilitySize());
140 }
141 } // namespace AppExecFwk
142 } // namespace OHOS
143