• 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 "oobe_mgr_test.h"
17 
18 #include "errors.h"
19 #include "oobe_datashare_utils.h"
20 #include "ioobe_task.h"
21 #include "oobe_manager.h"
22 #include <thread>
23 
24 using namespace std;
25 using namespace testing::ext;
26 
27 namespace OHOS {
28 namespace ResourceSchedule {
29 namespace {
30 const std::string KEYWORD = "basic_statement_agreed";
31 } // namespace
32 
33 class OOBETaskImpl : public IOOBETask {
34 public:
OOBETaskImpl()35     OOBETaskImpl() {}
ExcutingTask()36     void ExcutingTask() override {}
37 };
38 
SetUpTestCase()39 void OOBEMgrTest::SetUpTestCase() {}
40 
TearDownTestCase()41 void OOBEMgrTest::TearDownTestCase() {}
42 
SetUp()43 void OOBEMgrTest::SetUp() {}
44 
TearDown()45 void OOBEMgrTest::TearDown() {}
46 
47 /**
48  * @tc.name: oobe manager TestOOBEManager_001
49  * @tc.desc: test the interface RegisterObserver of OOBEManager
50  * @tc.type: FUNC
51  * @tc.require: issueI97493
52  * @tc.author:zhumingjie
53  */
54 HWTEST_F(OOBEMgrTest, TestOOBEManager_001, Function | MediumTest | Level0)
55 {
56     OOBEManager& oobeMgr = OOBEManager::GetInstance();
__anon1ad02dd50202() 57     OOBEManager::ResDataAbilityObserver::UpdateFunc updateFunc = [&]() {};
58     int32_t ret = oobeMgr.RegisterObserver(KEYWORD, updateFunc);
59     EXPECT_EQ(ret, ERR_OK);
60 
61     int32_t ret1 = oobeMgr.UnregisterObserver();
62     EXPECT_EQ(ret1, ERR_OK);
63 }
64 
65 /**
66  * @tc.name: oobe manager TestOOBEManager_002
67  * @tc.desc: test the interface RegisterObserver of OOBEManager
68  * @tc.type: FUNC
69  * @tc.require: issueI97493
70  * @tc.author:zhumingjie
71  */
72 HWTEST_F(OOBEMgrTest, TestOOBEManager_002, Function | MediumTest | Level0)
73 {
74     OOBEManager& oobeMgr = OOBEManager::GetInstance();
__anon1ad02dd50302() 75     OOBEManager::ResDataAbilityObserver::UpdateFunc updateFunc = [&]() {};
76     oobeMgr.observer_ = new OOBEManager::ResDataAbilityObserver();
77     int32_t ret = oobeMgr.RegisterObserver(KEYWORD, updateFunc);
78     EXPECT_EQ(ret, ERR_OK);
79 
80     int32_t ret1 = oobeMgr.UnregisterObserver();
81     EXPECT_EQ(ret1, ERR_OK);
82 }
83 
84 /**
85  * @tc.name: oobe manager TestOOBEManager_003
86  * @tc.desc: test the interface OnChange and SetUpdateFunc of ResDataShareAbilityObserver
87  * @tc.type: FUNC
88  * @tc.require: issueI97493
89  * @tc.author:zhumingjie
90  */
91 HWTEST_F(OOBEMgrTest, TestOOBEManager_003, Function | MediumTest | Level0)
92 {
93     sptr<OOBEManager::ResDataAbilityObserver> oobeObserver = new OOBEManager::ResDataAbilityObserver();
94     oobeObserver->OnChange();
95     SUCCEED();
96 
__anon1ad02dd50402() 97     OOBEManager::ResDataAbilityObserver::UpdateFunc updateFunc = [&]() {};
98     oobeObserver->SetUpdateFunc(updateFunc);
99     EXPECT_NE(oobeObserver->update_, nullptr);
100 
101     oobeObserver->update_();
102     SUCCEED();
103 }
104 
105 /**
106  * @tc.name: oobe manager TestOOBEManager_004
107  * @tc.desc: test the interface Initialize of OOBEManager
108  * @tc.type: FUNC
109  * @tc.require: issueI97493
110  * @tc.author:zhumingjie
111  */
112 HWTEST_F(OOBEMgrTest, TestOOBEManager_004, Function | MediumTest | Level0)
113 {
114     OOBEManager& oobeMgr = OOBEManager::GetInstance();
115     oobeMgr.Initialize();
116     SUCCEED();
117 }
118 
119 /**
120  * @tc.name: oobe manager TestOOBEManager_005
121  * @tc.desc: test the interface SubmitTask of OOBEManager
122  * @tc.type: FUNC
123  * @tc.require: issueI97493
124  * @tc.author:zhumingjie
125  */
126 HWTEST_F(OOBEMgrTest, TestOOBEManager_005, Function | MediumTest | Level0)
127 {
128     std::shared_ptr<IOOBETask> oobeTask = std::make_shared<OOBETaskImpl>();
129     OOBEManager& oobeMgr = OOBEManager::GetInstance();
130     oobeMgr.g_oobeValue = true;
131     oobeMgr.oobeTasks_.clear();
132     bool flag = oobeMgr.SubmitTask(oobeTask);
133     EXPECT_EQ(flag, true);
134 
135     oobeMgr.g_oobeValue = false;
136     bool flag1 = oobeMgr.SubmitTask(oobeTask);
137     EXPECT_EQ(oobeMgr.oobeTasks_.size(), 1);
138 
139     bool flag2 = oobeMgr.SubmitTask(nullptr);
140     EXPECT_EQ(flag2, false);
141 }
142 
143 /**
144  * @tc.name: oobe manager TestOOBEManager_006
145  * @tc.desc: test the interface SubmitTask of OOBEManager
146  * @tc.type: FUNC
147  * @tc.require: issueI97493
148  * @tc.author:zhumingjie
149  */
150 HWTEST_F(OOBEMgrTest, TestOOBEManager_006, Function | MediumTest | Level0)
151 {
152     OOBEManager& oobeMgr = OOBEManager::GetInstance();
153     oobeMgr.StartListen();
154     SUCCEED();
155 }
156 
157 /**
158  * @tc.name: oobe manager TestOOBEManager_007
159  * @tc.desc: test the interface SubmitTask of OOBEManager
160  * @tc.type: FUNC
161  * @tc.require: issueI97493
162  * @tc.author:zhumingjie
163  */
164 HWTEST_F(OOBEMgrTest, TestOOBEManager_007, Function | MediumTest | Level0)
165 {
166     OOBEManager& oobeMgr = OOBEManager::GetInstance();
167     bool flag = oobeMgr.GetOOBValue();
168     SUCCEED();
169 }
170 
171 /**
172  * @tc.name: oobe manager TestOOBEManager_008
173  * @tc.desc: test the callBack of OOBEManager
174  * @tc.type: FUNC
175  * @tc.require: issueIA5MRN
176  * @tc.author:fengyang
177  */
178 HWTEST_F(OOBEMgrTest, TestOOBEManager_008, Function | MediumTest | Level0)
179 {
180     OOBEManager& oobeMgr = OOBEManager::GetInstance();
__anon1ad02dd50502() 181     oobeMgr.dataShareFunctions_.emplace_back([]() {
182         SUCCEED();
183     });
184     oobeMgr.OnReceiveDataShareReadyCallBack();
185     int64_t sleepTime = 4;
186     std::this_thread::sleep_for(std::chrono::seconds(sleepTime));
187     EXPECT_EQ(0, oobeMgr.dataShareFunctions_.size());
188 }
189 #undef private
190 #undef protected
191 } // namespace ResourceSchedule
192 } // namespace OHOS
193