• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2022 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #include <gtest/gtest.h>
17 
18 #define private public
19 #define protected public
20 #include "extension_base.h"
21 #include "ui_extension_context.h"
22 #undef private
23 #undef protected
24 
25 #include "hilog_wrapper.h"
26 #include "want.h"
27 
28 using namespace testing::ext;
29 
30 namespace OHOS {
31 namespace AbilityRuntime {
32 class UIExtensionContextTest : public testing::Test {
33 public:
34     static void SetUpTestCase();
35     static void TearDownTestCase();
36     void SetUp() override;
37     void TearDown() override;
38 };
39 
SetUpTestCase(void)40 void UIExtensionContextTest::SetUpTestCase(void)
41 {}
42 
TearDownTestCase(void)43 void UIExtensionContextTest::TearDownTestCase(void)
44 {}
45 
SetUp()46 void UIExtensionContextTest::SetUp()
47 {}
48 
TearDown()49 void UIExtensionContextTest::TearDown()
50 {}
51 
52 /**
53  * @tc.number: StartAbility_0100
54  * @tc.name: StartAbility
55  * @tc.desc: Start a new ability.
56  */
57 HWTEST_F(UIExtensionContextTest, StartAbility_0100, TestSize.Level1)
58 {
59     HILOG_INFO("StartAbility_0100 start");
60 
61     auto context = std::make_shared<UIExtensionContext>();
62     AAFwk::Want want;
63     ElementName element("device", "ohos.samples", "form_extension_context_test");
64     want.SetElement(element);
65     EXPECT_TRUE(context->StartAbility(want) != ERR_OK);
66 
67     HILOG_INFO("StartAbility_0100 end");
68 }
69 
70 /**
71  * @tc.number: StartAbility_0200
72  * @tc.name: StartAbility
73  * @tc.desc: Start a new ability.
74  */
75 HWTEST_F(UIExtensionContextTest, StartAbility_0200, TestSize.Level1)
76 {
77     HILOG_INFO("StartAbility_0200 start");
78 
79     auto context = std::make_shared<UIExtensionContext>();
80     AAFwk::Want want;
81     AAFwk::StartOptions startOptions;
82     ElementName element("device", "ohos.samples", "form_extension_context_test");
83     want.SetElement(element);
84     EXPECT_TRUE(context->StartAbility(want, startOptions) != ERR_OK);
85 
86     HILOG_INFO("StartAbility_0200 end");
87 }
88 
89 /**
90  * @tc.number: TerminateSelf_0100
91  * @tc.name: TerminateSelf
92  * @tc.desc: Terminate a ability.
93  */
94 HWTEST_F(UIExtensionContextTest, TerminateSelf_0100, TestSize.Level1)
95 {
96     HILOG_INFO("TerminateSelf_0100 start");
97 
98     auto context = std::make_shared<UIExtensionContext>();
99     auto ret = context->TerminateSelf();
100     EXPECT_EQ(ret, ERR_INVALID_VALUE);
101 
102     HILOG_INFO("TerminateSelf_0100 end");
103 }
104 
105 /**
106  * @tc.number: ConnectAbility_0100
107  * @tc.name: ConnectAbility
108  * @tc.desc: Connect a ability.
109  */
110 HWTEST_F(UIExtensionContextTest, ConnectAbility_0100, TestSize.Level1)
111 {
112     HILOG_INFO("ConnectAbility_0100 start");
113 
114     auto context = std::make_shared<UIExtensionContext>();
115     AAFwk::Want want;
116     sptr<AbilityConnectCallback> connectCallback;
117     auto ret = context->ConnectAbility(want, connectCallback);
118     EXPECT_NE(ret, 0);
119 
120     HILOG_INFO("ConnectAbility_0100 end");
121 }
122 
123 /**
124  * @tc.number: DisconnectAbility_0100
125  * @tc.name: DisconnectAbility
126  * @tc.desc: Disconnect a ability.
127  */
128 HWTEST_F(UIExtensionContextTest, DisconnectAbility_0100, TestSize.Level1)
129 {
130     HILOG_INFO("DisconnectAbility_0100 start");
131 
132     auto context = std::make_shared<UIExtensionContext>();
133     AAFwk::Want want;
134     sptr<AbilityConnectCallback> connectCallback;
135     auto ret = context->DisconnectAbility(want, connectCallback);
136     EXPECT_NE(ret, 0);
137 
138     HILOG_INFO("DisconnectAbility_0100 end");
139 }
140 
141 /**
142  * @tc.number: StartAbilityForResult_0100
143  * @tc.name: StartAbilityForResult
144  * @tc.desc: Start a ability for result.
145  */
146 HWTEST_F(UIExtensionContextTest, StartAbilityForResult_0100, TestSize.Level1)
147 {
148     HILOG_INFO("StartAbilityForResult_0100 start");
149 
150     auto context = std::make_shared<UIExtensionContext>();
151     AAFwk::Want want;
152     AAFwk::StartOptions startOptions;
153     int32_t requestCode = 1;
154     RuntimeTask task = [](const int32_t count, const Want& want, bool isInner)
__anonc23960830102(const int32_t count, const Want& want, bool isInner) 155     { GTEST_LOG_(INFO) << "StartAbilityForResult_0100 task called"; };
156     auto ret = context->StartAbilityForResult(want, startOptions, requestCode, std::move(task));
157     EXPECT_NE(ret, ERR_OK);
158 
159     HILOG_INFO("StartAbilityForResult_0100 end");
160 }
161 
162 /**
163  * @tc.number: StartAbilityForResult_0200
164  * @tc.name: StartAbilityForResult
165  * @tc.desc: Start a ability for result.
166  */
167 HWTEST_F(UIExtensionContextTest, StartAbilityForResult_0200, TestSize.Level1)
168 {
169     HILOG_INFO("StartAbilityForResult_0200 start");
170 
171     auto context = std::make_shared<UIExtensionContext>();
172     AAFwk::Want want;
173     int32_t requestCode = 1;
174     RuntimeTask task = [](const int32_t count, const Want& want, bool isInner)
__anonc23960830202(const int32_t count, const Want& want, bool isInner) 175     { GTEST_LOG_(INFO) << "StartAbilityForResult_0200 task called"; };
176     auto ret = context->StartAbilityForResult(want, requestCode, std::move(task));
177     EXPECT_NE(ret, ERR_OK);
178 
179     HILOG_INFO("StartAbilityForResult_0200 end");
180 }
181 
182 /**
183  * @tc.number: OnAbilityResult_0100
184  * @tc.name: OnAbilityResult
185  * @tc.desc: On Ability Result.
186  */
187 HWTEST_F(UIExtensionContextTest, OnAbilityResult_0100, TestSize.Level1)
188 {
189     HILOG_INFO("OnAbilityResult_0100 start");
190 
191     auto context = std::make_shared<UIExtensionContext>();
192     int32_t code = 2;
193     int32_t resultCode = 2;
194     AAFwk::Want resultData;
195     context->OnAbilityResult(code, resultCode, resultData);
196     auto count = context->resultCallbacks_.size();
197     EXPECT_EQ(count, 0);
198 
199     HILOG_INFO("OnAbilityResult_0100 end");
200 }
201 } // namespace AbilityRuntime
202 } // namespace OHOS
203