• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2024 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 
18 #define private public
19 #include "ability_record.h"
20 #include "app_utils.h"
21 #undef private
22 #include "hilog_tag_wrapper.h"
23 #include "multi_instance_utils.h"
24 #include "parameters.h"
25 
26 using namespace testing;
27 using namespace testing::ext;
28 
29 namespace OHOS {
30 namespace AAFwk {
31 class MultiInstanceUtilsTest : public testing::Test {
32 public:
33     static void SetUpTestCase();
34     static void TearDownTestCase();
35     void SetUp() override;
36     void TearDown() override;
37 };
38 
SetUpTestCase(void)39 void MultiInstanceUtilsTest::SetUpTestCase(void) {}
TearDownTestCase(void)40 void MultiInstanceUtilsTest::TearDownTestCase(void) {}
SetUp()41 void MultiInstanceUtilsTest::SetUp() {}
TearDown()42 void MultiInstanceUtilsTest::TearDown() {}
43 
44 /**
45  * @tc.name: MultiInstanceUtils_GetInstanceKey_0100
46  * @tc.desc: GetInstanceKey
47  * @tc.type: FUNC
48  * @tc.require: NA
49  */
50 HWTEST_F(MultiInstanceUtilsTest, MultiInstanceUtils_GetInstanceKey_0100, TestSize.Level1)
51 {
52     TAG_LOGI(AAFwkTag::TEST, "MultiInstanceUtils_GetInstanceKey_0100 start");
53     Want want;
54     want.SetParam(Want::APP_INSTANCE_KEY, std::string("app_instance_0"));
55     auto key = MultiInstanceUtils::GetInstanceKey(want);
56     EXPECT_EQ(key, "app_instance_0");
57 
58     TAG_LOGI(AAFwkTag::TEST, "MultiInstanceUtils_GetInstanceKey_0100 end");
59 }
60 
61 /**
62  * @tc.name: MultiInstanceUtils_GetValidExtensionInstanceKey_0100
63  * @tc.desc: GetValidExtensionInstanceKey
64  * @tc.type: FUNC
65  * @tc.require: NA
66  */
67 HWTEST_F(MultiInstanceUtilsTest, MultiInstanceUtils_GetValidExtensionInstanceKey_0100, TestSize.Level1)
68 {
69     TAG_LOGI(AAFwkTag::TEST, "MultiInstanceUtils_GetValidExtensionInstanceKey_0100 start");
70     AbilityRequest abilityRequest;
71     auto key = MultiInstanceUtils::GetValidExtensionInstanceKey(abilityRequest);
72     EXPECT_EQ(key, "app_instance_0");
73 
74     TAG_LOGI(AAFwkTag::TEST, "MultiInstanceUtils_GetValidExtensionInstanceKey_0100 end");
75 }
76 
77 /**
78  * @tc.name: MultiInstanceUtils_GetValidExtensionInstanceKey_0200
79  * @tc.desc: GetValidExtensionInstanceKey
80  * @tc.type: FUNC
81  * @tc.require: NA
82  */
83 HWTEST_F(MultiInstanceUtilsTest, MultiInstanceUtils_GetValidExtensionInstanceKey_0200, TestSize.Level1)
84 {
85     TAG_LOGI(AAFwkTag::TEST, "MultiInstanceUtils_GetValidExtensionInstanceKey_0100 start");
86     AbilityRequest abilityRequest;
87     abilityRequest.abilityInfo.extensionAbilityType = AppExecFwk::ExtensionAbilityType::WORK_SCHEDULER;
88     abilityRequest.want.SetParam(Want::APP_INSTANCE_KEY, std::string("app_instance_1"));
89     auto key = MultiInstanceUtils::GetValidExtensionInstanceKey(abilityRequest);
90     EXPECT_EQ(key, "app_instance_1");
91 
92     TAG_LOGI(AAFwkTag::TEST, "MultiInstanceUtils_GetValidExtensionInstanceKey_0200 end");
93 }
94 
95 /**
96  * @tc.name: MultiInstanceUtils_GetSelfCallerInstanceKey_0100
97  * @tc.desc: GetSelfCallerInstanceKey
98  * @tc.type: FUNC
99  * @tc.require: NA
100  */
101 HWTEST_F(MultiInstanceUtilsTest, MultiInstanceUtils_GetSelfCallerInstanceKey_0100, TestSize.Level1)
102 {
103     TAG_LOGI(AAFwkTag::TEST, "MultiInstanceUtils_GetSelfCallerInstanceKey_0100 start");
104     AbilityRequest abilityRequest;
105     auto key = MultiInstanceUtils::GetSelfCallerInstanceKey(abilityRequest);
106     EXPECT_EQ(key, "");
107 
108     TAG_LOGI(AAFwkTag::TEST, "MultiInstanceUtils_GetSelfCallerInstanceKey_0100 end");
109 }
110 
111 /**
112  * @tc.name: MultiInstanceUtils_IsDefaultInstanceKey_0100
113  * @tc.desc: IsDefaultInstanceKey
114  * @tc.type: FUNC
115  * @tc.require: NA
116  */
117 HWTEST_F(MultiInstanceUtilsTest, MultiInstanceUtils_IsDefaultInstanceKey_0100, TestSize.Level1)
118 {
119     TAG_LOGI(AAFwkTag::TEST, "MultiInstanceUtils_IsDefaultInstanceKey_0100 start");
120     auto ret = MultiInstanceUtils::IsDefaultInstanceKey("app_instance_0");
121     EXPECT_EQ(ret, true);
122 
123     TAG_LOGI(AAFwkTag::TEST, "MultiInstanceUtils_IsDefaultInstanceKey_0100 end");
124 }
125 
126 /**
127  * @tc.name: MultiInstanceUtils_IsMultiInstanceApp_0100
128  * @tc.desc: IsMultiInstanceApp
129  * @tc.type: FUNC
130  * @tc.require: NA
131  */
132 HWTEST_F(MultiInstanceUtilsTest, MultiInstanceUtils_IsMultiInstanceApp_0100, TestSize.Level1)
133 {
134     TAG_LOGI(AAFwkTag::TEST, "MultiInstanceUtils_IsMultiInstanceApp_0100 start");
135     AbilityRequest abilityRequest;
136     auto ret = MultiInstanceUtils::IsMultiInstanceApp(abilityRequest.appInfo);
137     EXPECT_EQ(ret, false);
138 
139     TAG_LOGI(AAFwkTag::TEST, "MultiInstanceUtils_IsMultiInstanceApp_0100 end");
140 }
141 
142 /**
143  * @tc.name: MultiInstanceUtils_IsSupportedExtensionType_0100
144  * @tc.desc: IsSupportedExtensionType
145  * @tc.type: FUNC
146  * @tc.require: NA
147  */
148 HWTEST_F(MultiInstanceUtilsTest, MultiInstanceUtils_IsSupportedExtensionType_0100, TestSize.Level1)
149 {
150     TAG_LOGI(AAFwkTag::TEST, "MultiInstanceUtils_IsSupportedExtensionType_0100 start");
151     AbilityRequest abilityRequest;
152     auto ret = MultiInstanceUtils::IsSupportedExtensionType(AppExecFwk::ExtensionAbilityType::WORK_SCHEDULER);
153     EXPECT_EQ(ret, true);
154     ret = MultiInstanceUtils::IsSupportedExtensionType(AppExecFwk::ExtensionAbilityType::BACKUP);
155     EXPECT_EQ(ret, true);
156     ret = MultiInstanceUtils::IsSupportedExtensionType(AppExecFwk::ExtensionAbilityType::SHARE);
157     EXPECT_EQ(ret, true);
158     ret = MultiInstanceUtils::IsSupportedExtensionType(AppExecFwk::ExtensionAbilityType::WINDOW);
159     EXPECT_EQ(ret, false);
160 
161     TAG_LOGI(AAFwkTag::TEST, "MultiInstanceUtils_IsSupportedExtensionType_0100 end");
162 }
163 
164 /**
165  * @tc.name: MultiInstanceUtils_IsInstanceKeyExist_0100
166  * @tc.desc: IsInstanceKeyExist
167  * @tc.type: FUNC
168  * @tc.require: NA
169  */
170 HWTEST_F(MultiInstanceUtilsTest, MultiInstanceUtils_IsInstanceKeyExist_0100, TestSize.Level1)
171 {
172     TAG_LOGI(AAFwkTag::TEST, "MultiInstanceUtils_IsInstanceKeyExist_0100 start");
173     auto ret = MultiInstanceUtils::IsInstanceKeyExist("", "");
174     EXPECT_EQ(ret, false);
175 
176     TAG_LOGI(AAFwkTag::TEST, "MultiInstanceUtils_IsInstanceKeyExist_0100 end");
177 }
178 }  // namespace AAFwk
179 }  // namespace OHOS
180