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 #ifdef FEATURE_GNSS_SUPPORT
17 #include "gnss_ability_test.h"
18 
19 #include <cstdlib>
20 
21 #include "accesstoken_kit.h"
22 #include "cell_information.h"
23 #include "if_system_ability_manager.h"
24 #include "ipc_skeleton.h"
25 #include "iservice_registry.h"
26 #include "nativetoken_kit.h"
27 #include "system_ability_definition.h"
28 #include "token_setproc.h"
29 
30 #include "common_utils.h"
31 #include "constant_definition.h"
32 #include "gnss_event_callback.h"
33 #include "location_dumper.h"
34 
35 #include "mock_i_cellular_data_manager.h"
36 #include "permission_manager.h"
37 #include "geofence_request.h"
38 
39 #include "agnss_ni_manager.h"
40 #include "call_manager_client.h"
41 #include "string_utils.h"
42 
43 #include "gnss_interface_test.h"
44 
45 using namespace testing;
46 using namespace testing::ext;
47 
48 namespace OHOS {
49 namespace Location {
50 using HDI::Location::Agnss::V2_0::IAGnssCallback;
51 using HDI::Location::Agnss::V2_0::AGnssRefInfo;
52 using HDI::Location::Gnss::V2_0::IGnssCallback;
53 using HDI::Location::Gnss::V2_0::LocationInfo;
54 using HDI::Location::Gnss::V2_0::ConstellationCategory;
55 using HDI::Location::Agnss::V2_0::AGnssRefInfoType;
56 const uint32_t EVENT_SEND_SWITCHSTATE_TO_HIFENCE = 0x0006;
57 const int32_t LOCATION_PERM_NUM = 6;
58 const std::string ARGS_HELP = "-h";
59 const std::string MANAGER_SETTINGS = "ohos.permission.MANAGE_SETTINGS";
60 constexpr const char *UNLOAD_GNSS_TASK = "gnss_sa_unload";
61 constexpr int32_t FENCE_MAX_ID = 1000000;
62 const int32_t WAIT_EVENT_TIME = 3;
SetUp()63 void GnssAbilityTest::SetUp()
64 {
65     /*
66      * @tc.setup: Get system ability's pointer and get sa proxy object.
67      */
68     MockNativePermission();
69     ability_ = new (std::nothrow) GnssAbility();
70     EXPECT_NE(nullptr, ability_);
71     ability_->ConnectHdi();
72     callbackStub_ = new (std::nothrow) GnssStatusCallbackNapi();
73     EXPECT_NE(nullptr, callbackStub_);
74     nemaCallbackStub_ = new (std::nothrow) NmeaMessageCallbackNapi();
75     EXPECT_NE(nullptr, nemaCallbackStub_);
76     cachedLocationCallbackStub_ = new (std::nothrow) CachedLocationsCallbackNapi();
77     EXPECT_NE(nullptr, cachedLocationCallbackStub_);
78     proxy_ = new (std::nothrow) GnssAbilityProxy(ability_);
79     EXPECT_NE(nullptr, proxy_);
80     agnssCallback_ = new (std::nothrow) AGnssEventCallback();
81     EXPECT_NE(nullptr, agnssCallback_);
82 }
83 
TearDown()84 void GnssAbilityTest::TearDown()
85 {
86     /*
87      * @tc.teardown: release memory.
88      */
89     ability_->RemoveHdi();
90     proxy_ = nullptr;
91     callbackStub_ = nullptr;
92     nemaCallbackStub_ = nullptr;
93     cachedLocationCallbackStub_ = nullptr;
94     ability_->gnssHandler_->RemoveTask(UNLOAD_GNSS_TASK);
95     agnssCallback_ = nullptr;
96     ability_ = nullptr;
97 }
98 
TearDownTestCase()99 void GnssAbilityTest::TearDownTestCase()
100 {
101     sleep(WAIT_EVENT_TIME);
102 }
103 
MockNativePermission()104 void GnssAbilityTest::MockNativePermission()
105 {
106     const char *perms[] = {
107         ACCESS_LOCATION.c_str(), ACCESS_APPROXIMATELY_LOCATION.c_str(),
108         ACCESS_BACKGROUND_LOCATION.c_str(), MANAGE_SECURE_SETTINGS.c_str(),
109         MANAGER_SETTINGS.c_str(), ACCESS_CONTROL_LOCATION_SWITCH.c_str(),
110     };
111     NativeTokenInfoParams infoInstance = {
112         .dcapsNum = 0,
113         .permsNum = LOCATION_PERM_NUM,
114         .aclsNum = 0,
115         .dcaps = nullptr,
116         .perms = perms,
117         .acls = nullptr,
118         .processName = "GnssAbilityTest",
119         .aplStr = "system_basic",
120     };
121     uint64_t tokenId = GetAccessTokenId(&infoInstance);
122     SetSelfTokenID(tokenId);
123     Security::AccessToken::AccessTokenKit::ReloadNativeTokenInfo();
124 }
125 
126 /*
127  * @tc.name: SendLocationRequest001
128  * @tc.desc: Build Request, marshall and unmarshall data Then Send it
129  * @tc.type: FUNC
130  */
131 HWTEST_F(GnssAbilityTest, SendLocationRequest001, TestSize.Level1)
132 {
133     GTEST_LOG_(INFO)
134         << "GnssAbilityTest, SendLocationRequest001, TestSize.Level1";
135     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] SendLocationRequest001 begin");
136     /*
137      * @tc.steps: step1. build location request data.
138      */
139     std::unique_ptr<WorkRecord> workRecord = std::make_unique<WorkRecord>();
140     int num = 2;
141     for (int i = 0; i < num; i++) {
142         std::shared_ptr<Request> request = std::make_shared<Request>();
143         std::unique_ptr<RequestConfig> requestConfig = std::make_unique<RequestConfig>();
144         requestConfig->SetTimeInterval(i);
145         request->SetUid(i + 1);
146         request->SetPid(i + 2);
147         request->SetPackageName("nameForTest");
148         request->SetRequestConfig(*requestConfig);
149         request->SetUuid(std::to_string(CommonUtils::IntRandom(MIN_INT_RANDOM, MAX_INT_RANDOM)));
150         request->SetNlpRequestType(i + 1);
151         workRecord->Add(request);
152     }
153     /*
154      * @tc.steps: step2. send location request
155      * @tc.expected: step2. no exception happens.
156      */
157     EXPECT_EQ(ERRCODE_SUCCESS, proxy_->SendLocationRequest(*workRecord));
158     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] SendLocationRequest001 end");
159 }
160 
161 /*
162  * @tc.name: SetEnableAndDisable001
163  * @tc.desc: Test disable and enable system ability
164  * @tc.type: FUNC
165  */
166 HWTEST_F(GnssAbilityTest, SetEnableAndDisable001, TestSize.Level1)
167 {
168     GTEST_LOG_(INFO)
169         << "GnssAbilityTest, SetEnableAndDisable001, TestSize.Level1";
170     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] SetEnableAndDisable001 begin");
171 
172     /*
173      * @tc.steps: step1.remove SA
174      * @tc.expected: step1. object1 is null.
175      */
176     MessageParcel data1;
177     data1.WriteBool(false); // if the state is false
178     EXPECT_EQ(ERRCODE_SUCCESS, proxy_->SetEnable(data1.ReadBool()));
179 
180     /*
181      * @tc.steps: step2. test enable SA
182      * @tc.expected: step2. object2 is not null.
183      */
184     MessageParcel data2;
185     data2.WriteBool(true); // if the state is true
186     EXPECT_EQ(ERRCODE_SUCCESS, proxy_->SetEnable(data2.ReadBool()));
187     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] SetEnableAndDisable001 end");
188 }
189 
190 /*
191  * @tc.name: RefrashRequirements001
192  * @tc.desc: Test refrash requirements
193  * @tc.type: FUNC
194  */
195 HWTEST_F(GnssAbilityTest, RefrashRequirements001, TestSize.Level1)
196 {
197     GTEST_LOG_(INFO)
198         << "GnssAbilityTest, RefrashRequirements001, TestSize.Level1";
199     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] RefrashRequirements001 begin");
200     /*
201      * @tc.steps: step1. test refrash requirements
202      * @tc.expected: no exception happens.
203      */
204     EXPECT_EQ(ERRCODE_SUCCESS, proxy_->RefrashRequirements());
205     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] RefrashRequirements001 end");
206 }
207 
208 /*
209  * @tc.name: RegisterGnssStatusCallback001
210  * @tc.desc: Test register gnss status callback if client is null
211  * @tc.type: FUNC
212  */
213 HWTEST_F(GnssAbilityTest, RegisterGnssStatusCallback001, TestSize.Level1)
214 {
215     GTEST_LOG_(INFO)
216         << "GnssAbilityTest, RegisterGnssStatusCallback001, TestSize.Level1";
217     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] RegisterGnssStatusCallback001 begin");
218     /*
219      * @tc.steps: step1.the client is null.
220      */
221     pid_t lastCallingUid = 1;
222     sptr<IRemoteObject> client = nullptr;
223     AppIdentity identity;
224     identity.SetPid(lastCallingUid);
225     identity.SetUid(23);
226     /*
227      * @tc.steps: step2. test register gnss status callback
228      * @tc.expected: log info : "SendRegisterMsgToRemote callback is nullptr".
229      */
230     EXPECT_EQ(ERRCODE_INVALID_PARAM, proxy_->RegisterGnssStatusCallback(client, identity));
231     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] RegisterGnssStatusCallback001 end");
232 }
233 
234 /*
235  * @tc.name: RegisterAndUnregisterGnssStatusCallback001
236  * @tc.desc: Test register and unregister gnss status callback if client is not null
237  * @tc.type: FUNC
238  */
239 HWTEST_F(GnssAbilityTest, RegisterAndUnregisterGnssStatusCallback001, TestSize.Level1)
240 {
241     GTEST_LOG_(INFO)
242         << "GnssAbilityTest, RegisterAndUnregisterGnssStatusCallback001, TestSize.Level1";
243     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] RegisterAndUnregisterGnssStatusCallback001 begin");
244     /*
245      * @tc.steps: step1. give the last calling uid
246      */
247     pid_t lastCallingUid = 1;
248     AppIdentity identity;
249     identity.SetPid(lastCallingUid);
250     identity.SetUid(23);
251     /*
252      * @tc.steps: step2. test register gnss status callback
253      * @tc.expected: no exception happens.
254      */
255     EXPECT_EQ(ERRCODE_SUCCESS, proxy_->RegisterGnssStatusCallback(callbackStub_->AsObject(), identity));
256 
257     /*
258      * @tc.steps: step3. test unregister gnss status callback
259      * @tc.expected: no exception happens
260      */
261     EXPECT_EQ(ERRCODE_SUCCESS, proxy_->UnregisterGnssStatusCallback(callbackStub_->AsObject()));
262     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] RegisterAndUnregisterGnssStatusCallback001 end");
263 }
264 
265 /*
266  * @tc.name: UnregisterGnssStatusCallback001
267  * @tc.desc: Test unregister gnss status callback if client is null
268  * @tc.type: FUNC
269  */
270 HWTEST_F(GnssAbilityTest, UnregisterGnssStatusCallback001, TestSize.Level1)
271 {
272     GTEST_LOG_(INFO)
273         << "GnssAbilityTest, UnregisterGnssStatusCallback001, TestSize.Level1";
274     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] UnregisterGnssStatusCallback001 begin");
275     /*
276      * @tc.steps: step1.the client is null.
277      */
278     sptr<IRemoteObject> client = nullptr;
279 
280     /*
281      * @tc.steps: step2. test unregister gnss status callback
282      * @tc.expected: log info : "unregister an invalid gnssStatus callback".
283      */
284     EXPECT_EQ(ERRCODE_INVALID_PARAM, proxy_->UnregisterGnssStatusCallback(client));
285     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] UnregisterGnssStatusCallback001 end");
286 }
287 
288 /*
289  * @tc.name: RegisterNmeaMessageCallback001
290  * @tc.desc: Test register nmea message callback if client is null
291  * @tc.type: FUNC
292  */
293 HWTEST_F(GnssAbilityTest, RegisterNmeaMessageCallback001, TestSize.Level1)
294 {
295     GTEST_LOG_(INFO)
296         << "GnssAbilityTest, RegisterNmeaMessageCallback001, TestSize.Level1";
297     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] RegisterNmeaMessageCallback001 begin");
298     /*
299      * @tc.steps: step1.the client is null.
300      */
301     pid_t uid = 1;
302     sptr<IRemoteObject> client = nullptr;
303     AppIdentity identity;
304     identity.SetPid(uid);
305     identity.SetUid(23);
306     /*
307      * @tc.steps: step2. test register nmea message callback
308      * @tc.expected: log info : "register an invalid nmea callback".
309      */
310     EXPECT_EQ(ERRCODE_INVALID_PARAM, proxy_->RegisterNmeaMessageCallback(client, identity));
311     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] RegisterNmeaMessageCallback001 end");
312 }
313 
314 /*
315  * @tc.name: RegisterAndUnregisterNmeaMessageCallback001
316  * @tc.desc: Test register nmea message callback if client is not null
317  * @tc.type: FUNC
318  */
319 HWTEST_F(GnssAbilityTest, RegisterAndUnregisterNmeaMessageCallback001, TestSize.Level1)
320 {
321     GTEST_LOG_(INFO)
322         << "GnssAbilityTest, RegisterAndUnregisterNmeaMessageCallback001, TestSize.Level1";
323     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] RegisterAndUnregisterNmeaMessageCallback001 begin");
324     /*
325      * @tc.steps: step1.the client is not null.
326      */
327     pid_t uid = 1;
328     AppIdentity identity;
329     identity.SetPid(uid);
330     identity.SetUid(23);
331     /*
332      * @tc.steps: step2. test register nmea message callback
333      * @tc.expected: no exception happens
334      */
335     EXPECT_EQ(ERRCODE_SUCCESS, proxy_->RegisterNmeaMessageCallback(nemaCallbackStub_->AsObject(), identity));
336 
337     /*
338      * @tc.steps: step3. test unregister nmea message callback
339      * @tc.expected: no exception happens.
340      */
341     EXPECT_EQ(ERRCODE_SUCCESS, proxy_->UnregisterNmeaMessageCallback(nemaCallbackStub_->AsObject()));
342     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] RegisterAndUnregisterNmeaMessageCallback001 end");
343 }
344 
345 /*
346  * @tc.name: UnregisterNmeaMessageCallback001
347  * @tc.desc: Test unregister nmea message callback if client is null
348  * @tc.type: FUNC
349  */
350 HWTEST_F(GnssAbilityTest, UnregisterNmeaMessageCallback001, TestSize.Level1)
351 {
352     GTEST_LOG_(INFO)
353         << "GnssAbilityTest, UnregisterNmeaMessageCallback001, TestSize.Level1";
354     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] UnregisterNmeaMessageCallback001 begin");
355     /*
356      * @tc.steps: step1.the client is null.
357      */
358     sptr<IRemoteObject> client = nullptr;
359 
360     /*
361      * @tc.steps: step2. test unregister nmea message callback
362      * @tc.expected: log info : "unregister an invalid nmea callback".
363      */
364     EXPECT_EQ(ERRCODE_INVALID_PARAM, proxy_->UnregisterNmeaMessageCallback(client));
365     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] UnregisterNmeaMessageCallback001 end");
366 }
367 
368 /*
369  * @tc.name: RegisterCachedCallback001
370  * @tc.desc: Test register cache call back
371  * @tc.type: FUNC
372  */
373 HWTEST_F(GnssAbilityTest, RegisterCachedCallback001, TestSize.Level1)
374 {
375     GTEST_LOG_(INFO)
376         << "GnssAbilityTest, RegisterCachedCallback001, TestSize.Level1";
377     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] RegisterCachedCallback001 begin");
378     /*
379      * @tc.steps: step1.prepare request config and the call back is null.
380      */
381     std::unique_ptr<CachedGnssLocationsRequest> requestConfig = std::make_unique<CachedGnssLocationsRequest>();
382     requestConfig->reportingPeriodSec = 100;
383     requestConfig->wakeUpCacheQueueFull = true;
384 
385     sptr<IRemoteObject> callback = nullptr;
386 
387     /*
388      * @tc.steps: step2. test register cached call back if call back is null.
389      * @tc.expected: log info : "register an invalid cached location callback"
390      */
391     EXPECT_EQ(ERRCODE_INVALID_PARAM, proxy_->RegisterCachedCallback(requestConfig, callback));
392     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] RegisterCachedCallback001 end");
393 }
394 
395 /*
396  * @tc.name: RegisterCachedCallback002
397  * @tc.desc: Test register cache call back and the queue is not full.
398  * @tc.type: FUNC
399  */
400 HWTEST_F(GnssAbilityTest, RegisterCachedCallback003, TestSize.Level1)
401 {
402     GTEST_LOG_(INFO)
403         << "GnssAbilityTest, RegisterCachedCallback003, TestSize.Level1";
404     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] RegisterCachedCallback003 begin");
405     /*
406      * @tc.steps: step1.prepare request config and the call back is not null.
407      */
408     std::unique_ptr<CachedGnssLocationsRequest> requestConfig = std::make_unique<CachedGnssLocationsRequest>();
409     requestConfig->reportingPeriodSec = 100;
410     requestConfig->wakeUpCacheQueueFull = false;
411 
412     /*
413      * @tc.steps: step2. test register cached call back if call back is not null.
414      * @tc.expected: no exception happens
415      */
416     EXPECT_EQ(ERRCODE_NOT_SUPPORTED,
417         proxy_->RegisterCachedCallback(requestConfig, cachedLocationCallbackStub_->AsObject()));
418     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] RegisterCachedCallback003 end");
419 }
420 
421 /*
422  * @tc.name: RegisterAndUnregisterCachedCallback001
423  * @tc.desc: Test register and unregister cache call back and the queue is full.
424  * @tc.type: FUNC
425  */
426 HWTEST_F(GnssAbilityTest, RegisterAndUnregisterCachedCallback002, TestSize.Level1)
427 {
428     GTEST_LOG_(INFO)
429         << "GnssAbilityTest, RegisterAndUnregisterCachedCallback002, TestSize.Level1";
430     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] RegisterAndUnregisterCachedCallback002 begin");
431     /*
432      * @tc.steps: step1.prepare request config and the call back is not null.
433      */
434     std::unique_ptr<CachedGnssLocationsRequest> requestConfig = std::make_unique<CachedGnssLocationsRequest>();
435     requestConfig->reportingPeriodSec = 100;
436     requestConfig->wakeUpCacheQueueFull = true;
437 
438     /*
439      * @tc.steps: step2. test register cached call back if call back is not null.
440      * @tc.expected: no exception happens
441      */
442     EXPECT_EQ(ERRCODE_NOT_SUPPORTED,
443         proxy_->RegisterCachedCallback(requestConfig, cachedLocationCallbackStub_->AsObject()));
444 
445     /*
446      * @tc.steps: step3. test unregister cached call back if call back is not null.
447      * @tc.expected: no exception happens.
448      */
449     EXPECT_EQ(ERRCODE_NOT_SUPPORTED, proxy_->UnregisterCachedCallback(cachedLocationCallbackStub_->AsObject()));
450     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] RegisterAndUnregisterCachedCallback002 end");
451 }
452 
453 /*
454  * @tc.name: UnregisterCachedCallback001
455  * @tc.desc: Test unregister cache call back and call back is null
456  * @tc.type: FUNC
457  */
458 HWTEST_F(GnssAbilityTest, UnregisterCachedCallback001, TestSize.Level1)
459 {
460     GTEST_LOG_(INFO)
461         << "GnssAbilityTest, UnregisterCachedCallback001, TestSize.Level1";
462     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] UnregisterCachedCallback001 begin");
463     /*
464      * @tc.steps: step1. the call back is null.
465      */
466     sptr<IRemoteObject> callback = nullptr;
467 
468     /*
469      * @tc.steps: step2. test unregister cached call back if call back is null.
470      * @tc.expected: log info : "register an invalid cached location callback"
471      */
472     EXPECT_EQ(ERRCODE_INVALID_PARAM, proxy_->UnregisterCachedCallback(callback));
473     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] UnregisterCachedCallback001 end");
474 }
475 
476 /*
477  * @tc.name: GetCachedGnssLocationsSize001
478  * @tc.desc: Test get cached gnss locations size
479  * @tc.type: FUNC
480  */
481 HWTEST_F(GnssAbilityTest, GetCachedGnssLocationsSize001, TestSize.Level1)
482 {
483     GTEST_LOG_(INFO)
484         << "GnssAbilityTest, GetCachedGnssLocationsSize001, TestSize.Level1";
485     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GetCachedGnssLocationsSize001 begin");
486     /*
487      * @tc.steps: step1. test get cached gnss locations size.
488      * @tc.expected: size equals -1.
489      */
490     int size = -1;
491     EXPECT_EQ(ERRCODE_NOT_SUPPORTED, proxy_->GetCachedGnssLocationsSize(size));
492     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GetCachedGnssLocationsSize001 end");
493 }
494 
495 /*
496  * @tc.name: FlushCachedGnssLocations001
497  * @tc.desc: Test unregister country code call back
498  * @tc.type: FUNC
499  */
500 HWTEST_F(GnssAbilityTest, FlushCachedGnssLocations001, TestSize.Level1)
501 {
502     GTEST_LOG_(INFO)
503         << "GnssAbilityTest, FlushCachedGnssLocations001, TestSize.Level1";
504     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] FlushCachedGnssLocations001 begin");
505     /*
506      * @tc.steps: step1. test flush cached gnss locations.
507      * @tc.expected: reply code unsupport
508      */
509     EXPECT_EQ(ERRCODE_NOT_SUPPORTED, proxy_->FlushCachedGnssLocations());
510     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] FlushCachedGnssLocations001 end");
511 }
512 
513 /*
514  * @tc.name: SendCommand001
515  * @tc.desc: Test send
516  * @tc.type: FUNC
517  */
518 HWTEST_F(GnssAbilityTest, SendCommand001, TestSize.Level1)
519 {
520     GTEST_LOG_(INFO)
521         << "GnssAbilityTest, SendCommand001, TestSize.Level1";
522     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] SendCommand001 begin");
523     /*
524      * @tc.steps: step1. build location command
525      */
526     std::unique_ptr<LocationCommand> locationCommand = std::make_unique<LocationCommand>();
527     locationCommand->scenario = 1;
528     locationCommand->command = true;
529 
530     /*
531      * @tc.steps: step2. test send command.
532      * @tc.expected: current function is empty, nothing happens
533      */
534     ability_->SendCommand(locationCommand);
535     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] SendCommand001 end");
536 }
537 
538 HWTEST_F(GnssAbilityTest, SendCommand003, TestSize.Level1)
539 {
540     GTEST_LOG_(INFO)
541         << "GnssAbilityTest, SendCommand003, TestSize.Level1";
542     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] SendCommand003 begin");
543     std::unique_ptr<LocationCommand> locationCommand = std::make_unique<LocationCommand>();
544     locationCommand->scenario = 1;
545     locationCommand->command = true;
546     proxy_->SendCommand(locationCommand);
547     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] SendCommand003 end");
548 }
549 
550 HWTEST_F(GnssAbilityTest, AddFence003, TestSize.Level1)
551 {
552     GTEST_LOG_(INFO)
553         << "GnssAbilityTest, AddFence003, TestSize.Level1";
554     LBSLOGI(LOCATOR, "[GnssAbilityTest] AddFence003 begin");
555     std::shared_ptr<GeofenceRequest> request = std::make_shared<GeofenceRequest>();
556     proxy_->AddFence(request);
557     LBSLOGI(LOCATOR, "[GnssAbilityTest] AddFence003 end");
558 }
559 
560 HWTEST_F(GnssAbilityTest, RemoveFence003, TestSize.Level1)
561 {
562     GTEST_LOG_(INFO)
563         << "GnssAbilityTest, RemoveFence003, TestSize.Level1";
564     LBSLOGI(LOCATOR, "[GnssAbilityTest] RemoveFence003 begin");
565     std::shared_ptr<GeofenceRequest> request = std::make_shared<GeofenceRequest>();
566     proxy_->RemoveFence(request);
567     LBSLOGI(LOCATOR, "[GnssAbilityTest] RemoveFence003 end");
568 }
569 
570 HWTEST_F(GnssAbilityTest, AddGnssGeofence003, TestSize.Level1)
571 {
572     GTEST_LOG_(INFO)
573         << "GnssAbilityTest, AddGnssGeofence003, TestSize.Level1";
574     LBSLOGI(LOCATOR, "[GnssAbilityTest] AddGnssGeofence003 begin");
575     std::shared_ptr<GeofenceRequest> request = std::make_shared<GeofenceRequest>();
576     proxy_->AddGnssGeofence(request);
577     LBSLOGI(LOCATOR, "[GnssAbilityTest] AddGnssGeofence003 end");
578 }
579 
580 HWTEST_F(GnssAbilityTest, RemoveGnssGeofence003, TestSize.Level1)
581 {
582     GTEST_LOG_(INFO)
583         << "GnssAbilityTest, RemoveGnssGeofence003, TestSize.Level1";
584     LBSLOGI(LOCATOR, "[GnssAbilityTest] RemoveGnssGeofence003 begin");
585     std::shared_ptr<GeofenceRequest> request = std::make_shared<GeofenceRequest>();
586     proxy_->RemoveGnssGeofence(request);
587     LBSLOGI(LOCATOR, "[GnssAbilityTest] RemoveGnssGeofence003 end");
588 }
589 
590 HWTEST_F(GnssAbilityTest, QuerySupportCoordinateSystemType002, TestSize.Level1)
591 {
592     GTEST_LOG_(INFO)
593         << "GnssAbilityTest, QuerySupportCoordinateSystemType002, TestSize.Level1";
594     LBSLOGI(LOCATOR, "[GnssAbilityTest] QuerySupportCoordinateSystemType002 begin");
595     std::vector<CoordinateSystemType> coordinateSystemTypes;
596     proxy_->QuerySupportCoordinateSystemType(coordinateSystemTypes);
597     LBSLOGI(LOCATOR, "[GnssAbilityTest] QuerySupportCoordinateSystemType002 end");
598 }
599 
600 HWTEST_F(GnssAbilityTest, SendNetworkLocation003, TestSize.Level1)
601 {
602     GTEST_LOG_(INFO)
603         << "GnssAbilityTest, SendNetworkLocation003, TestSize.Level1";
604     LBSLOGI(LOCATOR, "[GnssAbilityTest] SendNetworkLocation003 begin");
605     std::unique_ptr<Location> location = std::make_unique<Location>();
606     proxy_->SendNetworkLocation(location);
607     LBSLOGI(LOCATOR, "[GnssAbilityTest] SendNetworkLocation003 end");
608 }
609 
610 HWTEST_F(GnssAbilityTest, GnssLocationMock001, TestSize.Level1)
611 {
612     GTEST_LOG_(INFO)
613         << "GnssAbilityTest, GnssLocationMock001, TestSize.Level1";
614     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssLocationMock001 begin");
615     int timeInterval = 0;
616     std::vector<std::shared_ptr<Location>> locations;
617     EXPECT_EQ(ERRCODE_SUCCESS, proxy_->EnableMock());
618     EXPECT_EQ(true, ability_->IsMockEnabled());
619     EXPECT_EQ(ERRCODE_SUCCESS, proxy_->SetMocked(timeInterval, locations));
620 
621     EXPECT_EQ(ERRCODE_SUCCESS, proxy_->DisableMock());
622     EXPECT_EQ(false, ability_->IsMockEnabled());
623     EXPECT_EQ(ERRCODE_NOT_SUPPORTED, proxy_->SetMocked(timeInterval, locations));
624     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssLocationMock001 begin");
625 }
626 
627 HWTEST_F(GnssAbilityTest, GnssOnStartAndOnStop001, TestSize.Level1)
628 {
629     GTEST_LOG_(INFO)
630         << "GnssAbilityTest, GnssOnStartAndOnStop001, TestSize.Level1";
631     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssOnStartAndOnStop001 begin");
632     ability_->OnStart(); // start ability
633     EXPECT_EQ(ServiceRunningState::STATE_NOT_START, ability_->QueryServiceState()); // mock will return nullptr
634 
635     ability_->OnStop(); // stop ability
636     EXPECT_EQ(ServiceRunningState::STATE_NOT_START, ability_->QueryServiceState()); // mock will return nullptr
637     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssOnStartAndOnStop001 end");
638 }
639 
640 HWTEST_F(GnssAbilityTest, GnssDump001, TestSize.Level1)
641 {
642     GTEST_LOG_(INFO)
643         << "GnssAbilityTest, GnssDump001, TestSize.Level1";
644     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssDump001 begin");
645     int32_t fd = 0;
646     std::vector<std::u16string> args;
647     std::u16string arg1 = Str8ToStr16("arg1");
648     args.emplace_back(arg1);
649     std::u16string arg2 = Str8ToStr16("arg2");
650     args.emplace_back(arg2);
651     std::u16string arg3 = Str8ToStr16("arg3");
652     args.emplace_back(arg3);
653     std::u16string arg4 = Str8ToStr16("arg4");
654     args.emplace_back(arg4);
655     EXPECT_EQ(ERR_OK, ability_->Dump(fd, args));
656 
657     std::vector<std::u16string> emptyArgs;
658     EXPECT_EQ(ERR_OK, ability_->Dump(fd, emptyArgs));
659 
660     std::vector<std::u16string> helpArgs;
661     std::u16string helpArg1 = Str8ToStr16(ARGS_HELP);
662     helpArgs.emplace_back(helpArg1);
663     EXPECT_EQ(ERR_OK, ability_->Dump(fd, helpArgs));
664     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssDump001 end");
665 }
666 
667 HWTEST_F(GnssAbilityTest, GnssSendReportMockLocationEvent001, TestSize.Level1)
668 {
669     GTEST_LOG_(INFO)
670         << "GnssAbilityTest, GnssSendReportMockLocationEvent001, TestSize.Level1";
671     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssSendReportMockLocationEvent001 begin");
672     ability_->SendReportMockLocationEvent(); // clear location mock
673 
674     int timeInterval = 0;
675     std::vector<std::shared_ptr<Location>> locations;
676     Parcel parcel;
677     parcel.WriteDouble(10.6); // latitude
678     parcel.WriteDouble(10.5); // longitude
679     parcel.WriteDouble(10.4); // altitude
680     parcel.WriteDouble(1.0); // accuracy
681     parcel.WriteDouble(5.0); // speed
682     parcel.WriteDouble(10); // direction
683     parcel.WriteInt64(1611000000); // timestamp
684     parcel.WriteInt64(1611000000); // time since boot
685     parcel.WriteString16(u"additions"); // additions
686     parcel.WriteInt64(1); // additionSize
687     parcel.WriteInt32(1); // isFromMock is true
688     locations.push_back(Location::UnmarshallingShared(parcel));
689     EXPECT_EQ(ERRCODE_SUCCESS, ability_->EnableMock());
690     EXPECT_EQ(ERRCODE_SUCCESS, ability_->SetMocked(timeInterval, locations));
691     sleep(2);
692     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssSendReportMockLocationEvent001 end");
693 }
694 
695 HWTEST_F(GnssAbilityTest, GnssSendReportMockLocationEvent002, TestSize.Level1)
696 {
697     GTEST_LOG_(INFO)
698         << "GnssAbilityTest, GnssSendReportMockLocationEvent002, TestSize.Level1";
699     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssSendReportMockLocationEvent002 begin");
700     ability_->SendReportMockLocationEvent(); // clear location mock
701 
702     int timeInterval = 0;
703     std::vector<std::shared_ptr<Location>> locations;
704     Parcel parcel;
705     parcel.WriteDouble(10.6); // latitude
706     parcel.WriteDouble(10.5); // longitude
707     parcel.WriteDouble(10.4); // altitude
708     parcel.WriteDouble(1.0); // accuracy
709     parcel.WriteDouble(5.0); // speed
710     parcel.WriteDouble(10); // direction
711     parcel.WriteInt64(1611000000); // timestamp
712     parcel.WriteInt64(1611000000); // time since boot
713     parcel.WriteString16(u"additions"); // additions
714     parcel.WriteInt64(1); // additionSize
715     parcel.WriteInt32(0); // isFromMock is false
716     locations.push_back(Location::UnmarshallingShared(parcel));
717     EXPECT_EQ(ERRCODE_SUCCESS, ability_->EnableMock());
718     EXPECT_EQ(ERRCODE_SUCCESS, ability_->SetMocked(timeInterval, locations));
719     sleep(2);
720     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssSendReportMockLocationEvent002 end");
721 }
722 
723 HWTEST_F(GnssAbilityTest, GnssAbilityReportSv001, TestSize.Level1)
724 {
725     GTEST_LOG_(INFO)
726         << "GnssAbilityTest, GnssAbilityReportSv001, TestSize.Level1";
727     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssAbilityReportSv001 begin");
728     std::unique_ptr<SatelliteStatus> status = std::make_unique<SatelliteStatus>();
729     MessageParcel parcel;
730     int sateNum = 2;
731     parcel.WriteInt64(2); // satellitesNumber
732     for (int i = 0; i < sateNum; i++) {
733         parcel.WriteInt64(i); // satelliteId
734         parcel.WriteDouble(i + 1.0); // carrierToNoiseDensity
735         parcel.WriteDouble(i + 2.0); // altitude
736         parcel.WriteDouble(i + 3.0); // azimuth
737         parcel.WriteDouble(i + 4.0); // carrierFrequency
738         parcel.WriteInt64(i + 5.0); // constellation type
739     }
740     ASSERT_TRUE(status != nullptr);
741     status->ReadFromParcel(parcel);
742     ASSERT_TRUE(ability_ != nullptr);
743     ability_->ReportSv(status);
744     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssAbilityReportSv001 end");
745 }
746 
747 #ifdef HDF_DRIVERS_INTERFACE_AGNSS_ENABLE
748 HWTEST_F(GnssAbilityTest, AGnssEventCallbackRequestSetUpAgnssDataLink001, TestSize.Level1)
749 {
750     GTEST_LOG_(INFO)
751         << "GnssAbilityTest, AGnssEventCallbackRequestSetUpAgnssDataLink001, TestSize.Level1";
752     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] AGnssEventCallbackRequestSetUpAgnssDataLink001 begin");
753     AGnssDataLinkRequest request;
754     request.agnssType = HDI::Location::Agnss::V2_0::AGNSS_TYPE_SUPL;
755     request.setUpType = HDI::Location::Agnss::V2_0::ESTABLISH_DATA_CONNECTION;
756     EXPECT_EQ(ERR_OK, agnssCallback_->RequestSetUpAgnssDataLink(request));
757     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] AGnssEventCallbackRequestSetUpAgnssDataLink001 end");
758 }
759 
760 HWTEST_F(GnssAbilityTest, AGnssEventCallbackRequestSubscriberSetId001, TestSize.Level1)
761 {
762     GTEST_LOG_(INFO)
763         << "GnssAbilityTest, AGnssEventCallbackRequestSubscriberSetId001, TestSize.Level1";
764     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] AGnssEventCallbackRequestSubscriberSetId001 begin");
765     sptr<IAGnssCallback> agnssCallback = new (std::nothrow) AGnssEventCallback();
766     EXPECT_NE(nullptr, agnssCallback);
767     SubscriberSetIdType type = HDI::Location::Agnss::V2_0::AGNSS_SETID_TYPE_IMSI;
768     EXPECT_EQ(ERR_OK, agnssCallback->RequestSubscriberSetId(type));
769     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] AGnssEventCallbackRequestSubscriberSetId001 end");
770 }
771 
772 HWTEST_F(GnssAbilityTest, AGnssEventCallbackRequestAgnssRefInfo001, TestSize.Level1)
773 {
774     GTEST_LOG_(INFO)
775         << "GnssAbilityTest, AGnssEventCallbackRequestAgnssRefInfo001, TestSize.Level1";
776     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] AGnssEventCallbackRequestAgnssRefInfo001 begin");
777     sptr<IAGnssCallback> agnssCallback = new (std::nothrow) AGnssEventCallback();
778     EXPECT_CALL(MockICellularDataManager::GetInstance(), GetDefaultCellularDataSlotId).WillRepeatedly(Return(-1));
779     EXPECT_NE(nullptr, agnssCallback);
780     AGnssRefInfoType type = HDI::Location::Agnss::V2_0::ANSS_REF_INFO_TYPE_CELLID;
781     EXPECT_EQ(ERR_OK, agnssCallback->RequestAgnssRefInfo(type));
782     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] AGnssEventCallbackRequestAgnssRefInfo001 end");
783 }
784 
785 HWTEST_F(GnssAbilityTest, AGnssEventCallbackRequestAgnssRefInfo002, TestSize.Level1)
786 {
787     GTEST_LOG_(INFO)
788         << "GnssAbilityTest, AGnssEventCallbackRequestAgnssRefInfo002, TestSize.Level1";
789     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] AGnssEventCallbackRequestAgnssRefInfo002 begin");
790     AGnssRefInfo refInfo;
791     refInfo.type = HDI::Location::Agnss::V2_0::ANSS_REF_INFO_TYPE_CELLID;
792     sptr<Telephony::GsmCellInformation> gsmCellInformation = new Telephony::GsmCellInformation();
793     gsmCellInformation->Init(0, 0, 0);
794     agnssCallback_->JudgmentDataGsm(refInfo, gsmCellInformation);
795     EXPECT_EQ(HDI::Location::Agnss::V2_0::CELLID_TYPE_GSM, refInfo.cellId.type);
796     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] AGnssEventCallbackRequestAgnssRefInfo002 end");
797 }
798 
799 HWTEST_F(GnssAbilityTest, AGnssEventCallbackRequestAgnssRefInfo003, TestSize.Level1)
800 {
801     GTEST_LOG_(INFO)
802         << "GnssAbilityTest, AGnssEventCallbackRequestAgnssRefInfo003, TestSize.Level1";
803     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] AGnssEventCallbackRequestAgnssRefInfo003 begin");
804     AGnssRefInfo refInfo;
805     refInfo.type = HDI::Location::Agnss::V2_0::ANSS_REF_INFO_TYPE_CELLID;
806     sptr<Telephony::GsmCellInformation> gsmCellInformation = nullptr;
807     agnssCallback_->JudgmentDataGsm(refInfo, gsmCellInformation);
808     EXPECT_NE(HDI::Location::Agnss::V2_0::CELLID_TYPE_GSM, refInfo.cellId.type);
809     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] AGnssEventCallbackRequestAgnssRefInfo003 end");
810 }
811 
812 HWTEST_F(GnssAbilityTest, AGnssEventCallbackRequestAgnssRefInfo004, TestSize.Level1)
813 {
814     GTEST_LOG_(INFO)
815         << "GnssAbilityTest, AGnssEventCallbackRequestAgnssRefInfo004, TestSize.Level1";
816     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] AGnssEventCallbackRequestAgnssRefInfo004 begin");
817     AGnssRefInfo refInfo;
818     refInfo.type = HDI::Location::Agnss::V2_0::ANSS_REF_INFO_TYPE_CELLID;
819     sptr<Telephony::LteCellInformation> lteCellInformation = new Telephony::LteCellInformation();
820     lteCellInformation->Init(0, 0, 0);
821     agnssCallback_->JudgmentDataLte(refInfo, lteCellInformation);
822     EXPECT_EQ(HDI::Location::Agnss::V2_0::CELLID_TYPE_LTE, refInfo.cellId.type);
823     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] AGnssEventCallbackRequestAgnssRefInfo004 end");
824 }
825 
826 HWTEST_F(GnssAbilityTest, AGnssEventCallbackRequestAgnssRefInfo005, TestSize.Level1)
827 {
828     GTEST_LOG_(INFO)
829         << "GnssAbilityTest, AGnssEventCallbackRequestAgnssRefInfo005, TestSize.Level1";
830     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] AGnssEventCallbackRequestAgnssRefInfo005 begin");
831     AGnssRefInfo refInfo;
832     refInfo.type = HDI::Location::Agnss::V2_0::ANSS_REF_INFO_TYPE_CELLID;
833     sptr<Telephony::LteCellInformation> lteCellInformation = nullptr;
834     agnssCallback_->JudgmentDataLte(refInfo, lteCellInformation);
835     EXPECT_NE(HDI::Location::Agnss::V2_0::CELLID_TYPE_LTE, refInfo.cellId.type);
836     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] AGnssEventCallbackRequestAgnssRefInfo005 end");
837 }
838 
839 HWTEST_F(GnssAbilityTest, AGnssEventCallbackRequestAgnssRefInfo006, TestSize.Level1)
840 {
841     GTEST_LOG_(INFO)
842         << "GnssAbilityTest, AGnssEventCallbackRequestAgnssRefInfo006, TestSize.Level1";
843     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] AGnssEventCallbackRequestAgnssRefInfo006 begin");
844 
845     AGnssRefInfo refInfo;
846     refInfo.type = HDI::Location::Agnss::V2_0::ANSS_REF_INFO_TYPE_CELLID;
847     sptr<Telephony::WcdmaCellInformation> umtsCellInformation = new Telephony::WcdmaCellInformation();
848     umtsCellInformation->Init(0, 0, 0);
849     agnssCallback_->JudgmentDataUmts(refInfo, umtsCellInformation);
850     EXPECT_EQ(HDI::Location::Agnss::V2_0::CELLID_TYPE_UMTS, refInfo.cellId.type);
851     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] AGnssEventCallbackRequestAgnssRefInfo006 end");
852 }
853 
854 HWTEST_F(GnssAbilityTest, AGnssEventCallbackRequestAgnssRefInfo007, TestSize.Level1)
855 {
856     GTEST_LOG_(INFO)
857         << "GnssAbilityTest, AGnssEventCallbackRequestAgnssRefInfo007, TestSize.Level1";
858     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] AGnssEventCallbackRequestAgnssRefInfo007 begin");
859 
860     AGnssRefInfo refInfo;
861     refInfo.type = HDI::Location::Agnss::V2_0::ANSS_REF_INFO_TYPE_CELLID;
862     sptr<Telephony::WcdmaCellInformation> umtsCellInformation = nullptr;
863     agnssCallback_->JudgmentDataUmts(refInfo, umtsCellInformation);
864     EXPECT_NE(HDI::Location::Agnss::V2_0::CELLID_TYPE_UMTS, refInfo.cellId.type);
865     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] AGnssEventCallbackRequestAgnssRefInfo007 end");
866 }
867 
868 HWTEST_F(GnssAbilityTest, AGnssEventCallbackRequestAgnssRefInfo008, TestSize.Level1)
869 {
870     GTEST_LOG_(INFO)
871         << "GnssAbilityTest, AGnssEventCallbackRequestAgnssRefInfo008, TestSize.Level1";
872     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] AGnssEventCallbackRequestAgnssRefInfo008 begin");
873 
874     AGnssRefInfo refInfo;
875     refInfo.type = HDI::Location::Agnss::V2_0::ANSS_REF_INFO_TYPE_CELLID;
876     sptr<Telephony::NrCellInformation> nrCellInformation = new Telephony::NrCellInformation();
877     nrCellInformation->Init(0, 0, 0);
878     agnssCallback_->JudgmentDataNr(refInfo, nrCellInformation);
879     EXPECT_EQ(HDI::Location::Agnss::V2_0::CELLID_TYPE_NR, refInfo.cellId.type);
880     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] AGnssEventCallbackRequestAgnssRefInfo008 end");
881 }
882 
883 HWTEST_F(GnssAbilityTest, AGnssEventCallbackRequestAgnssRefInfo009, TestSize.Level1)
884 {
885     GTEST_LOG_(INFO)
886         << "GnssAbilityTest, AGnssEventCallbackRequestAgnssRefInfo009, TestSize.Level1";
887     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] AGnssEventCallbackRequestAgnssRefInfo009 begin");
888     AGnssRefInfo refInfo;
889     refInfo.type = HDI::Location::Agnss::V2_0::ANSS_REF_INFO_TYPE_CELLID;
890     sptr<Telephony::NrCellInformation> nrCellInformation = nullptr;
891     agnssCallback_->JudgmentDataNr(refInfo, nrCellInformation);
892     EXPECT_NE(HDI::Location::Agnss::V2_0::CELLID_TYPE_NR, refInfo.cellId.type);
893     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] AGnssEventCallbackRequestAgnssRefInfo009 end");
894 }
895 #endif
896 
897 HWTEST_F(GnssAbilityTest, GnssEventCallbackReportLocation001, TestSize.Level1)
898 {
899     GTEST_LOG_(INFO)
900         << "GnssAbilityTest, GnssEventCallbackReportLocation001, TestSize.Level1";
901     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssEventCallbackReportLocation001 begin");
902     sptr<IGnssCallback> gnssCallback = new (std::nothrow) GnssEventCallback();
903     EXPECT_NE(nullptr, gnssCallback);
904     LocationInfo locationInfo;
905     locationInfo.latitude = 1.0;
906     locationInfo.longitude = 2.0;
907     locationInfo.altitude = 1.0;
908     locationInfo.horizontalAccuracy = 1.0;
909     locationInfo.speed = 1.0;
910     locationInfo.bearing= 1.0;
911     locationInfo.timeForFix = 1000000000;
912     locationInfo.timeSinceBoot = 1000000000;
913     gnssCallback->ReportLocation(locationInfo);
914     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssEventCallbackReportLocation001 end");
915 }
916 
917 HWTEST_F(GnssAbilityTest, GnssEventCallbackReportLocation002, TestSize.Level1)
918 {
919     GTEST_LOG_(INFO)
920         << "GnssAbilityTest, GnssEventCallbackReportLocation002, TestSize.Level1";
921     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssEventCallbackReportLocation002 begin");
922     sptr<IGnssCallback> gnssCallback = new (std::nothrow) GnssEventCallback();
923     EXPECT_NE(nullptr, gnssCallback);
924     LocationInfo locationInfo;
925     locationInfo.latitude = 1.0;
926     locationInfo.longitude = 2.0;
927     locationInfo.altitude = 1.0;
928     locationInfo.horizontalAccuracy = 1.0;
929     locationInfo.speed = 1.0;
930     locationInfo.bearing= 1.0;
931     locationInfo.timeForFix = 1000000000;
932     locationInfo.timeSinceBoot = 1000000000;
933     proxy_->EnableMock();
934     auto ret = gnssCallback->ReportLocation(locationInfo);
935     EXPECT_EQ(ERR_OK, ret);
936     proxy_->DisableMock();
937     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssEventCallbackReportLocation002 end");
938 }
939 
940 HWTEST_F(GnssAbilityTest, GnssEventCallbackReportGnssWorkingStatus001, TestSize.Level1)
941 {
942     GTEST_LOG_(INFO)
943         << "GnssAbilityTest, GnssEventCallbackReportGnssWorkingStatus001, TestSize.Level1";
944     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssEventCallbackReportGnssWorkingStatus001 begin");
945     sptr<IGnssCallback> gnssCallback = new (std::nothrow) GnssEventCallback();
946     EXPECT_NE(nullptr, gnssCallback);
947     GnssWorkingStatus status = HDI::Location::Gnss::V2_0::GNSS_WORKING_STATUS_NONE;
948     gnssCallback->ReportGnssWorkingStatus(status);
949     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssEventCallbackReportGnssWorkingStatus001 end");
950 }
951 
952 HWTEST_F(GnssAbilityTest, GnssEventCallbackReportGnssWorkingStatus002, TestSize.Level1)
953 {
954     GTEST_LOG_(INFO)
955         << "GnssAbilityTest, GnssEventCallbackReportGnssWorkingStatus002, TestSize.Level1";
956     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssEventCallbackReportGnssWorkingStatus002 begin");
957     sptr<IGnssCallback> gnssCallback = new (std::nothrow) GnssEventCallback();
958     EXPECT_NE(nullptr, gnssCallback);
959     GnssWorkingStatus status = HDI::Location::Gnss::V2_0::GNSS_WORKING_STATUS_NONE;
960     auto gnssAbility = GnssAbility::GetInstance();
961     gnssAbility = nullptr;
962     gnssCallback->ReportGnssWorkingStatus(status);
963     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssEventCallbackReportGnssWorkingStatus002 end");
964 }
965 
966 HWTEST_F(GnssAbilityTest, GnssEventCallbackReportNmea001, TestSize.Level1)
967 {
968     GTEST_LOG_(INFO)
969         << "GnssAbilityTest, GnssEventCallbackReportNmea001, TestSize.Level1";
970     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssEventCallbackReportNmea001 begin");
971     sptr<IGnssCallback> gnssCallback = new (std::nothrow) GnssEventCallback();
972     EXPECT_NE(nullptr, gnssCallback);
973     gnssCallback->ReportNmea(0, "nmea", 0);
974     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssEventCallbackReportNmea001 end");
975 }
976 
977 HWTEST_F(GnssAbilityTest, GnssEventCallbackReportNmea002, TestSize.Level1)
978 {
979     GTEST_LOG_(INFO)
980         << "GnssAbilityTest, GnssEventCallbackReportNmea002, TestSize.Level1";
981     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssEventCallbackReportNmea002 begin");
982     sptr<IGnssCallback> gnssCallback = new (std::nothrow) GnssEventCallback();
983     EXPECT_NE(nullptr, gnssCallback);
984     auto gnssAbility = GnssAbility::GetInstance();
985     gnssAbility = nullptr;
986     gnssCallback->ReportNmea(0, "nmea", 0);
987     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssEventCallbackReportNmea002 end");
988 }
989 
990 HWTEST_F(GnssAbilityTest, GnssEventCallbackReportGnssCapabilities001, TestSize.Level1)
991 {
992     GTEST_LOG_(INFO)
993         << "GnssAbilityTest, GnssEventCallbackReportGnssCapabilities001, TestSize.Level1";
994     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssEventCallbackReportGnssCapabilities001 begin");
995     sptr<IGnssCallback> gnssCallback = new (std::nothrow) GnssEventCallback();
996     EXPECT_NE(nullptr, gnssCallback);
997     GnssCapabilities capabilities = HDI::Location::Gnss::V2_0::GNSS_CAP_SUPPORT_MSB;
998     EXPECT_EQ(ERR_OK, gnssCallback->ReportGnssCapabilities(capabilities));
999     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssEventCallbackReportGnssCapabilities001 end");
1000 }
1001 
1002 HWTEST_F(GnssAbilityTest, GnssEventCallbackReportGnssCapabilities002, TestSize.Level1)
1003 {
1004     GTEST_LOG_(INFO)
1005         << "GnssAbilityTest, GnssEventCallbackReportGnssCapabilities002, TestSize.Level1";
1006     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssEventCallbackReportGnssCapabilities002 begin");
1007     sptr<IGnssCallback> gnssCallback = new (std::nothrow) GnssEventCallback();
1008     EXPECT_NE(nullptr, gnssCallback);
1009     GnssCapabilities capabilities = HDI::Location::Gnss::V2_0::GNSS_CAP_SUPPORT_MSB;
1010     auto gnssAbility = GnssAbility::GetInstance();
1011     gnssAbility = nullptr;
1012     EXPECT_EQ(ERR_OK, gnssCallback->ReportGnssCapabilities(capabilities));
1013     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssEventCallbackReportGnssCapabilities002 end");
1014 }
1015 
1016 HWTEST_F(GnssAbilityTest, GnssEventCallbackReportSatelliteStatusInfo002, TestSize.Level1)
1017 {
1018     GTEST_LOG_(INFO)
1019         << "GnssAbilityTest, GnssEventCallbackReportSatelliteStatusInfo002, TestSize.Level1";
1020     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssEventCallbackReportSatelliteStatusInfo002 begin");
1021     sptr<IGnssCallback> gnssCallback = new (std::nothrow) GnssEventCallback();
1022     EXPECT_NE(nullptr, gnssCallback);
1023     SatelliteStatusInfo statusInfo;
1024     statusInfo.satellitesNumber = 0;
1025     EXPECT_EQ(ERR_OK, gnssCallback->ReportSatelliteStatusInfo(statusInfo));
1026     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssEventCallbackReportSatelliteStatusInfo002 end");
1027 }
1028 
1029 HWTEST_F(GnssAbilityTest, GnssEventCallbackReportSatelliteStatusInfo003, TestSize.Level1)
1030 {
1031     GTEST_LOG_(INFO)
1032         << "GnssAbilityTest, GnssEventCallbackReportSatelliteStatusInfo003, TestSize.Level1";
1033     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssEventCallbackReportSatelliteStatusInfo003 begin");
1034     sptr<IGnssCallback> gnssCallback = new (std::nothrow) GnssEventCallback();
1035     EXPECT_NE(nullptr, gnssCallback);
1036     SatelliteStatusInfo statusInfo;
1037     statusInfo.satellitesNumber = 1;
1038     statusInfo.elevation.push_back(12);
1039     statusInfo.azimuths.push_back(30);
1040     statusInfo.carrierFrequencies.push_back(40);
1041     statusInfo.carrierToNoiseDensitys.push_back(40);
1042     statusInfo.satelliteIds.push_back(1);
1043     statusInfo.constellation.push_back(static_cast<ConstellationCategory>(1));
1044     statusInfo.additionalInfo.push_back(
1045         HDI::Location::Gnss::V2_0::SATELLITES_ADDITIONAL_INFO_EPHEMERIS_DATA_EXIST);
1046     EXPECT_EQ(ERR_OK, gnssCallback->ReportSatelliteStatusInfo(statusInfo));
1047     LocationInfo locationInfo;
1048     locationInfo.latitude = 1.0;
1049     locationInfo.longitude = 2.0;
1050     locationInfo.altitude = 1.0;
1051     locationInfo.horizontalAccuracy = 1.0;
1052     locationInfo.speed = 1.0;
1053     locationInfo.bearing= 1.0;
1054     locationInfo.timeForFix = 1000000000;
1055     locationInfo.timeSinceBoot = 1000000000;
1056     EXPECT_EQ(ERR_OK, gnssCallback->ReportLocation(locationInfo));
1057     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssEventCallbackReportSatelliteStatusInfo003 end");
1058 }
1059 
1060 HWTEST_F(GnssAbilityTest, GnssEventCallbackRequestGnssReferenceInfo001, TestSize.Level1)
1061 {
1062     GTEST_LOG_(INFO)
1063         << "GnssAbilityTest, GnssEventCallbackRequestGnssReferenceInfo001, TestSize.Level1";
1064     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssEventCallbackRequestGnssReferenceInfo001 begin");
1065     sptr<IGnssCallback> gnssCallback = new (std::nothrow) GnssEventCallback();
1066     EXPECT_NE(nullptr, gnssCallback);
1067     GnssRefInfoType type = HDI::Location::Gnss::V2_0::GNSS_REF_INFO_TIME;
1068     gnssCallback->RequestGnssReferenceInfo(type);
1069     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssEventCallbackRequestGnssReferenceInfo001 end");
1070 }
1071 
1072 HWTEST_F(GnssAbilityTest, GnssEventCallbackRequestPredictGnssData001, TestSize.Level1)
1073 {
1074     GTEST_LOG_(INFO)
1075         << "GnssAbilityTest, GnssEventCallbackRequestPredictGnssData001, TestSize.Level1";
1076     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssEventCallbackRequestPredictGnssData001 begin");
1077     sptr<IGnssCallback> gnssCallback = new (std::nothrow) GnssEventCallback();
1078     EXPECT_NE(nullptr, gnssCallback);
1079     gnssCallback->RequestPredictGnssData();
1080     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssEventCallbackRequestPredictGnssData001 end");
1081 }
1082 
1083 HWTEST_F(GnssAbilityTest, GnssEventCallbackReportCachedLocation001, TestSize.Level1)
1084 {
1085     GTEST_LOG_(INFO)
1086         << "GnssAbilityTest, GnssEventCallbackReportCachedLocation001, TestSize.Level1";
1087     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssEventCallbackReportCachedLocation001 begin");
1088     sptr<IGnssCallback> gnssCallback = new (std::nothrow) GnssEventCallback();
1089     EXPECT_NE(nullptr, gnssCallback);
1090     std::vector<LocationInfo> gnssLocations;
1091     LocationInfo locationInfo;
1092     locationInfo.latitude = 1.0;
1093     locationInfo.longitude = 2.0;
1094     locationInfo.altitude = 1.0;
1095     locationInfo.horizontalAccuracy = 1.0;
1096     locationInfo.speed = 1.0;
1097     locationInfo.bearing= 1.0;
1098     locationInfo.timeForFix = 1000000000;
1099     locationInfo.timeSinceBoot = 1000000000;
1100     gnssLocations.push_back(locationInfo);
1101     gnssCallback->ReportCachedLocation(gnssLocations);
1102     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssEventCallbackReportCachedLocation001 end");
1103 }
1104 
1105 HWTEST_F(GnssAbilityTest, GeofenceEventCallbackReportGeofenceAvailability001, TestSize.Level1)
1106 {
1107     GTEST_LOG_(INFO)
1108         << "GnssAbilityTest, GeofenceEventCallbackReportGeofenceAvailability001, TestSize.Level1";
1109     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GeofenceEventCallbackReportGeofenceAvailability001 begin");
1110     sptr<IGeofenceCallback> geofenceEventCallback = new (std::nothrow) GeofenceEventCallback();
1111     EXPECT_NE(nullptr, geofenceEventCallback);
1112     geofenceEventCallback->ReportGeofenceAvailability(true);
1113     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GeofenceEventCallbackReportGeofenceAvailability001 end");
1114 }
1115 
1116 HWTEST_F(GnssAbilityTest, GeofenceEventCallbackReportGeofenceEvent001, TestSize.Level1)
1117 {
1118     GTEST_LOG_(INFO)
1119         << "GnssAbilityTest, GeofenceEventCallbackReportGeofenceEvent001, TestSize.Level1";
1120     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GeofenceEventCallbackReportGeofenceEvent001 begin");
1121     sptr<IGeofenceCallback> geofenceEventCallback = new (std::nothrow) GeofenceEventCallback();
1122     EXPECT_NE(nullptr, geofenceEventCallback);
1123     int32_t fenceIndex = 0;
1124     HDI::Location::Geofence::V2_0::LocationInfo location;
1125     GeofenceEvent event = GeofenceEvent::GEOFENCE_EVENT_ENTERED;
1126     int64_t timestamp = 0;
1127     geofenceEventCallback->ReportGeofenceEvent(fenceIndex, location, event, timestamp);
1128     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GeofenceEventCallbackReportGeofenceEvent001 end");
1129 }
1130 
1131 HWTEST_F(GnssAbilityTest, GeofenceEventCallbackReportGeofenceEvent002, TestSize.Level1)
1132 {
1133     GTEST_LOG_(INFO)
1134         << "GnssAbilityTest, GeofenceEventCallbackReportGeofenceEvent002, TestSize.Level1";
1135     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GeofenceEventCallbackReportGeofenceEvent002 begin");
1136     sptr<IGeofenceCallback> geofenceEventCallback = new (std::nothrow) GeofenceEventCallback();
1137     EXPECT_NE(nullptr, geofenceEventCallback);
1138     int32_t fenceIndex = 0;
1139     HDI::Location::Geofence::V2_0::LocationInfo location;
1140     GeofenceEvent event = GeofenceEvent::GEOFENCE_EVENT_ENTERED;
1141     int64_t timestamp = 0;
1142     auto gnssAbility = GnssAbility::GetInstance();
1143     gnssAbility = nullptr;
1144     geofenceEventCallback->ReportGeofenceEvent(fenceIndex, location, event, timestamp);
1145     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GeofenceEventCallbackReportGeofenceEvent002 end");
1146 }
1147 
1148 HWTEST_F(GnssAbilityTest, GeofenceEventCallbackReportGeofenceOperateResult001, TestSize.Level1)
1149 {
1150     GTEST_LOG_(INFO)
1151         << "GnssAbilityTest, GeofenceEventCallbackReportGeofenceOperateResult001, TestSize.Level1";
1152     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GeofenceEventCallbackReportGeofenceOperateResult001 begin");
1153     sptr<IGeofenceCallback> geofenceEventCallback = new (std::nothrow) GeofenceEventCallback();
1154     EXPECT_NE(nullptr, geofenceEventCallback);
1155     int32_t fenceIndex = 0;
1156     GeofenceOperateType type = GeofenceOperateType::TYPE_ADD;
1157     GeofenceOperateResult result = GeofenceOperateResult::GEOFENCE_OPERATION_SUCCESS;
1158     geofenceEventCallback->ReportGeofenceOperateResult(fenceIndex, type, result);
1159     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GeofenceEventCallbackReportGeofenceOperateResult001 end");
1160 }
1161 
1162 HWTEST_F(GnssAbilityTest, GeofenceEventCallbackReportGeofenceOperateResult002, TestSize.Level1)
1163 {
1164     GTEST_LOG_(INFO)
1165         << "GnssAbilityTest, GeofenceEventCallbackReportGeofenceOperateResult002, TestSize.Level1";
1166     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GeofenceEventCallbackReportGeofenceOperateResult002 begin");
1167     sptr<IGeofenceCallback> geofenceEventCallback = new (std::nothrow) GeofenceEventCallback();
1168     EXPECT_NE(nullptr, geofenceEventCallback);
1169     int32_t fenceIndex = 0;
1170     GeofenceOperateType type = GeofenceOperateType::TYPE_ADD;
1171     GeofenceOperateResult result = GeofenceOperateResult::GEOFENCE_OPERATION_SUCCESS;
1172     auto gnssAbility = GnssAbility::GetInstance();
1173     gnssAbility = nullptr;
1174     geofenceEventCallback->ReportGeofenceOperateResult(fenceIndex, type, result);
1175     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GeofenceEventCallbackReportGeofenceOperateResult002 end");
1176 }
1177 
1178 HWTEST_F(GnssAbilityTest, GnssCommonEventSubscriberOnReceiveEvent001, TestSize.Level1)
1179 {
1180     GTEST_LOG_(INFO)
1181         << "GnssAbilityTest, GnssCommonEventSubscriberOnReceiveEvent001, TestSize.Level1";
1182     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssCommonEventSubscriberOnReceiveEvent001 begin");
1183     MatchingSkills matchingSkills;
1184     matchingSkills.AddEvent(CommonEventSupport::COMMON_EVENT_SMS_WAPPUSH_RECEIVE_COMPLETED);
1185     matchingSkills.AddEvent(CommonEventSupport::COMMON_EVENT_SMS_RECEIVE_COMPLETED);
1186     matchingSkills.AddEvent(CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED);
1187     matchingSkills.AddEvent(AGNSS_NI_ACCEPT_EVENT);
1188     matchingSkills.AddEvent(AGNSS_NI_REJECT_EVENT);
1189     CommonEventSubscribeInfo subscriberInfo(matchingSkills);
1190     std::shared_ptr<GnssCommonEventSubscriber> subscriber =
1191         std::make_shared<GnssCommonEventSubscriber>(subscriberInfo);
1192     OHOS::EventFwk::CommonEventData eventData = OHOS::EventFwk::CommonEventData();
1193     OHOS::AAFwk::Want want = OHOS::AAFwk::Want();
1194     want.SetAction(CommonEventSupport::COMMON_EVENT_SMS_WAPPUSH_RECEIVE_COMPLETED);
1195     eventData.SetWant(want);
1196     subscriber->OnReceiveEvent(eventData);
1197     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssCommonEventSubscriberOnReceiveEvent001 end");
1198 }
1199 
1200 HWTEST_F(GnssAbilityTest, GnssCommonEventSubscriberOnReceiveEvent002, TestSize.Level1)
1201 {
1202     GTEST_LOG_(INFO)
1203         << "GnssAbilityTest, GnssCommonEventSubscriberOnReceiveEvent002, TestSize.Level1";
1204     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssCommonEventSubscriberOnReceiveEvent002 begin");
1205     MatchingSkills matchingSkills;
1206     matchingSkills.AddEvent(CommonEventSupport::COMMON_EVENT_SMS_WAPPUSH_RECEIVE_COMPLETED);
1207     matchingSkills.AddEvent(CommonEventSupport::COMMON_EVENT_SMS_RECEIVE_COMPLETED);
1208     matchingSkills.AddEvent(CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED);
1209     matchingSkills.AddEvent(AGNSS_NI_ACCEPT_EVENT);
1210     matchingSkills.AddEvent(AGNSS_NI_REJECT_EVENT);
1211     CommonEventSubscribeInfo subscriberInfo(matchingSkills);
1212     std::shared_ptr<GnssCommonEventSubscriber> subscriber =
1213         std::make_shared<GnssCommonEventSubscriber>(subscriberInfo);
1214     OHOS::EventFwk::CommonEventData eventData = OHOS::EventFwk::CommonEventData();
1215     OHOS::AAFwk::Want want = OHOS::AAFwk::Want();
1216     want.SetAction(CommonEventSupport::COMMON_EVENT_SMS_RECEIVE_COMPLETED);
1217     eventData.SetWant(want);
1218     subscriber->OnReceiveEvent(eventData);
1219     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssCommonEventSubscriberOnReceiveEvent002 end");
1220 }
1221 
1222 HWTEST_F(GnssAbilityTest, GnssCommonEventSubscriberOnReceiveEvent003, TestSize.Level1)
1223 {
1224     GTEST_LOG_(INFO)
1225         << "GnssAbilityTest, GnssCommonEventSubscriberOnReceiveEvent003, TestSize.Level1";
1226     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssCommonEventSubscriberOnReceiveEvent003 begin");
1227     MatchingSkills matchingSkills;
1228     matchingSkills.AddEvent(CommonEventSupport::COMMON_EVENT_SMS_WAPPUSH_RECEIVE_COMPLETED);
1229     matchingSkills.AddEvent(CommonEventSupport::COMMON_EVENT_SMS_RECEIVE_COMPLETED);
1230     matchingSkills.AddEvent(CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED);
1231     matchingSkills.AddEvent(AGNSS_NI_ACCEPT_EVENT);
1232     matchingSkills.AddEvent(AGNSS_NI_REJECT_EVENT);
1233     CommonEventSubscribeInfo subscriberInfo(matchingSkills);
1234     std::shared_ptr<GnssCommonEventSubscriber> subscriber =
1235         std::make_shared<GnssCommonEventSubscriber>(subscriberInfo);
1236     OHOS::EventFwk::CommonEventData eventData = OHOS::EventFwk::CommonEventData();
1237     OHOS::AAFwk::Want want = OHOS::AAFwk::Want();
1238     want.SetAction(CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED);
1239     eventData.SetWant(want);
1240     subscriber->OnReceiveEvent(eventData);
1241     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssCommonEventSubscriberOnReceiveEvent003 end");
1242 }
1243 
1244 HWTEST_F(GnssAbilityTest, GnssCommonEventSubscriberOnReceiveEvent004, TestSize.Level1)
1245 {
1246     GTEST_LOG_(INFO)
1247         << "GnssAbilityTest, GnssCommonEventSubscriberOnReceiveEvent001, TestSize.Level1";
1248     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssCommonEventSubscriberOnReceiveEvent004 begin");
1249     MatchingSkills matchingSkills;
1250     matchingSkills.AddEvent(CommonEventSupport::COMMON_EVENT_SMS_WAPPUSH_RECEIVE_COMPLETED);
1251     matchingSkills.AddEvent(CommonEventSupport::COMMON_EVENT_SMS_RECEIVE_COMPLETED);
1252     matchingSkills.AddEvent(CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED);
1253     matchingSkills.AddEvent(AGNSS_NI_ACCEPT_EVENT);
1254     matchingSkills.AddEvent(AGNSS_NI_REJECT_EVENT);
1255     CommonEventSubscribeInfo subscriberInfo(matchingSkills);
1256     std::shared_ptr<GnssCommonEventSubscriber> subscriber =
1257         std::make_shared<GnssCommonEventSubscriber>(subscriberInfo);
1258     OHOS::EventFwk::CommonEventData eventData = OHOS::EventFwk::CommonEventData();
1259     OHOS::AAFwk::Want want = OHOS::AAFwk::Want();
1260     want.SetAction(AGNSS_NI_ACCEPT_EVENT);
1261     eventData.SetWant(want);
1262     subscriber->OnReceiveEvent(eventData);
1263     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssCommonEventSubscriberOnReceiveEvent004 end");
1264 }
1265 
1266 HWTEST_F(GnssAbilityTest, GnssCommonEventSubscriberOnReceiveEvent005, TestSize.Level1)
1267 {
1268     GTEST_LOG_(INFO)
1269         << "GnssAbilityTest, GnssCommonEventSubscriberOnReceiveEvent005, TestSize.Level1";
1270     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssCommonEventSubscriberOnReceiveEvent005 begin");
1271     MatchingSkills matchingSkills;
1272     matchingSkills.AddEvent(CommonEventSupport::COMMON_EVENT_SMS_WAPPUSH_RECEIVE_COMPLETED);
1273     matchingSkills.AddEvent(CommonEventSupport::COMMON_EVENT_SMS_RECEIVE_COMPLETED);
1274     matchingSkills.AddEvent(CommonEventSupport::COMMON_EVENT_CALL_STATE_CHANGED);
1275     matchingSkills.AddEvent(AGNSS_NI_ACCEPT_EVENT);
1276     matchingSkills.AddEvent(AGNSS_NI_REJECT_EVENT);
1277     CommonEventSubscribeInfo subscriberInfo(matchingSkills);
1278     std::shared_ptr<GnssCommonEventSubscriber> subscriber =
1279         std::make_shared<GnssCommonEventSubscriber>(subscriberInfo);
1280     OHOS::EventFwk::CommonEventData eventData = OHOS::EventFwk::CommonEventData();
1281     OHOS::AAFwk::Want want = OHOS::AAFwk::Want();
1282     want.SetAction(AGNSS_NI_REJECT_EVENT);
1283     eventData.SetWant(want);
1284     subscriber->OnReceiveEvent(eventData);
1285     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssCommonEventSubscriberOnReceiveEvent005 end");
1286 }
1287 
1288 HWTEST_F(GnssAbilityTest, GnssOnStart001, TestSize.Level1)
1289 {
1290     GTEST_LOG_(INFO)
1291         << "GnssAbilityTest, GnssOnStart001, TestSize.Level1";
1292     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssOnStart001 begin");
1293     ability_->state_ = ServiceRunningState::STATE_RUNNING;
1294     ability_->OnStart();
1295     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssOnStart001 end");
1296 }
1297 
1298 HWTEST_F(GnssAbilityTest, GnssSendLocationRequest001, TestSize.Level1)
1299 {
1300     GTEST_LOG_(INFO)
1301         << "GnssAbilityTest, GnssSendLocationRequest001, TestSize.Level1";
1302     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssSendLocationRequest001 begin");
1303     WorkRecord workrecord;
1304     ability_->SendLocationRequest(workrecord);
1305     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssSendLocationRequest001 end");
1306 }
1307 
1308 HWTEST_F(GnssAbilityTest, GnssDisableGnss001, TestSize.Level1)
1309 {
1310     GTEST_LOG_(INFO)
1311         << "GnssAbilityTest, GnssDisableGnss001, TestSize.Level1";
1312     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssDisableGnss001 begin");
1313     sptr<GnssAbility> gnssAbility1 = new (std::nothrow) GnssAbility();
1314     ASSERT_TRUE(gnssAbility1 != nullptr);
1315     gnssAbility1->gnssWorkingStatus_ = GNSS_WORKING_STATUS_SESSION_BEGIN;
1316     gnssAbility1->DisableGnss();
1317 
1318     sptr<GnssAbility> gnssAbility2 = new (std::nothrow) GnssAbility();
1319     ASSERT_TRUE(gnssAbility2 != nullptr);
1320     gnssAbility2->gnssWorkingStatus_ = GNSS_WORKING_STATUS_ENGINE_OFF;
1321     gnssAbility2->DisableGnss();
1322     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssDisableGnss001 end");
1323 }
1324 
1325 HWTEST_F(GnssAbilityTest, GnssStartGnss001, TestSize.Level1)
1326 {
1327     GTEST_LOG_(INFO)
1328         << "GnssAbilityTest, GnssStartGnss001, TestSize.Level1";
1329     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssStartGnss001 begin");
1330     sptr<GnssAbility> gnssAbility1 = new (std::nothrow) GnssAbility();
1331     ASSERT_TRUE(gnssAbility1 != nullptr);
1332     gnssAbility1->gnssWorkingStatus_ = GNSS_WORKING_STATUS_SESSION_BEGIN;
1333     gnssAbility1->StartGnss();
1334 
1335     sptr<GnssAbility> gnssAbility2 = new (std::nothrow) GnssAbility();
1336     ASSERT_TRUE(gnssAbility2 != nullptr);
1337     gnssAbility2->gnssWorkingStatus_ = GNSS_WORKING_STATUS_ENGINE_OFF;
1338     gnssAbility2->StartGnss();
1339     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssStartGnss001 end");
1340 }
1341 
1342 HWTEST_F(GnssAbilityTest, GnssEnableGnss001, TestSize.Level1)
1343 {
1344     GTEST_LOG_(INFO)
1345         << "GnssAbilityTest, GnssEnableGnss001, TestSize.Level1";
1346     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssEnableGnss001 begin");
1347     ability_->gnssWorkingStatus_ = GNSS_WORKING_STATUS_NONE;
1348     bool ret = ability_->EnableGnss();
1349     EXPECT_EQ(false, ret);
1350     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssEnableGnss001 end");
1351 }
1352 
1353 HWTEST_F(GnssAbilityTest, GnssEnableGnss002, TestSize.Level1)
1354 {
1355     GTEST_LOG_(INFO)
1356         << "GnssAbilityTest, GnssEnableGnss002, TestSize.Level1";
1357     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssEnableGnss002 begin");
1358     ability_->gnssWorkingStatus_ = GNSS_WORKING_STATUS_ENGINE_ON;
1359     bool ret = ability_->EnableGnss();
1360     EXPECT_EQ(false, ret);
1361     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssEnableGnss002 end");
1362 }
1363 
1364 HWTEST_F(GnssAbilityTest, GnssInit001, TestSize.Level1)
1365 {
1366     GTEST_LOG_(INFO)
1367         << "GnssAbilityTest, GnssInit001, TestSize.Level1";
1368     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssInit001 begin");
1369     ability_->registerToAbility_ = true;
1370     EXPECT_EQ(true, ability_->Init());
1371     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssInit001 end");
1372 }
1373 
1374 HWTEST_F(GnssAbilityTest, GnssRequestRecord001, TestSize.Level1)
1375 {
1376     GTEST_LOG_(INFO)
1377         << "GnssAbilityTest, GnssRequestRecord001, TestSize.Level1";
1378     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssRequestRecord001 begin");
1379     std::unique_ptr<WorkRecord> workRecord = std::make_unique<WorkRecord>();
1380     ability_->RequestRecord(*workRecord, false);
1381     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssRequestRecord001 end");
1382 }
1383 
1384 HWTEST_F(GnssAbilityTest, GnssRequestRecord002, TestSize.Level1)
1385 {
1386     GTEST_LOG_(INFO)
1387         << "GnssAbilityTest, GnssRequestRecord002, TestSize.Level1";
1388     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssRequestRecord002 begin");
1389     std::unique_ptr<WorkRecord> workRecord = std::make_unique<WorkRecord>();
1390     ability_->RequestRecord(*workRecord, true);
1391     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssRequestRecord002 end");
1392 }
1393 
1394 HWTEST_F(GnssAbilityTest, GnssReConnectHdi001, TestSize.Level1)
1395 {
1396     GTEST_LOG_(INFO)
1397         << "GnssAbilityTest, GnssReConnectHdi001, TestSize.Level1";
1398     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssReConnectHdi001 begin");
1399     ability_->ReConnectHdi();
1400     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssReConnectHdi001 end");
1401 }
1402 
1403 #ifdef HDF_DRIVERS_INTERFACE_AGNSS_ENABLE
1404 HWTEST_F(GnssAbilityTest, GnssSetRefInfo001, TestSize.Level1)
1405 {
1406     GTEST_LOG_(INFO)
1407         << "GnssAbilityTest, GnssSetRefInfo001, TestSize.Level1";
1408     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssSetRefInfo001 begin");
1409     AGnssRefInfo refInfo;
1410     ability_->SetRefInfo(refInfo);
1411     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssSetRefInfo001 end");
1412 }
1413 #endif
1414 
1415 HWTEST_F(GnssAbilityTest, GnssSendReportMockLocationEvent003, TestSize.Level1)
1416 {
1417     GTEST_LOG_(INFO)
1418         << "GnssAbilityTest, GnssSendReportMockLocationEvent003, TestSize.Level1";
1419     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssSendReportMockLocationEvent003 begin");
1420     ability_->SendReportMockLocationEvent();
1421     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssSendReportMockLocationEvent003 end");
1422 }
1423 
1424 HWTEST_F(GnssAbilityTest, GnssSendMessage001, TestSize.Level1)
1425 {
1426     GTEST_LOG_(INFO)
1427         << "GnssAbilityTest, GnssSendMessage001, TestSize.Level1";
1428     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssSendMessage001 begin");
1429     MessageParcel requestParcel;
1430     requestParcel.WriteInterfaceToken(u"location.INetworkAbility");
1431     requestParcel.WriteBuffer("data", 4);
1432     requestParcel.RewindRead(0);
1433 
1434     MessageParcel reply;
1435     ability_->SendMessage(0, requestParcel, reply);
1436     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssSendMessage001 end");
1437 }
1438 
1439 HWTEST_F(GnssAbilityTest, GnssSendMessage002, TestSize.Level1)
1440 {
1441     GTEST_LOG_(INFO)
1442         << "GnssAbilityTest, GnssSendMessage002, TestSize.Level1";
1443     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssSendMessage002 begin");
1444     MessageParcel requestParcel;
1445     requestParcel.WriteInterfaceToken(u"location.INetworkAbility");
1446     requestParcel.WriteBuffer("data", 4);
1447     requestParcel.RewindRead(0);
1448 
1449     MessageParcel reply;
1450     ability_->SendMessage(static_cast<uint32_t>(GnssAbilityInterfaceCode::ADD_FENCE), requestParcel, reply);
1451     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssSendMessage002 end");
1452 }
1453 
1454 HWTEST_F(GnssAbilityTest, GnssSendMessage003, TestSize.Level1)
1455 {
1456     GTEST_LOG_(INFO)
1457         << "GnssAbilityTest, GnssSendMessage003, TestSize.Level1";
1458     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssSendMessage003 begin");
1459     MessageParcel requestParcel;
1460     requestParcel.WriteInterfaceToken(u"location.INetworkAbility");
1461     requestParcel.WriteBuffer("data", 4);
1462     requestParcel.RewindRead(0);
1463 
1464     MessageParcel reply;
1465     ability_->SendMessage(0, requestParcel, reply);
1466     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssSendMessage003 end");
1467 }
1468 
1469 HWTEST_F(GnssAbilityTest, GnssSendMessage004, TestSize.Level1)
1470 {
1471     GTEST_LOG_(INFO)
1472         << "GnssAbilityTest, GnssSendMessage004, TestSize.Level1";
1473     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssSendMessage004 begin");
1474     MessageParcel requestParcel;
1475     requestParcel.WriteInterfaceToken(u"location.INetworkAbility");
1476     requestParcel.WriteBuffer("data", 4);
1477     requestParcel.RewindRead(0);
1478 
1479     MessageParcel reply;
1480     ability_->SendMessage(0, requestParcel, reply);
1481     LBSLOGI(GNSS_TEST, "[GnssAbilityTest] GnssSendMessage004 end");
1482 }
1483 
1484 HWTEST_F(GnssAbilityTest, SubAbilityCommonGetRequestNum001, TestSize.Level1)
1485 {
1486     GTEST_LOG_(INFO)
1487         << "SubAbilityCommonTest, GetRequestNum001, TestSize.Level1";
1488     LBSLOGI(LOCATOR, "[SubAbilityCommonTest] GetRequestNum001 begin");
1489     sptr<GnssAbility> gnssAbility = new (std::nothrow) GnssAbility();
1490     ability_->newRecord_ = nullptr;
1491     ability_->GetRequestNum();
1492 
1493     ability_->newRecord_ = std::make_unique<WorkRecord>();
1494     std::shared_ptr<WorkRecord> workRecord = std::make_shared<WorkRecord>();
1495     int num = 2;
1496     std::shared_ptr<Request> request = std::make_shared<Request>();
1497     for (int i = 0; i < num; i++) {
1498         std::unique_ptr<RequestConfig> requestConfig = std::make_unique<RequestConfig>();
1499         requestConfig->SetTimeInterval(i);
1500         request->SetUid(i + 1);
1501         request->SetPid(i + 2);
1502         request->SetPackageName("nameForTest");
1503         request->SetRequestConfig(*requestConfig);
1504         request->SetUuid(std::to_string(CommonUtils::IntRandom(MIN_INT_RANDOM, MAX_INT_RANDOM)));
1505         request->SetNlpRequestType(0);
1506         workRecord->Add(request);
1507     }
1508     ability_->newRecord_->Set(*workRecord);
1509     ability_->GetRequestNum();
1510 
1511     ability_->newRecord_ = nullptr;
1512     ability_->GetRequestNum();
1513 
1514     std::unique_ptr<RequestConfig> requestConfig = std::make_unique<RequestConfig>();
1515     requestConfig->SetTimeInterval(0);
1516     request->SetUid(0);
1517     request->SetPid(0);
1518     request->SetRequestConfig(*requestConfig);
1519     request->SetUuid(std::to_string(CommonUtils::IntRandom(MIN_INT_RANDOM, MAX_INT_RANDOM)));
1520     request->SetNlpRequestType(0);
1521     ability_->lastRecord_->Add(request);
1522     ability_->HandleRemoveRecord(*workRecord);
1523     ability_->lastRecord_->Clear();
1524     ability_->lastRecord_->Set(*workRecord);
1525     ability_->HandleAddRecord(*workRecord);
1526     LBSLOGI(LOCATOR, "[SubAbilityCommonTest] GetRequestNum001 end");
1527 }
1528 
1529 HWTEST_F(GnssAbilityTest, GetCommandFlags001, TestSize.Level1)
1530 {
1531     GTEST_LOG_(INFO)
1532         << "GnssAbilityTest, GetCommandFlags001, TestSize.Level1";
1533     LBSLOGI(LOCATOR, "[GnssAbilityTest] GetCommandFlags001 begin");
1534     GnssAuxiliaryDataType flags;
1535     std::unique_ptr<LocationCommand> cmd = std::make_unique<LocationCommand>();
1536     cmd->command = "delete_auxiliary_data_ephemeris";
1537     bool result = ability_->GetCommandFlags(cmd, flags);
1538     EXPECT_EQ(true, result);
1539     EXPECT_EQ(GnssAuxiliaryDataType::GNSS_AUXILIARY_DATA_EPHEMERIS, flags);
1540     LBSLOGI(LOCATOR, "[GnssAbilityTest] GetCommandFlags001 end");
1541 }
1542 
1543 HWTEST_F(GnssAbilityTest, GetCommandFlags002, TestSize.Level1)
1544 {
1545     GTEST_LOG_(INFO)
1546         << "GnssAbilityTest, GetCommandFlags002, TestSize.Level1";
1547     LBSLOGI(LOCATOR, "[GnssAbilityTest] GetCommandFlags002 begin");
1548     GnssAuxiliaryDataType flags;
1549     std::unique_ptr<LocationCommand> cmd = std::make_unique<LocationCommand>();
1550     cmd->command = "delete_auxiliary_data_almanac";
1551     bool result = ability_->GetCommandFlags(cmd, flags);
1552     EXPECT_EQ(true, result);
1553     EXPECT_EQ(GnssAuxiliaryDataType::GNSS_AUXILIARY_DATA_ALMANAC, flags);
1554     LBSLOGI(LOCATOR, "[GnssAbilityTest] GetCommandFlags002 end");
1555 }
1556 
1557 HWTEST_F(GnssAbilityTest, GetCommandFlags003, TestSize.Level1)
1558 {
1559     GTEST_LOG_(INFO)
1560         << "GnssAbilityTest, GetCommandFlags003, TestSize.Level1";
1561     LBSLOGI(LOCATOR, "[GnssAbilityTest] GetCommandFlags003 begin");
1562     GnssAuxiliaryDataType flags;
1563     std::unique_ptr<LocationCommand> cmd = std::make_unique<LocationCommand>();
1564     cmd->command = "delete_auxiliary_data_position";
1565     bool result = ability_->GetCommandFlags(cmd, flags);
1566     EXPECT_EQ(true, result);
1567     EXPECT_EQ(GnssAuxiliaryDataType::GNSS_AUXILIARY_DATA_POSITION, flags);
1568     LBSLOGI(LOCATOR, "[GnssAbilityTest] GetCommandFlags003 end");
1569 }
1570 
1571 HWTEST_F(GnssAbilityTest, GetCommandFlags004, TestSize.Level1)
1572 {
1573     GTEST_LOG_(INFO)
1574         << "GnssAbilityTest, GetCommandFlags004, TestSize.Level1";
1575     LBSLOGI(LOCATOR, "[GnssAbilityTest] GetCommandFlags004 begin");
1576     GnssAuxiliaryDataType flags;
1577     std::unique_ptr<LocationCommand> cmd = std::make_unique<LocationCommand>();
1578     cmd->command = "delete_auxiliary_data_time";
1579     bool result = ability_->GetCommandFlags(cmd, flags);
1580     EXPECT_EQ(true, result);
1581     EXPECT_EQ(GnssAuxiliaryDataType::GNSS_AUXILIARY_DATA_TIME, flags);
1582     LBSLOGI(LOCATOR, "[GnssAbilityTest] GetCommandFlags004 end");
1583 }
1584 
1585 HWTEST_F(GnssAbilityTest, GetCommandFlags005, TestSize.Level1)
1586 {
1587     GTEST_LOG_(INFO)
1588         << "GnssAbilityTest, GetCommandFlags005, TestSize.Level1";
1589     LBSLOGI(LOCATOR, "[GnssAbilityTest] GetCommandFlags005 begin");
1590     GnssAuxiliaryDataType flags;
1591     std::unique_ptr<LocationCommand> cmd = std::make_unique<LocationCommand>();
1592     cmd->command = "delete_auxiliary_data_iono";
1593     bool result = ability_->GetCommandFlags(cmd, flags);
1594     EXPECT_EQ(true, result);
1595     EXPECT_EQ(GnssAuxiliaryDataType::GNSS_AUXILIARY_DATA_IONO, flags);
1596     LBSLOGI(LOCATOR, "[GnssAbilityTest] GetCommandFlags005 end");
1597 }
1598 
1599 HWTEST_F(GnssAbilityTest, GetCommandFlags006, TestSize.Level1)
1600 {
1601     GTEST_LOG_(INFO)
1602         << "GnssAbilityTest, GetCommandFlags006, TestSize.Level1";
1603     LBSLOGI(LOCATOR, "[GnssAbilityTest] GetCommandFlags006 begin");
1604     GnssAuxiliaryDataType flags;
1605     std::unique_ptr<LocationCommand> cmd = std::make_unique<LocationCommand>();
1606     cmd->command = "delete_auxiliary_data_utc";
1607     bool result = ability_->GetCommandFlags(cmd, flags);
1608     EXPECT_EQ(true, result);
1609     EXPECT_EQ(GnssAuxiliaryDataType::GNSS_AUXILIARY_DATA_UTC, flags);
1610     LBSLOGI(LOCATOR, "[GnssAbilityTest] GetCommandFlags006 end");
1611 }
1612 
1613 HWTEST_F(GnssAbilityTest, GetCommandFlags007, TestSize.Level1)
1614 {
1615     GTEST_LOG_(INFO)
1616         << "GnssAbilityTest, GetCommandFlags007, TestSize.Level1";
1617     LBSLOGI(LOCATOR, "[GnssAbilityTest] GetCommandFlags007 begin");
1618     GnssAuxiliaryDataType flags;
1619     std::unique_ptr<LocationCommand> cmd = std::make_unique<LocationCommand>();
1620     cmd->command = "delete_auxiliary_data_health";
1621     bool result = ability_->GetCommandFlags(cmd, flags);
1622     EXPECT_EQ(true, result);
1623     EXPECT_EQ(GnssAuxiliaryDataType::GNSS_AUXILIARY_DATA_HEALTH, flags);
1624     LBSLOGI(LOCATOR, "[GnssAbilityTest] GetCommandFlags007 end");
1625 }
1626 
1627 HWTEST_F(GnssAbilityTest, GetCommandFlags008, TestSize.Level1)
1628 {
1629     GTEST_LOG_(INFO)
1630         << "GnssAbilityTest, GetCommandFlags008, TestSize.Level1";
1631     LBSLOGI(LOCATOR, "[GnssAbilityTest] GetCommandFlags008 begin");
1632     GnssAuxiliaryDataType flags;
1633     std::unique_ptr<LocationCommand> cmd = std::make_unique<LocationCommand>();
1634     cmd->command = "delete_auxiliary_data_svdir";
1635     bool result = ability_->GetCommandFlags(cmd, flags);
1636     EXPECT_EQ(true, result);
1637     EXPECT_EQ(GnssAuxiliaryDataType::GNSS_AUXILIARY_DATA_SVDIR, flags);
1638     LBSLOGI(LOCATOR, "[GnssAbilityTest] GetCommandFlags008 end");
1639 }
1640 
1641 HWTEST_F(GnssAbilityTest, GetCommandFlags009, TestSize.Level1)
1642 {
1643     GTEST_LOG_(INFO)
1644         << "GnssAbilityTest, GetCommandFlags009, TestSize.Level1";
1645     LBSLOGI(LOCATOR, "[GnssAbilityTest] GetCommandFlags009 begin");
1646     GnssAuxiliaryDataType flags;
1647     std::unique_ptr<LocationCommand> cmd = std::make_unique<LocationCommand>();
1648     cmd->command = "delete_auxiliary_data_svsteer";
1649     bool result = ability_->GetCommandFlags(cmd, flags);
1650     EXPECT_EQ(true, result);
1651     EXPECT_EQ(GnssAuxiliaryDataType::GNSS_AUXILIARY_DATA_SVSTEER, flags);
1652     LBSLOGI(LOCATOR, "[GnssAbilityTest] GetCommandFlags009 end");
1653 }
1654 
1655 HWTEST_F(GnssAbilityTest, GetCommandFlags010, TestSize.Level1)
1656 {
1657     GTEST_LOG_(INFO)
1658         << "GnssAbilityTest, GetCommandFlags010, TestSize.Level1";
1659     LBSLOGI(LOCATOR, "[GnssAbilityTest] GetCommandFlags010 begin");
1660     GnssAuxiliaryDataType flags;
1661     std::unique_ptr<LocationCommand> cmd = std::make_unique<LocationCommand>();
1662     cmd->command = "delete_auxiliary_data_sadata";
1663     bool result = ability_->GetCommandFlags(cmd, flags);
1664     EXPECT_EQ(true, result);
1665     EXPECT_EQ(GnssAuxiliaryDataType::GNSS_AUXILIARY_DATA_SADATA, flags);
1666     LBSLOGI(LOCATOR, "[GnssAbilityTest] GetCommandFlags010 end");
1667 }
1668 
1669 HWTEST_F(GnssAbilityTest, GetCommandFlags011, TestSize.Level1)
1670 {
1671     GTEST_LOG_(INFO)
1672         << "GnssAbilityTest, GetCommandFlags011, TestSize.Level1";
1673     LBSLOGI(LOCATOR, "[GnssAbilityTest] GetCommandFlags011 begin");
1674     GnssAuxiliaryDataType flags;
1675     std::unique_ptr<LocationCommand> cmd = std::make_unique<LocationCommand>();
1676     cmd->command = "delete_auxiliary_data_rti";
1677     bool result = ability_->GetCommandFlags(cmd, flags);
1678     EXPECT_EQ(true, result);
1679     EXPECT_EQ(GnssAuxiliaryDataType::GNSS_AUXILIARY_DATA_RTI, flags);
1680     LBSLOGI(LOCATOR, "[GnssAbilityTest] GetCommandFlags011 end");
1681 }
1682 
1683 HWTEST_F(GnssAbilityTest, GetCommandFlags012, TestSize.Level1)
1684 {
1685     GTEST_LOG_(INFO)
1686         << "GnssAbilityTest, GetCommandFlags012, TestSize.Level1";
1687     LBSLOGI(LOCATOR, "[GnssAbilityTest] GetCommandFlags012 begin");
1688     GnssAuxiliaryDataType flags;
1689     std::unique_ptr<LocationCommand> cmd = std::make_unique<LocationCommand>();
1690     cmd->command = "delete_auxiliary_data_celldb_info";
1691     bool result = ability_->GetCommandFlags(cmd, flags);
1692     EXPECT_EQ(true, result);
1693     EXPECT_EQ(GnssAuxiliaryDataType::GNSS_AUXILIARY_DATA_CELLDB_INFO, flags);
1694     LBSLOGI(LOCATOR, "[GnssAbilityTest] GetCommandFlags012 end");
1695 }
1696 
1697 HWTEST_F(GnssAbilityTest, GetCommandFlags013, TestSize.Level1)
1698 {
1699     GTEST_LOG_(INFO)
1700         << "GnssAbilityTest, GetCommandFlags013, TestSize.Level1";
1701     LBSLOGI(LOCATOR, "[GnssAbilityTest] GetCommandFlags013 begin");
1702     GnssAuxiliaryDataType flags;
1703     std::unique_ptr<LocationCommand> cmd = std::make_unique<LocationCommand>();
1704     cmd->command = "delete_auxiliary_data_all";
1705     bool result = ability_->GetCommandFlags(cmd, flags);
1706     EXPECT_EQ(true, result);
1707     EXPECT_EQ(GnssAuxiliaryDataType::GNSS_AUXILIARY_DATA_ALL, flags);
1708     LBSLOGI(LOCATOR, "[GnssAbilityTest] GetCommandFlags013 end");
1709 }
1710 
1711 HWTEST_F(GnssAbilityTest, GetCommandFlags014, TestSize.Level1)
1712 {
1713     GTEST_LOG_(INFO)
1714         << "GnssAbilityTest, GetCommandFlags014, TestSize.Level1";
1715     LBSLOGI(LOCATOR, "[GnssAbilityTest] GetCommandFlags014 begin");
1716     GnssAuxiliaryDataType flags;
1717     std::unique_ptr<LocationCommand> cmd = std::make_unique<LocationCommand>();
1718     cmd->command = "unknow";
1719     bool result = ability_->GetCommandFlags(cmd, flags);
1720     EXPECT_EQ(false, result);
1721     LBSLOGI(LOCATOR, "[GnssAbilityTest] GetCommandFlags014 end");
1722 }
1723 
1724 HWTEST_F(GnssAbilityTest, SetEnable001, TestSize.Level1)
1725 {
1726     GTEST_LOG_(INFO)
1727         << "GnssAbilityTest, SetEnable001, TestSize.Level1";
1728     LBSLOGI(LOCATOR, "[GnssAbilityTest] SetEnable001 begin");
1729     LocationErrCode result = ability_->SetEnable(true);
1730     EXPECT_EQ(ERRCODE_SUCCESS, result);
1731     LBSLOGI(LOCATOR, "[GnssAbilityTest] SetEnable001 end");
1732 }
1733 
1734 HWTEST_F(GnssAbilityTest, SetEnable002, TestSize.Level1)
1735 {
1736     GTEST_LOG_(INFO)
1737         << "GnssAbilityTest, SetEnable002, TestSize.Level1";
1738     LBSLOGI(LOCATOR, "[GnssAbilityTest] SetEnable002 begin");
1739     LocationErrCode result = ability_->SetEnable(false);
1740     EXPECT_EQ(ERRCODE_SUCCESS, result);
1741     LBSLOGI(LOCATOR, "[GnssAbilityTest] SetEnable002 end");
1742 }
1743 
1744 HWTEST_F(GnssAbilityTest, SendCommand002, TestSize.Level1)
1745 {
1746     GTEST_LOG_(INFO)
1747         << "GnssAbilityTest, SendCommand002, TestSize.Level1";
1748     LBSLOGI(LOCATOR, "[GnssAbilityTest] SendCommand002 begin");
1749     std::unique_ptr<LocationCommand> cmd = std::make_unique<LocationCommand>();
1750     cmd->command = "delete_auxiliary_data_all";
1751     LocationErrCode result = ability_->SendCommand(cmd);
1752     EXPECT_EQ(ERRCODE_SERVICE_UNAVAILABLE, result);
1753     LBSLOGI(LOCATOR, "[GnssAbilityTest] SendCommand002 end");
1754 }
1755 
1756 HWTEST_F(GnssAbilityTest, SetPositionMode001, TestSize.Level1)
1757 {
1758     GTEST_LOG_(INFO)
1759         << "GnssAbilityTest, SetPositionMode001, TestSize.Level1";
1760     LBSLOGI(LOCATOR, "[GnssAbilityTest] SetPositionMode001 begin");
1761     LocationErrCode result = ability_->SetPositionMode();
1762     EXPECT_EQ(ERRCODE_SERVICE_UNAVAILABLE, result);
1763     LBSLOGI(LOCATOR, "[GnssAbilityTest] SetPositionMode001 end");
1764 }
1765 
1766 HWTEST_F(GnssAbilityTest, AddFence001, TestSize.Level1)
1767 {
1768     GTEST_LOG_(INFO)
1769         << "GnssAbilityTest, AddFence001, TestSize.Level1";
1770     LBSLOGI(LOCATOR, "[GnssAbilityTest] AddFence001 begin");
1771     std::shared_ptr<GeofenceRequest> request = std::make_shared<GeofenceRequest>();
1772     LocationErrCode result = ability_->AddFence(request);
1773     EXPECT_EQ(ERRCODE_SERVICE_UNAVAILABLE, result);
1774     LBSLOGI(LOCATOR, "[GnssAbilityTest] AddFence001 end");
1775 }
1776 
1777 HWTEST_F(GnssAbilityTest, RemoveFence001, TestSize.Level1)
1778 {
1779     GTEST_LOG_(INFO)
1780         << "GnssAbilityTest, RemoveFence001, TestSize.Level1";
1781     LBSLOGI(LOCATOR, "[GnssAbilityTest] RemoveFence001 begin");
1782     std::shared_ptr<GeofenceRequest> request = std::make_shared<GeofenceRequest>();
1783     LocationErrCode result = ability_->RemoveFence(request);
1784     EXPECT_EQ(ERRCODE_SERVICE_UNAVAILABLE, result);
1785     LBSLOGI(LOCATOR, "[GnssAbilityTest] RemoveFence001 end");
1786 }
1787 
1788 HWTEST_F(GnssAbilityTest, RemoveFence002, TestSize.Level1)
1789 {
1790     GTEST_LOG_(INFO)
1791         << "GnssAbilityTest, RemoveFence002, TestSize.Level1";
1792     LBSLOGI(LOCATOR, "[GnssAbilityTest] RemoveFence002 begin");
1793     std::shared_ptr<GeofenceRequest> request = nullptr;
1794     ability_->RemoveFence(request);
1795     LBSLOGI(LOCATOR, "[GnssAbilityTest] RemoveFence002 end");
1796 }
1797 
1798 HWTEST_F(GnssAbilityTest, AddGnssGeofence001, TestSize.Level1)
1799 {
1800     GTEST_LOG_(INFO)
1801         << "GnssAbilityTest, AddGnssGeofence001, TestSize.Level1";
1802     LBSLOGI(LOCATOR, "[GnssAbilityTest] AddGnssGeofence001 begin");
1803     std::shared_ptr<GeofenceRequest> request = std::make_shared<GeofenceRequest>();
1804     LocationErrCode result = ability_->AddGnssGeofence(request);
1805     EXPECT_EQ(ERRCODE_SERVICE_UNAVAILABLE, result);
1806     LBSLOGI(LOCATOR, "[GnssAbilityTest] AddGnssGeofence001 end");
1807 }
1808 
1809 HWTEST_F(GnssAbilityTest, RemoveGnssGeofence001, TestSize.Level1)
1810 {
1811     GTEST_LOG_(INFO)
1812         << "GnssAbilityTest, RemoveGnssGeofence001, TestSize.Level1";
1813     LBSLOGI(LOCATOR, "[GnssAbilityTest] RemoveGnssGeofence001 begin");
1814     std::shared_ptr<GeofenceRequest> request = std::make_shared<GeofenceRequest>();
1815     LocationErrCode result = ability_->RemoveGnssGeofence(request);
1816     EXPECT_EQ(ERRCODE_GEOFENCE_INCORRECT_ID, result);
1817     LBSLOGI(LOCATOR, "[GnssAbilityTest] RemoveGnssGeofence001 end");
1818 }
1819 
1820 HWTEST_F(GnssAbilityTest, RemoveGnssGeofence002, TestSize.Level1)
1821 {
1822     GTEST_LOG_(INFO)
1823         << "GnssAbilityTest, RemoveGnssGeofence002, TestSize.Level1";
1824     LBSLOGI(LOCATOR, "[GnssAbilityTest] RemoveGnssGeofence002 begin");
1825     std::shared_ptr<GeofenceRequest> request = nullptr;
1826     LocationErrCode result = ability_->RemoveGnssGeofence(request);
1827     EXPECT_EQ(ERRCODE_SERVICE_UNAVAILABLE, result);
1828     LBSLOGI(LOCATOR, "[GnssAbilityTest] RemoveGnssGeofence002 end");
1829 }
1830 
1831 HWTEST_F(GnssAbilityTest, RegisterGnssGeofenceCallback001, TestSize.Level1)
1832 {
1833     GTEST_LOG_(INFO)
1834         << "GnssAbilityTest, RegisterGnssGeofenceCallback001, TestSize.Level1";
1835     LBSLOGI(LOCATOR, "[GnssAbilityTest] RegisterGnssGeofenceCallback001 begin");
1836     std::shared_ptr<GeofenceRequest> request = nullptr;
1837     sptr<IRemoteObject> callback = nullptr;
1838     bool result = ability_->RegisterGnssGeofenceCallback(request, callback);
1839     EXPECT_EQ(false, result);
1840     LBSLOGI(LOCATOR, "[GnssAbilityTest] RegisterGnssGeofenceCallback001 end");
1841 }
1842 
1843 HWTEST_F(GnssAbilityTest, UnregisterGnssGeofenceCallback001, TestSize.Level1)
1844 {
1845     GTEST_LOG_(INFO)
1846         << "GnssAbilityTest, UnregisterGnssGeofenceCallback001, TestSize.Level1";
1847     LBSLOGI(LOCATOR, "[GnssAbilityTest] UnregisterGnssGeofenceCallback001 begin");
1848     int fenceId = 1;
1849     bool result = ability_->UnregisterGnssGeofenceCallback(fenceId);
1850     EXPECT_EQ(true, result);
1851     LBSLOGI(LOCATOR, "[GnssAbilityTest] UnregisterGnssGeofenceCallback001 end");
1852 }
1853 
1854 HWTEST_F(GnssAbilityTest, RemoveGnssGeofenceRequestByCallback001, TestSize.Level1)
1855 {
1856     GTEST_LOG_(INFO)
1857         << "GnssAbilityTest, RemoveGnssGeofenceRequestByCallback001, TestSize.Level1";
1858     LBSLOGI(LOCATOR, "[GnssAbilityTest] RemoveGnssGeofenceRequestByCallback001 begin");
1859     sptr<IRemoteObject> callbackObj = nullptr;
1860     bool result = ability_->RemoveGnssGeofenceRequestByCallback(callbackObj);
1861     EXPECT_EQ(false, result);
1862     LBSLOGI(LOCATOR, "[GnssAbilityTest] RemoveGnssGeofenceRequestByCallback001 end");
1863 }
1864 
1865 #ifdef HDF_DRIVERS_INTERFACE_GEOFENCE_ENABLE
1866 HWTEST_F(GnssAbilityTest, ReportGeofenceOperationResult001, TestSize.Level1)
1867 {
1868     GTEST_LOG_(INFO)
1869         << "GnssAbilityTest, ReportGeofenceOperationResult001, TestSize.Level1";
1870     LBSLOGI(LOCATOR, "[GnssAbilityTest] ReportGeofenceOperationResult001 begin");
1871     int fenceId = 0;
1872     GeofenceOperateType type = GeofenceOperateType::TYPE_DELETE;
1873     GeofenceOperateResult result = GeofenceOperateResult::GEOFENCE_OPERATION_SUCCESS;
1874     ability_->ReportGeofenceOperationResult(fenceId, type, result);
1875     LBSLOGI(LOCATOR, "[GnssAbilityTest] ReportGeofenceOperationResult001 end");
1876 }
1877 
1878 HWTEST_F(GnssAbilityTest, ReportGeofenceEvent001, TestSize.Level1)
1879 {
1880     GTEST_LOG_(INFO)
1881         << "GnssAbilityTest, ReportGeofenceEvent001, TestSize.Level1";
1882     LBSLOGI(LOCATOR, "[GnssAbilityTest] ReportGeofenceEvent001 begin");
1883     int fenceId = 0;
1884     GeofenceEvent event = GeofenceEvent::GEOFENCE_EVENT_ENTERED;
1885     ability_->ReportGeofenceEvent(fenceId, event);
1886     LBSLOGI(LOCATOR, "[GnssAbilityTest] ReportGeofenceEvent001 end");
1887 }
1888 
1889 HWTEST_F(GnssAbilityTest, GetGeofenceRequestByFenceId001, TestSize.Level1)
1890 {
1891     GTEST_LOG_(INFO)
1892         << "GnssAbilityTest, GetGeofenceRequestByFenceId001, TestSize.Level1";
1893     LBSLOGI(LOCATOR, "[GnssAbilityTest] GetGeofenceRequestByFenceId001 begin");
1894     int fenceId = 0;
1895     ability_->GetGeofenceRequestByFenceId(fenceId);
1896     LBSLOGI(LOCATOR, "[GnssAbilityTest] GetGeofenceRequestByFenceId001 end");
1897 }
1898 
1899 HWTEST_F(GnssAbilityTest, ExecuteFenceProcess001, TestSize.Level1)
1900 {
1901     GTEST_LOG_(INFO)
1902         << "GnssAbilityTest, ExecuteFenceProcess001, TestSize.Level1";
1903     LBSLOGI(LOCATOR, "[GnssAbilityTest] ExecuteFenceProcess001 begin");
1904     GnssInterfaceCode code= GnssInterfaceCode::ADD_FENCE_INFO;
1905     std::shared_ptr<GeofenceRequest> request = std::make_shared<GeofenceRequest>();
1906     ability_->ExecuteFenceProcess(code, request);
1907     LBSLOGI(LOCATOR, "[GnssAbilityTest] ExecuteFenceProcess001 end");
1908 }
1909 
1910 HWTEST_F(GnssAbilityTest, SetGeofenceCallback001, TestSize.Level1)
1911 {
1912     GTEST_LOG_(INFO)
1913         << "GnssAbilityTest, SetGeofenceCallback001, TestSize.Level1";
1914     LBSLOGI(LOCATOR, "[GnssAbilityTest] SetGeofenceCallback001 begin");
1915     ability_->SetGeofenceCallback();
1916     LBSLOGI(LOCATOR, "[GnssAbilityTest] SetGeofenceCallback001 end");
1917 }
1918 
1919 HWTEST_F(GnssAbilityTest, StopGnss001, TestSize.Level1)
1920 {
1921     GTEST_LOG_(INFO)
1922         << "GnssAbilityTest, StopGnss001, TestSize.Level1";
1923     LBSLOGI(LOCATOR, "[GnssAbilityTest] StopGnss001 begin");
1924     ability_->StopGnss();
1925     LBSLOGI(LOCATOR, "[GnssAbilityTest] StopGnss001 end");
1926 }
1927 
1928 HWTEST_F(GnssAbilityTest, RemoveHdi001, TestSize.Level1)
1929 {
1930     GTEST_LOG_(INFO)
1931         << "GnssAbilityTest, RemoveHdi001, TestSize.Level1";
1932     LBSLOGI(LOCATOR, "[GnssAbilityTest] RemoveHdi001 begin");
1933     ability_->RemoveHdi();
1934     LBSLOGI(LOCATOR, "[GnssAbilityTest] RemoveHdi001 end");
1935 }
1936 
1937 HWTEST_F(GnssAbilityTest, QuerySupportCoordinateSystemType001, TestSize.Level1)
1938 {
1939     GTEST_LOG_(INFO)
1940         << "GnssAbilityTest, QuerySupportCoordinateSystemType001, TestSize.Level1";
1941     LBSLOGI(LOCATOR, "[GnssAbilityTest] QuerySupportCoordinateSystemType001 begin");
1942     std::vector<CoordinateSystemType> coordinateSystemTypes;
1943     ability_->QuerySupportCoordinateSystemType(coordinateSystemTypes);
1944     LBSLOGI(LOCATOR, "[GnssAbilityTest] QuerySupportCoordinateSystemType001 end");
1945 }
1946 
1947 #endif
1948 
1949 HWTEST_F(GnssAbilityTest, ReConnectHdiImpl001, TestSize.Level1)
1950 {
1951     GTEST_LOG_(INFO)
1952         << "GnssAbilityTest, ReConnectHdiImpl001, TestSize.Level1";
1953     LBSLOGI(LOCATOR, "[GnssAbilityTest] ReConnectHdiImpl001 begin");
1954     ability_->ReConnectHdiImpl();
1955     LBSLOGI(LOCATOR, "[GnssAbilityTest] ReConnectHdiImpl001 end");
1956 }
1957 
1958 HWTEST_F(GnssAbilityTest, InjectTime001, TestSize.Level1)
1959 {
1960     GTEST_LOG_(INFO)
1961         << "GnssAbilityTest, InjectTime001, TestSize.Level1";
1962     LBSLOGI(LOCATOR, "[GnssAbilityTest] InjectTime001 begin");
1963     ability_->InjectTime();
1964     LBSLOGI(LOCATOR, "[GnssAbilityTest] InjectTime001 end");
1965 }
1966 
1967 HWTEST_F(GnssAbilityTest, SendNetworkLocation001, TestSize.Level1)
1968 {
1969     GTEST_LOG_(INFO)
1970         << "GnssAbilityTest, SendNetworkLocation001, TestSize.Level1";
1971     LBSLOGI(LOCATOR, "[GnssAbilityTest] SendNetworkLocation001 begin");
1972     std::unique_ptr<Location> location = nullptr;
1973     LocationErrCode result = ability_->SendNetworkLocation(location);
1974     EXPECT_EQ(ERRCODE_SERVICE_UNAVAILABLE, result);
1975     LBSLOGI(LOCATOR, "[GnssAbilityTest] SendNetworkLocation001 end");
1976 }
1977 
1978 HWTEST_F(GnssAbilityTest, SendNetworkLocation002, TestSize.Level1)
1979 {
1980     GTEST_LOG_(INFO)
1981         << "GnssAbilityTest, SendNetworkLocation002, TestSize.Level1";
1982     LBSLOGI(LOCATOR, "[GnssAbilityTest] SendNetworkLocation002 begin");
1983     std::unique_ptr<Location> location = std::make_unique<Location>();
1984     location->SetLatitude(31.2568);
1985     LocationErrCode result = ability_->SendNetworkLocation(location);
1986     EXPECT_EQ(ERRCODE_SERVICE_UNAVAILABLE, result);
1987     LBSLOGI(LOCATOR, "[GnssAbilityTest] SendNetworkLocation002 end");
1988 }
1989 
1990 HWTEST_F(GnssAbilityTest, AgnssNiManagerRun001, TestSize.Level1)
1991 {
1992     GTEST_LOG_(INFO)
1993         << "GnssAbilityTest, AgnssNiManagerRun001, TestSize.Level1";
1994     LBSLOGI(LOCATOR, "[GnssAbilityTest] AgnssNiManagerRun001 begin");
1995     auto agnssNiManager = AGnssNiManager::GetInstance();
1996     EXPECT_NE(nullptr, agnssNiManager);
1997     agnssNiManager->Run();
1998     LBSLOGI(LOCATOR, "[GnssAbilityTest] AgnssNiManagerRun001 end");
1999 }
2000 
2001 HWTEST_F(GnssAbilityTest, AgnssNiManagerUnRegisterAgnssNiEvent001, TestSize.Level1)
2002 {
2003     GTEST_LOG_(INFO)
2004         << "GnssAbilityTest, AgnssNiManagerUnRegisterAgnssNiEvent001, TestSize.Level1";
2005     LBSLOGI(LOCATOR, "[GnssAbilityTest] AgnssNiManagerUnRegisterAgnssNiEvent001 begin");
2006     auto agnssNiManager = AGnssNiManager::GetInstance();
2007     EXPECT_NE(nullptr, agnssNiManager);
2008     agnssNiManager->UnRegisterAgnssNiEvent();
2009     LBSLOGI(LOCATOR, "[GnssAbilityTest] AgnssNiManagerUnRegisterAgnssNiEvent001 end");
2010 }
2011 
2012 HWTEST_F(GnssAbilityTest, AgnssNiManagerCheckSmsSuplInit001, TestSize.Level1)
2013 {
2014     GTEST_LOG_(INFO)
2015         << "GnssAbilityTest, AgnssNiManagerCheckSmsSuplInit001, TestSize.Level1";
2016     LBSLOGI(LOCATOR, "[GnssAbilityTest] AgnssNiManagerCheckSmsSuplInit001 begin");
2017     auto agnssNiManager = AGnssNiManager::GetInstance();
2018     EXPECT_NE(nullptr, agnssNiManager);
2019     EventFwk::Want want;
2020     want.SetParam("slotId", 0);
2021     std::vector<std::string> newPdus = {"0891683108200075F4240D91688129562983F600001240800102142302C130"};
2022     want.SetParam("pdus", newPdus);
2023     want.SetParam("isCdma", true);
2024     agnssNiManager->CheckSmsSuplInit(want);
2025     LBSLOGI(LOCATOR, "[GnssAbilityTest] AgnssNiManagerCheckSmsSuplInit001 end");
2026 }
2027 
2028 HWTEST_F(GnssAbilityTest, AgnssNiManagerCheckWapSuplInit001, TestSize.Level1)
2029 {
2030     GTEST_LOG_(INFO)
2031         << "GnssAbilityTest, AgnssNiManagerCheckWapSuplInit001, TestSize.Level1";
2032     LBSLOGI(LOCATOR, "[GnssAbilityTest] AgnssNiManagerCheckWapSuplInit001 begin");
2033     auto agnssNiManager = AGnssNiManager::GetInstance();
2034     EXPECT_NE(nullptr, agnssNiManager);
2035     EventFwk::Want want;
2036     want.SetParam("slotId", 0);
2037     std::string appId = "16";
2038     want.SetParam("applicationId", appId);
2039     agnssNiManager->CheckWapSuplInit(want);
2040     LBSLOGI(LOCATOR, "[GnssAbilityTest] AgnssNiManagerCheckWapSuplInit001 end");
2041 }
2042 
2043 HWTEST_F(GnssAbilityTest, AgnssNiManagerCheckWapSuplInit002, TestSize.Level1)
2044 {
2045     GTEST_LOG_(INFO)
2046         << "GnssAbilityTest, AgnssNiManagerCheckWapSuplInit002, TestSize.Level1";
2047     LBSLOGI(LOCATOR, "[GnssAbilityTest] AgnssNiManagerCheckWapSuplInit002 begin");
2048     auto agnssNiManager = AGnssNiManager::GetInstance();
2049     EXPECT_NE(nullptr, agnssNiManager);
2050     EventFwk::Want want;
2051     want.SetParam("slotId", 0);
2052     std::string appId = "0";
2053     want.SetParam("applicationId", appId);
2054     std::string rawData = "0891683108200075F4240D91688129562983F600001240800102142302C130";
2055     want.SetParam("rawData", rawData);
2056     agnssNiManager->CheckWapSuplInit(want);
2057     LBSLOGI(LOCATOR, "[GnssAbilityTest] AgnssNiManagerCheckWapSuplInit002 end");
2058 }
2059 
2060 HWTEST_F(GnssAbilityTest, AgnssNiManagerOnCallStateChanged001, TestSize.Level1)
2061 {
2062     GTEST_LOG_(INFO)
2063         << "GnssAbilityTest, AgnssNiManagerOnCallStateChanged001, TestSize.Level1";
2064     LBSLOGI(LOCATOR, "[GnssAbilityTest] AgnssNiManagerOnCallStateChanged001 begin");
2065     auto agnssNiManager = AGnssNiManager::GetInstance();
2066     EXPECT_NE(nullptr, agnssNiManager);
2067     EventFwk::Want want;
2068     want.SetParam("state", (int32_t)Telephony::TelCallState::CALL_STATUS_DIALING);
2069     want.SetParam("slotId", 0);
2070     std::string number = "110";
2071     want.SetParam("number", number);
2072     agnssNiManager->OnCallStateChanged(want);
2073     LBSLOGI(LOCATOR, "[GnssAbilityTest] AgnssNiManagerOnCallStateChanged001 end");
2074 }
2075 
2076 HWTEST_F(GnssAbilityTest, AgnssNiManagerSendUserResponse001, TestSize.Level1)
2077 {
2078     GTEST_LOG_(INFO)
2079         << "GnssAbilityTest, AgnssNiManagerSendUserResponse001, TestSize.Level1";
2080     LBSLOGI(LOCATOR, "[GnssAbilityTest] AgnssNiManagerSendUserResponse001 begin");
2081     auto agnssNiManager = AGnssNiManager::GetInstance();
2082     EXPECT_NE(nullptr, agnssNiManager);
2083     agnssNiManager->SendUserResponse(GNSS_NI_RESPONSE_CMD_ACCEPT);
2084     LBSLOGI(LOCATOR, "[GnssAbilityTest] AgnssNiManagerSendUserResponse001 end");
2085 }
2086 
2087 HWTEST_F(GnssAbilityTest, AgnssNiManagerSendUserResponse002, TestSize.Level1)
2088 {
2089     GTEST_LOG_(INFO)
2090         << "GnssAbilityTest, AgnssNiManagerSendUserResponse002, TestSize.Level1";
2091     LBSLOGI(LOCATOR, "[GnssAbilityTest] AgnssNiManagerSendUserResponse002 begin");
2092     auto agnssNiManager = AGnssNiManager::GetInstance();
2093     EXPECT_NE(nullptr, agnssNiManager);
2094     agnssNiManager->SendUserResponse(GNSS_NI_RESPONSE_CMD_ACCEPT);
2095     LBSLOGI(LOCATOR, "[GnssAbilityTest] AgnssNiManagerSendUserResponse002 end");
2096 }
2097 
2098 HWTEST_F(GnssAbilityTest, AgnssNiManagerOnAddSystemAbility001, TestSize.Level1)
2099 {
2100     GTEST_LOG_(INFO)
2101         << "GnssAbilityTest, AgnssNiManagerOnAddSystemAbility001, TestSize.Level1";
2102     LBSLOGI(LOCATOR, "[GnssAbilityTest] AgnssNiManagerOnAddSystemAbility001 begin");
2103     auto statusChangeListener = new SystemAbilityStatusChangeListener();
2104     int32_t systemAbilityId = -1;
2105     const std::string deviceId = "test";
2106     statusChangeListener->OnAddSystemAbility(systemAbilityId, deviceId);
2107     LBSLOGI(LOCATOR, "[GnssAbilityTest] AgnssNiManagerOnAddSystemAbility001 end");
2108 }
2109 
2110 HWTEST_F(GnssAbilityTest, AgnssNiManagerOnAddSystemAbility002, TestSize.Level1)
2111 {
2112     GTEST_LOG_(INFO)
2113         << "GnssAbilityTest, AgnssNiManagerOnAddSystemAbility002, TestSize.Level1";
2114     LBSLOGI(LOCATOR, "[GnssAbilityTest] AgnssNiManagerOnAddSystemAbility002 begin");
2115     auto statusChangeListener = new SystemAbilityStatusChangeListener();
2116     int32_t systemAbilityId = COMMON_EVENT_SERVICE_ID;
2117     const std::string deviceId = "test";
2118     statusChangeListener->OnAddSystemAbility(systemAbilityId, deviceId);
2119     LBSLOGI(LOCATOR, "[GnssAbilityTest] AgnssNiManagerOnAddSystemAbility002 end");
2120 }
2121 
2122 HWTEST_F(GnssAbilityTest, AgnssNiManagerOnRemoveSystemAbility001, TestSize.Level1)
2123 {
2124     GTEST_LOG_(INFO)
2125         << "GnssAbilityTest, AgnssNiManagerOnRemoveSystemAbility001, TestSize.Level1";
2126     LBSLOGI(LOCATOR, "[GnssAbilityTest] AgnssNiManagerOnRemoveSystemAbility001 begin");
2127     auto statusChangeListener = new SystemAbilityStatusChangeListener();
2128     int32_t systemAbilityId = -1;
2129     const std::string deviceId = "test";
2130     statusChangeListener->OnRemoveSystemAbility(systemAbilityId, deviceId);
2131     LBSLOGI(LOCATOR, "[GnssAbilityTest] AgnssNiManagerOnRemoveSystemAbility001 end");
2132 }
2133 
2134 HWTEST_F(GnssAbilityTest, AgnssNiManagerOnRemoveSystemAbility002, TestSize.Level1)
2135 {
2136     GTEST_LOG_(INFO)
2137         << "GnssAbilityTest, AgnssNiManagerOnRemoveSystemAbility002, TestSize.Level1";
2138     LBSLOGI(LOCATOR, "[GnssAbilityTest] AgnssNiManagerOnRemoveSystemAbility002 begin");
2139     auto statusChangeListener = new SystemAbilityStatusChangeListener();
2140     int32_t systemAbilityId = COMMON_EVENT_SERVICE_ID;
2141     const std::string deviceId = "test";
2142     statusChangeListener->OnRemoveSystemAbility(systemAbilityId, deviceId);
2143     LBSLOGI(LOCATOR, "[GnssAbilityTest] AgnssNiManagerOnRemoveSystemAbility002 end");
2144 }
2145 
2146 HWTEST_F(GnssAbilityTest, StringUtilsStringToHex001, TestSize.Level1)
2147 {
2148     GTEST_LOG_(INFO)
2149         << "GnssAbilityTest, StringUtilsStringToHex001, TestSize.Level1";
2150     LBSLOGI(LOCATOR, "[GnssAbilityTest] StringUtilsStringToHex001 begin");
2151     std::string str = "0314";
2152     EXPECT_NE("", StringUtils::StringToHex(str));
2153     LBSLOGI(LOCATOR, "[GnssAbilityTest] StringUtilsStringToHex001 end");
2154 }
2155 
2156 HWTEST_F(GnssAbilityTest, StringUtilsStringToHex002, TestSize.Level1)
2157 {
2158     GTEST_LOG_(INFO)
2159         << "GnssAbilityTest, StringUtilsStringToHex002, TestSize.Level1";
2160     LBSLOGI(LOCATOR, "[GnssAbilityTest] StringUtilsStringToHex002 begin");
2161     const char *data = "0314";
2162     int byteLength = 4;
2163     EXPECT_NE("", StringUtils::StringToHex(data, byteLength));
2164     LBSLOGI(LOCATOR, "[GnssAbilityTest] StringUtilsStringToHex002 end");
2165 }
2166 
2167 HWTEST_F(GnssAbilityTest, StringUtilsStringToHex003, TestSize.Level1)
2168 {
2169     GTEST_LOG_(INFO)
2170         << "GnssAbilityTest, StringUtilsStringToHex003, TestSize.Level1";
2171     LBSLOGI(LOCATOR, "[GnssAbilityTest] StringUtilsStringToHex003 begin");
2172     std::vector<uint8_t> data = {0, 3, 1, 4};
2173     EXPECT_NE("", StringUtils::StringToHex(data));
2174     LBSLOGI(LOCATOR, "[GnssAbilityTest] StringUtilsStringToHex003 end");
2175 }
2176 
2177 HWTEST_F(GnssAbilityTest, StringUtilsHexToString001, TestSize.Level1)
2178 {
2179     GTEST_LOG_(INFO)
2180         << "GnssAbilityTest, StringUtilsHexToString001, TestSize.Level1";
2181     LBSLOGI(LOCATOR, "[GnssAbilityTest] StringUtilsHexToString001 begin");
2182     std::string str = "0314";
2183     EXPECT_NE("", StringUtils::HexToString(str));
2184     LBSLOGI(LOCATOR, "[GnssAbilityTest] StringUtilsHexToString001 end");
2185 }
2186 
2187 HWTEST_F(GnssAbilityTest, StringUtilsHexToString002, TestSize.Level1)
2188 {
2189     GTEST_LOG_(INFO)
2190         << "GnssAbilityTest, StringUtilsHexToString002, TestSize.Level1";
2191     LBSLOGI(LOCATOR, "[GnssAbilityTest] StringUtilsHexToString002 begin");
2192     std::string str = "";
2193     EXPECT_EQ("", StringUtils::HexToString(str));
2194     LBSLOGI(LOCATOR, "[GnssAbilityTest] StringUtilsHexToString002 end");
2195 }
2196 
2197 HWTEST_F(GnssAbilityTest, StringUtilsToUtf8001, TestSize.Level1)
2198 {
2199     GTEST_LOG_(INFO)
2200         << "GnssAbilityTest, StringUtilsToUtf8001, TestSize.Level1";
2201     LBSLOGI(LOCATOR, "[GnssAbilityTest] StringUtilsToUtf8001 begin");
2202     std::u16string str = u"hello, world!";
2203     EXPECT_NE("", StringUtils::ToUtf8(str));
2204     LBSLOGI(LOCATOR, "[GnssAbilityTest] StringUtilsToUtf8001 end");
2205 }
2206 
2207 HWTEST_F(GnssAbilityTest, StringUtilsToUtf8002, TestSize.Level1)
2208 {
2209     GTEST_LOG_(INFO)
2210         << "GnssAbilityTest, StringUtilsToUtf8002, TestSize.Level1";
2211     LBSLOGI(LOCATOR, "[GnssAbilityTest] StringUtilsToUtf8002 begin");
2212     std::u16string str = u"";
2213     EXPECT_EQ("", StringUtils::ToUtf8(str));
2214     LBSLOGI(LOCATOR, "[GnssAbilityTest] StringUtilsToUtf8002 end");
2215 }
2216 
2217 HWTEST_F(GnssAbilityTest, StringUtilsToUtf16001, TestSize.Level1)
2218 {
2219     GTEST_LOG_(INFO)
2220         << "GnssAbilityTest, StringUtilsToUtf16001, TestSize.Level1";
2221     LBSLOGI(LOCATOR, "[GnssAbilityTest] StringUtilsToUtf16001 begin");
2222     std::string str = "0314";
2223     EXPECT_NE(u"", StringUtils::ToUtf16(str));
2224     LBSLOGI(LOCATOR, "[GnssAbilityTest] StringUtilsToUtf16001 end");
2225 }
2226 
2227 HWTEST_F(GnssAbilityTest, StringUtilsToUtf16002, TestSize.Level1)
2228 {
2229     GTEST_LOG_(INFO)
2230         << "GnssAbilityTest, StringUtilsToUtf16002, TestSize.Level1";
2231     LBSLOGI(LOCATOR, "[GnssAbilityTest] StringUtilsToUtf16002 begin");
2232     std::string str = "";
2233     EXPECT_EQ(u"", StringUtils::ToUtf16(str));
2234     LBSLOGI(LOCATOR, "[GnssAbilityTest] StringUtilsToUtf16002 end");
2235 }
2236 
2237 HWTEST_F(GnssAbilityTest, StringUtilsUtf8ToWstring001, TestSize.Level1)
2238 {
2239     GTEST_LOG_(INFO)
2240         << "GnssAbilityTest, StringUtilsUtf8ToWstring001, TestSize.Level1";
2241     LBSLOGI(LOCATOR, "[GnssAbilityTest] StringUtilsUtf8ToWstring001 begin");
2242     std::string str = "hello world";
2243     EXPECT_NE(L"", StringUtils::Utf8ToWstring(str));
2244     LBSLOGI(LOCATOR, "[GnssAbilityTest] StringUtilsUtf8ToWstring001 end");
2245 }
2246 
2247 HWTEST_F(GnssAbilityTest, StringUtilsUcs2ToWstring001, TestSize.Level1)
2248 {
2249     GTEST_LOG_(INFO)
2250         << "GnssAbilityTest, StringUtilsUcs2ToWstring001, TestSize.Level1";
2251     LBSLOGI(LOCATOR, "[GnssAbilityTest] StringUtilsUcs2ToWstring001 begin");
2252     std::string str = "0xD869";
2253     EXPECT_NE(L"", StringUtils::Ucs2ToWstring(str));
2254     LBSLOGI(LOCATOR, "[GnssAbilityTest] StringUtilsUcs2ToWstring001 end");
2255 }
2256 
2257 HWTEST_F(GnssAbilityTest, StringUtilsWstringToString001, TestSize.Level1)
2258 {
2259     GTEST_LOG_(INFO)
2260         << "GnssAbilityTest, StringUtilsWstringToString001, TestSize.Level1";
2261     LBSLOGI(LOCATOR, "[GnssAbilityTest] StringUtilsWstringToString001 begin");
2262     std::wstring str = L"中文";
2263     EXPECT_NE("", StringUtils::WstringToString(str));
2264     LBSLOGI(LOCATOR, "[GnssAbilityTest] StringUtilsWstringToString001 end");
2265 }
2266 
2267 HWTEST_F(GnssAbilityTest, StringUtilsHexToByteVector001, TestSize.Level1)
2268 {
2269     GTEST_LOG_(INFO)
2270         << "GnssAbilityTest, StringUtilsHexToByteVector001, TestSize.Level1";
2271     LBSLOGI(LOCATOR, "[GnssAbilityTest] StringUtilsHexToByteVector001 begin");
2272     std::string str = "0314";
2273     std::vector<uint8_t> ret = StringUtils::HexToByteVector(str);
2274     EXPECT_NE(0, ret.size());
2275     LBSLOGI(LOCATOR, "[GnssAbilityTest] StringUtilsHexToByteVector001 end");
2276 }
2277 
2278 HWTEST_F(GnssAbilityTest, StringUtilsHexToByteVector002, TestSize.Level1)
2279 {
2280     GTEST_LOG_(INFO)
2281         << "GnssAbilityTest, StringUtilsHexToByteVector002, TestSize.Level1";
2282     LBSLOGI(LOCATOR, "[GnssAbilityTest] StringUtilsHexToByteVector002 begin");
2283     std::string str = "ABCDEF";
2284     std::vector<uint8_t> ret = StringUtils::HexToByteVector(str);
2285     EXPECT_NE(0, ret.size());
2286     LBSLOGI(LOCATOR, "[GnssAbilityTest] StringUtilsHexToByteVector002 end");
2287 }
2288 
2289 HWTEST_F(GnssAbilityTest, StringUtilsHexToByteVector003, TestSize.Level1)
2290 {
2291     GTEST_LOG_(INFO)
2292         << "GnssAbilityTest, StringUtilsHexToByteVector003, TestSize.Level1";
2293     LBSLOGI(LOCATOR, "[GnssAbilityTest] StringUtilsHexToByteVector003 begin");
2294     std::string str = "abcdef";
2295     std::vector<uint8_t> ret = StringUtils::HexToByteVector(str);
2296     EXPECT_NE(0, ret.size());
2297     LBSLOGI(LOCATOR, "[GnssAbilityTest] StringUtilsHexToByteVector003 end");
2298 }
2299 
2300 HWTEST_F(GnssAbilityTest, StringUtilsHexToByteVector004, TestSize.Level1)
2301 {
2302     GTEST_LOG_(INFO)
2303         << "GnssAbilityTest, StringUtilsHexToByteVector003, TestSize.Level1";
2304     LBSLOGI(LOCATOR, "[GnssAbilityTest] StringUtilsHexToByteVector003 begin");
2305     std::string str = "";
2306     std::vector<uint8_t> ret = StringUtils::HexToByteVector(str);
2307     EXPECT_EQ(0, ret.size());
2308     LBSLOGI(LOCATOR, "[GnssAbilityTest] StringUtilsHexToByteVector003 end");
2309 }
2310 
2311 HWTEST_F(GnssAbilityTest, StringUtilsHexToByteVector005, TestSize.Level1)
2312 {
2313     GTEST_LOG_(INFO)
2314         << "GnssAbilityTest, StringUtilsHexToByteVector005, TestSize.Level1";
2315     LBSLOGI(LOCATOR, "[GnssAbilityTest] StringUtilsHexToByteVector005 begin");
2316     std::string str = "     ";
2317     std::vector<uint8_t> ret = StringUtils::HexToByteVector(str);
2318     EXPECT_EQ(2, ret.size());
2319     LBSLOGI(LOCATOR, "[GnssAbilityTest] StringUtilsHexToByteVector005 end");
2320 }
2321 
2322 HWTEST_F(GnssAbilityTest, StringUtilsGsm7Decode001, TestSize.Level1)
2323 {
2324     GTEST_LOG_(INFO)
2325         << "GnssAbilityTest, StringUtilsGsm7Decode001, TestSize.Level1";
2326     LBSLOGI(LOCATOR, "[GnssAbilityTest] StringUtilsGsm7Decode001 begin");
2327     std::string gsm7Str = "ABCDEFGHI";
2328     EXPECT_NE("", StringUtils::Gsm7Decode(gsm7Str));
2329     LBSLOGI(LOCATOR, "[GnssAbilityTest] StringUtilsGsm7Decode001 end");
2330 }
2331 
2332 HWTEST_F(GnssAbilityTest, StringUtilsGsm7Decode002, TestSize.Level1)
2333 {
2334     GTEST_LOG_(INFO)
2335         << "GnssAbilityTest, StringUtilsGsm7Decode002, TestSize.Level1";
2336     LBSLOGI(LOCATOR, "[GnssAbilityTest] StringUtilsGsm7Decode002 begin");
2337     std::string gsm7Str = "abcdefg";
2338     EXPECT_NE("", StringUtils::Gsm7Decode(gsm7Str));
2339     LBSLOGI(LOCATOR, "[GnssAbilityTest] StringUtilsGsm7Decode002 end");
2340 }
2341 
2342 HWTEST_F(GnssAbilityTest, StringUtilsGsm7Decode003, TestSize.Level1)
2343 {
2344     GTEST_LOG_(INFO)
2345         << "GnssAbilityTest, StringUtilsGsm7Decode003, TestSize.Level1";
2346     LBSLOGI(LOCATOR, "[GnssAbilityTest] StringUtilsGsm7Decode003 begin");
2347     std::string gsm7Str = "   ";
2348     EXPECT_NE("", StringUtils::Gsm7Decode(gsm7Str));
2349     LBSLOGI(LOCATOR, "[GnssAbilityTest] StringUtilsGsm7Decode003 end");
2350 }
2351 
2352 HWTEST_F(GnssAbilityTest, GnssStatusCallbackDeathRecipient001, TestSize.Level1)
2353 {
2354     GTEST_LOG_(INFO)
2355         << "GnssAbilityTest, GnssStatusCallbackDeathRecipient001, TestSize.Level1";
2356     LBSLOGI(LOCATOR, "[GnssAbilityTest] GnssStatusCallbackDeathRecipient001 begin");
2357     auto gnssStatusCallbackDeathRecipient = new (std::nothrow) GnssStatusCallbackDeathRecipient();
2358     EXPECT_NE(nullptr, gnssStatusCallbackDeathRecipient);
2359     wptr<IRemoteObject> remote;
2360     gnssStatusCallbackDeathRecipient->OnRemoteDied(remote);
2361     LBSLOGI(LOCATOR, "[GnssAbilityTest] GnssStatusCallbackDeathRecipient001 end");
2362 }
2363 
2364 HWTEST_F(GnssAbilityTest, NmeaCallbackDeathRecipient001, TestSize.Level1)
2365 {
2366     GTEST_LOG_(INFO)
2367         << "GnssAbilityTest, NmeaCallbackDeathRecipient001, TestSize.Level1";
2368     LBSLOGI(LOCATOR, "[GnssAbilityTest] NmeaCallbackDeathRecipient001 begin");
2369     auto nmeaCallbackDeathRecipient = new (std::nothrow) NmeaCallbackDeathRecipient();
2370     EXPECT_NE(nullptr, nmeaCallbackDeathRecipient);
2371     wptr<IRemoteObject> remote;
2372     nmeaCallbackDeathRecipient->OnRemoteDied(remote);
2373     LBSLOGI(LOCATOR, "[GnssAbilityTest] NmeaCallbackDeathRecipient001 end");
2374 }
2375 
2376 HWTEST_F(GnssAbilityTest, CachedLocationCallbackDeathRecipient001, TestSize.Level1)
2377 {
2378     GTEST_LOG_(INFO)
2379         << "GnssAbilityTest, CachedLocationCallbackDeathRecipient001, TestSize.Level1";
2380     LBSLOGI(LOCATOR, "[GnssAbilityTest] CachedLocationCallbackDeathRecipient001 begin");
2381     auto cachedLocationCallbackDeathRecipient = new (std::nothrow) CachedLocationCallbackDeathRecipient();
2382     EXPECT_NE(nullptr, cachedLocationCallbackDeathRecipient);
2383     wptr<IRemoteObject> remote;
2384     cachedLocationCallbackDeathRecipient->OnRemoteDied(remote);
2385     LBSLOGI(LOCATOR, "[GnssAbilityTest] CachedLocationCallbackDeathRecipient001 end");
2386 }
2387 
2388 HWTEST_F(GnssAbilityTest, GnssGeofenceCallbackDeathRecipient001, TestSize.Level1)
2389 {
2390     GTEST_LOG_(INFO)
2391         << "GnssAbilityTest, GnssGeofenceCallbackDeathRecipient001, TestSize.Level1";
2392     LBSLOGI(LOCATOR, "[GnssAbilityTest] GnssGeofenceCallbackDeathRecipient001 begin");
2393     auto gnssGeofenceCallbackDeathRecipient = new (std::nothrow) GnssGeofenceCallbackDeathRecipient();
2394     EXPECT_NE(nullptr, gnssGeofenceCallbackDeathRecipient);
2395     wptr<IRemoteObject> remote;
2396     gnssGeofenceCallbackDeathRecipient->OnRemoteDied(remote);
2397     LBSLOGI(LOCATOR, "[GnssAbilityTest] GnssGeofenceCallbackDeathRecipient001 end");
2398 }
2399 
2400 HWTEST_F(GnssAbilityTest, ReConnectHdiImpl002, TestSize.Level1)
2401 {
2402     GTEST_LOG_(INFO)
2403         << "GnssAbilityTest, ReConnectHdiImpl002, TestSize.Level1";
2404     LBSLOGI(LOCATOR, "[GnssAbilityTest] ReConnectHdiImpl002 begin");
2405     ability_->gnssWorkingStatus_ = GNSS_WORKING_STATUS_SESSION_BEGIN;
2406     ability_->ReConnectHdiImpl();
2407     LBSLOGI(LOCATOR, "[GnssAbilityTest] ReConnectHdiImpl002 end");
2408 }
2409 
2410 HWTEST_F(GnssAbilityTest, UnloadGnssSystemAbility001, TestSize.Level1)
2411 {
2412     GTEST_LOG_(INFO)
2413         << "GnssAbilityTest, UnloadGnssSystemAbility001, TestSize.Level1";
2414     LBSLOGI(LOCATOR, "[GnssAbilityTest] UnloadGnssSystemAbility001 begin");
2415     ability_->UnloadGnssSystemAbility();
2416     LBSLOGI(LOCATOR, "[GnssAbilityTest] UnloadGnssSystemAbility001 end");
2417 }
2418 
2419 HWTEST_F(GnssAbilityTest, UnloadGnssSystemAbility002, TestSize.Level1)
2420 {
2421     GTEST_LOG_(INFO)
2422         << "GnssAbilityTest, UnloadGnssSystemAbility002, TestSize.Level1";
2423     LBSLOGI(LOCATOR, "[GnssAbilityTest] UnloadGnssSystemAbility002 begin");
2424     ability_->UnloadGnssSystemAbility();
2425     LBSLOGI(LOCATOR, "[GnssAbilityTest] UnloadGnssSystemAbility002 end");
2426 }
2427 
2428 HWTEST_F(GnssAbilityTest, UnloadGnssSystemAbility003, TestSize.Level1)
2429 {
2430     GTEST_LOG_(INFO)
2431         << "GnssAbilityTest, UnloadGnssSystemAbility003, TestSize.Level1";
2432     LBSLOGI(LOCATOR, "[GnssAbilityTest] UnloadGnssSystemAbility003 begin");
2433     ability_->gnssHandler_ == std::make_shared<GnssHandler>(AppExecFwk::EventRunner::Create(true));
2434     ability_->UnloadGnssSystemAbility();
2435     LBSLOGI(LOCATOR, "[GnssAbilityTest] UnloadGnssSystemAbility003 end");
2436 }
2437 
2438 HWTEST_F(GnssAbilityTest, SetPositionMode002, TestSize.Level1)
2439 {
2440     GTEST_LOG_(INFO)
2441         << "GnssAbilityTest, SetPositionMode002, TestSize.Level1";
2442     LBSLOGI(LOCATOR, "[GnssAbilityTest] SetPositionMode002 begin");
2443     ability_->SetPositionMode();
2444     LBSLOGI(LOCATOR, "[GnssAbilityTest] SetPositionMode002 end");
2445 }
2446 
2447 HWTEST_F(GnssAbilityTest, InjectTime002, TestSize.Level1)
2448 {
2449     GTEST_LOG_(INFO)
2450         << "GnssAbilityTest, InjectTime002, TestSize.Level1";
2451     LBSLOGI(LOCATOR, "[GnssAbilityTest] InjectTime002 begin");
2452     ability_->InjectTime();
2453     LBSLOGI(LOCATOR, "[GnssAbilityTest] InjectTime002 end");
2454 }
2455 
2456 HWTEST_F(GnssAbilityTest, InjectLocation001, TestSize.Level1)
2457 {
2458     GTEST_LOG_(INFO)
2459         << "GnssAbilityTest, InjectLocation001, TestSize.Level1";
2460     LBSLOGI(LOCATOR, "[GnssAbilityTest] InjectLocation001 begin");
2461     auto location = std::make_unique<Location>();
2462     ability_->nlpLocation_ = *location;
2463     ability_->nlpLocation_.SetAccuracy(1e-9);
2464     ability_->nlpLocation_.SetTimeStamp(0);
2465     ability_->InjectLocation();
2466     ability_->nlpLocation_.SetTimeStamp(1);
2467     ability_->InjectLocation();
2468     LBSLOGI(LOCATOR, "[GnssAbilityTest] InjectLocation001 end");
2469 }
2470 
2471 HWTEST_F(GnssAbilityTest, InjectLocation002, TestSize.Level1)
2472 {
2473     GTEST_LOG_(INFO)
2474         << "GnssAbilityTest, InjectLocation002, TestSize.Level1";
2475     LBSLOGI(LOCATOR, "[GnssAbilityTest] InjectLocation002 begin");
2476     auto location = std::make_unique<Location>();
2477     ability_->nlpLocation_ = *location;
2478     ability_->nlpLocation_.SetAccuracy(1e-10);
2479     ability_->nlpLocation_.SetTimeStamp(0);
2480     ability_->InjectLocation();
2481     ability_->nlpLocation_.SetTimeStamp(1);
2482     ability_->InjectLocation();
2483     LBSLOGI(LOCATOR, "[GnssAbilityTest] InjectLocation002 end");
2484 }
2485 
2486 HWTEST_F(GnssAbilityTest, AddGnssGeofence002, TestSize.Level1)
2487 {
2488     GTEST_LOG_(INFO)
2489         << "GnssAbilityTest, AddGnssGeofence002, TestSize.Level1";
2490     LBSLOGI(LOCATOR, "[GnssAbilityTest] AddGnssGeofence002 begin");
2491     std::shared_ptr<GeofenceRequest> request = std::make_shared<GeofenceRequest>();
2492     LocationErrCode result = ability_->AddGnssGeofence(request);
2493     EXPECT_EQ(ERRCODE_SERVICE_UNAVAILABLE, result);
2494     LBSLOGI(LOCATOR, "[GnssAbilityTest] AddGnssGeofence002 end");
2495 }
2496 
2497 HWTEST_F(GnssAbilityTest, RegisterGnssGeofenceCallback002, TestSize.Level1)
2498 {
2499     GTEST_LOG_(INFO)
2500         << "GnssAbilityTest, RegisterGnssGeofenceCallback002, TestSize.Level1";
2501     LBSLOGI(LOCATOR, "[GnssAbilityTest] RegisterGnssGeofenceCallback002 begin");
2502     std::shared_ptr<GeofenceRequest> request = std::make_shared<GeofenceRequest>();
2503     sptr<IRemoteObject> callback = CommonUtils::GetRemoteObject(LOCATION_GNSS_SA_ID, CommonUtils::InitDeviceId());
2504     EXPECT_EQ(nullptr, callback);
2505     ability_->RegisterGnssGeofenceCallback(request, callback);
2506     callback = nullptr;
2507     ability_->RegisterGnssGeofenceCallback(request, callback);
2508     LBSLOGI(LOCATOR, "[GnssAbilityTest] RegisterGnssGeofenceCallback002 end");
2509 }
2510 
2511 HWTEST_F(GnssAbilityTest, RemoveGnssGeofenceRequestByCallback002, TestSize.Level1)
2512 {
2513     GTEST_LOG_(INFO)
2514         << "GnssAbilityTest, RemoveGnssGeofenceRequestByCallback002, TestSize.Level1";
2515     LBSLOGI(LOCATOR, "[GnssAbilityTest] RemoveGnssGeofenceRequestByCallback002 begin");
2516     sptr<IRemoteObject> callback = CommonUtils::GetRemoteObject(LOCATION_GNSS_SA_ID, CommonUtils::InitDeviceId());
2517     bool result = ability_->RemoveGnssGeofenceRequestByCallback(callback);
2518     EXPECT_EQ(false, result);
2519     LBSLOGI(LOCATOR, "[GnssAbilityTest] RemoveGnssGeofenceRequestByCallback002 end");
2520 }
2521 
2522 HWTEST_F(GnssAbilityTest, DisableGnss002, TestSize.Level1)
2523 {
2524     GTEST_LOG_(INFO)
2525         << "GnssAbilityTest, DisableGnss002, TestSize.Level1";
2526     LBSLOGI(LOCATOR, "[GnssAbilityTest] DisableGnss002 begin");
2527     ability_->DisableGnss();
2528     ability_->gnssWorkingStatus_ = GNSS_WORKING_STATUS_ENGINE_OFF;
2529     ability_->DisableGnss();
2530     ability_->gnssWorkingStatus_ = GNSS_WORKING_STATUS_NONE;
2531     ability_->DisableGnss();
2532     LBSLOGI(LOCATOR, "[GnssAbilityTest] DisableGnss002 end");
2533 }
2534 
2535 HWTEST_F(GnssAbilityTest, StopGnss002, TestSize.Level1)
2536 {
2537     GTEST_LOG_(INFO)
2538         << "GnssAbilityTest, StopGnss002, TestSize.Level1";
2539     LBSLOGI(LOCATOR, "[GnssAbilityTest] StopGnss002 begin");
2540     ability_->StopGnss();
2541     ability_->gnssWorkingStatus_ = GNSS_WORKING_STATUS_ENGINE_OFF;
2542     ability_->StopGnss();
2543     ability_->gnssWorkingStatus_ = GNSS_WORKING_STATUS_NONE;
2544     ability_->StopGnss();
2545     LBSLOGI(LOCATOR, "[GnssAbilityTest] StopGnss002 end");
2546 }
2547 
2548 HWTEST_F(GnssAbilityTest, IsDeviceLoaded001, TestSize.Level1)
2549 {
2550     GTEST_LOG_(INFO)
2551         << "GnssAbilityTest, IsDeviceLoaded001, TestSize.Level1";
2552     LBSLOGI(LOCATOR, "[GnssAbilityTest] IsDeviceLoaded001 begin");
2553     std::string servName = "servName";
2554     ability_->IsDeviceLoaded(servName);
2555     LBSLOGI(LOCATOR, "[GnssAbilityTest] IsDeviceLoaded001 end");
2556 }
2557 
2558 HWTEST_F(GnssAbilityTest, ConnectGnssHdi001, TestSize.Level1)
2559 {
2560     GTEST_LOG_(INFO)
2561         << "GnssAbilityTest, ConnectGnssHdi001, TestSize.Level1";
2562     LBSLOGI(LOCATOR, "[GnssAbilityTest] ConnectGnssHdi001 begin");
2563     ability_->ConnectGnssHdi();
2564     LBSLOGI(LOCATOR, "[GnssAbilityTest] ConnectGnssHdi001 end");
2565 }
2566 
2567 HWTEST_F(GnssAbilityTest, ConnectAgnssHdi001, TestSize.Level1)
2568 {
2569     GTEST_LOG_(INFO)
2570         << "GnssAbilityTest, ConnectAgnssHdi001, TestSize.Level1";
2571     LBSLOGI(LOCATOR, "[GnssAbilityTest] ConnectAgnssHdi001 begin");
2572     ability_->ConnectAgnssHdi();
2573     LBSLOGI(LOCATOR, "[GnssAbilityTest] ConnectAgnssHdi001 end");
2574 }
2575 
2576 HWTEST_F(GnssAbilityTest, ConnectGeofenceHdi001, TestSize.Level1)
2577 {
2578     GTEST_LOG_(INFO)
2579         << "GnssAbilityTest, ConnectGeofenceHdi001, TestSize.Level1";
2580     LBSLOGI(LOCATOR, "[GnssAbilityTest] ConnectGeofenceHdi001 begin");
2581     ability_->ConnectGeofenceHdi();
2582     LBSLOGI(LOCATOR, "[GnssAbilityTest] ConnectGeofenceHdi001 end");
2583 }
2584 
2585 HWTEST_F(GnssAbilityTest, ConnectHdi001, TestSize.Level1)
2586 {
2587     GTEST_LOG_(INFO)
2588         << "GnssAbilityTest, ConnectHdi001, TestSize.Level1";
2589     LBSLOGI(LOCATOR, "[GnssAbilityTest] ConnectHdi001 begin");
2590     ability_->ConnectHdi();
2591     LBSLOGI(LOCATOR, "[GnssAbilityTest] ConnectHdi001 end");
2592 }
2593 
2594 HWTEST_F(GnssAbilityTest, SetAgnssServer001, TestSize.Level1)
2595 {
2596     GTEST_LOG_(INFO)
2597         << "GnssAbilityTest, SetAgnssServer001, TestSize.Level1";
2598     LBSLOGI(LOCATOR, "[GnssAbilityTest] SetAgnssServer001 begin");
2599     ability_->SetAgnssServer();
2600     LBSLOGI(LOCATOR, "[GnssAbilityTest] SetAgnssServer001 end");
2601 }
2602 
2603 HWTEST_F(GnssAbilityTest, ReportMockedLocation001, TestSize.Level1)
2604 {
2605     GTEST_LOG_(INFO)
2606         << "GnssAbilityTest, ReportMockedLocation001, TestSize.Level1";
2607     LBSLOGI(LOCATOR, "[GnssAbilityTest] ReportMockedLocation001 begin");
2608     std::shared_ptr<Location> location = std::make_shared<Location>();
2609     ability_->mockEnabled_ = false;
2610     location->isFromMock_ = true;
2611     ability_->ReportMockedLocation(location);
2612     location->isFromMock_ = false;
2613     ability_->ReportMockedLocation(location);
2614     ability_->mockEnabled_ = true;
2615     location->isFromMock_ = true;
2616     ability_->ReportMockedLocation(location);
2617     location->isFromMock_ = false;
2618     ability_->ReportMockedLocation(location);
2619     LBSLOGI(LOCATOR, "[GnssAbilityTest] ReportMockedLocation001 end");
2620 }
2621 
2622 HWTEST_F(GnssAbilityTest, SendEvent001, TestSize.Level1)
2623 {
2624     GTEST_LOG_(INFO)
2625         << "GnssAbilityTest, SendEvent001, TestSize.Level1";
2626     LBSLOGI(LOCATOR, "[GnssAbilityTest] SendEvent001 begin");
2627     ability_->gnssHandler_= std::make_shared<GnssHandler>(AppExecFwk::EventRunner::Create(true));
2628     int state = DISABLED;
2629     AppExecFwk::InnerEvent::Pointer event  =
2630         AppExecFwk::InnerEvent::Get(EVENT_SEND_SWITCHSTATE_TO_HIFENCE, state);
2631     MessageParcel reply;
2632     ability_->SendEvent(event, reply);
2633     LBSLOGI(LOCATOR, "[GnssAbilityTest] SendEvent001 end");
2634 }
2635 
2636 HWTEST_F(GnssAbilityTest, HandleSendLocationRequest001, TestSize.Level1)
2637 {
2638     GTEST_LOG_(INFO)
2639         << "GnssAbilityTest, HandleSendLocationRequest001, TestSize.Level1";
2640     LBSLOGI(LOCATOR, "[GnssAbilityTest] HandleSendLocationRequest001 begin");
2641     int state = DISABLED;
2642     AppExecFwk::InnerEvent::Pointer event  =
2643         AppExecFwk::InnerEvent::Get(EVENT_SEND_SWITCHSTATE_TO_HIFENCE, state);
2644     auto gnssHandler = std::make_shared<GnssHandler>(AppExecFwk::EventRunner::Create(true));
2645     gnssHandler->HandleSendLocationRequest(event);
2646     LBSLOGI(LOCATOR, "[GnssAbilityTest] HandleSendLocationRequest001 end");
2647 }
2648 
2649 HWTEST_F(GnssAbilityTest, HandleSetMockedLocations001, TestSize.Level1)
2650 {
2651     GTEST_LOG_(INFO)
2652         << "GnssAbilityTest, HandleSetMockedLocations001, TestSize.Level1";
2653     LBSLOGI(LOCATOR, "[GnssAbilityTest] HandleSetMockedLocations001 begin");
2654     int state = DISABLED;
2655     AppExecFwk::InnerEvent::Pointer event  =
2656         AppExecFwk::InnerEvent::Get(EVENT_SEND_SWITCHSTATE_TO_HIFENCE, state);
2657     auto gnssHandler = std::make_shared<GnssHandler>(AppExecFwk::EventRunner::Create(true));
2658     gnssHandler->HandleSendLocationRequest(event);
2659     LBSLOGI(LOCATOR, "[GnssAbilityTest] HandleSetMockedLocations001 end");
2660 }
2661 
2662 HWTEST_F(GnssAbilityTest, HandleSendCommands001, TestSize.Level1)
2663 {
2664     GTEST_LOG_(INFO)
2665         << "GnssAbilityTest, HandleSendCommands001, TestSize.Level1";
2666     LBSLOGI(LOCATOR, "[GnssAbilityTest] HandleSendCommands001 begin");
2667     int state = DISABLED;
2668     AppExecFwk::InnerEvent::Pointer event  =
2669         AppExecFwk::InnerEvent::Get(EVENT_SEND_SWITCHSTATE_TO_HIFENCE, state);
2670     auto gnssHandler = std::make_shared<GnssHandler>(AppExecFwk::EventRunner::Create(true));
2671     gnssHandler->HandleSendLocationRequest(event);
2672     LBSLOGI(LOCATOR, "[GnssAbilityTest] HandleSendCommands001 end");
2673 }
2674 
2675 HWTEST_F(GnssAbilityTest, HandleReconnectHdi001, TestSize.Level1)
2676 {
2677     GTEST_LOG_(INFO)
2678         << "GnssAbilityTest, HandleReconnectHdi001, TestSize.Level1";
2679     LBSLOGI(LOCATOR, "[GnssAbilityTest] HandleReconnectHdi001 begin");
2680     int state = DISABLED;
2681     AppExecFwk::InnerEvent::Pointer event  =
2682         AppExecFwk::InnerEvent::Get(EVENT_SEND_SWITCHSTATE_TO_HIFENCE, state);
2683     auto gnssHandler = std::make_shared<GnssHandler>(AppExecFwk::EventRunner::Create(true));
2684     gnssHandler->HandleReconnectHdi(event);
2685     LBSLOGI(LOCATOR, "[GnssAbilityTest] HandleReconnectHdi001 end");
2686 }
2687 
2688 HWTEST_F(GnssAbilityTest, HandleSetEnable001, TestSize.Level1)
2689 {
2690     GTEST_LOG_(INFO)
2691         << "GnssAbilityTest, HandleSetEnable001, TestSize.Level1";
2692     LBSLOGI(LOCATOR, "[GnssAbilityTest] HandleSetEnable001 begin");
2693     int state = DISABLED;
2694     AppExecFwk::InnerEvent::Pointer event  =
2695         AppExecFwk::InnerEvent::Get(EVENT_SEND_SWITCHSTATE_TO_HIFENCE, state);
2696     auto gnssHandler = std::make_shared<GnssHandler>(AppExecFwk::EventRunner::Create(true));
2697     gnssHandler->HandleSetEnable(event);
2698     LBSLOGI(LOCATOR, "[GnssAbilityTest] HandleSetEnable001 end");
2699 }
2700 
2701 HWTEST_F(GnssAbilityTest, HandleAddFence001, TestSize.Level1)
2702 {
2703     GTEST_LOG_(INFO)
2704         << "GnssAbilityTest, HandleAddFence001, TestSize.Level1";
2705     LBSLOGI(LOCATOR, "[GnssAbilityTest] HandleAddFence001 begin");
2706     int state = DISABLED;
2707     AppExecFwk::InnerEvent::Pointer event  =
2708         AppExecFwk::InnerEvent::Get(EVENT_SEND_SWITCHSTATE_TO_HIFENCE, state);
2709     auto gnssHandler = std::make_shared<GnssHandler>(AppExecFwk::EventRunner::Create(true));
2710     gnssHandler->HandleAddFence(event);
2711     LBSLOGI(LOCATOR, "[GnssAbilityTest] HandleAddFence001 end");
2712 }
2713 
2714 HWTEST_F(GnssAbilityTest, HandleRemoveFence001, TestSize.Level1)
2715 {
2716     GTEST_LOG_(INFO)
2717         << "GnssAbilityTest, HandleRemoveFence001, TestSize.Level1";
2718     LBSLOGI(LOCATOR, "[GnssAbilityTest] HandleRemoveFence001 begin");
2719     int state = DISABLED;
2720     AppExecFwk::InnerEvent::Pointer event  =
2721         AppExecFwk::InnerEvent::Get(EVENT_SEND_SWITCHSTATE_TO_HIFENCE, state);
2722     auto gnssHandler = std::make_shared<GnssHandler>(AppExecFwk::EventRunner::Create(true));
2723     gnssHandler->HandleRemoveFence(event);
2724     LBSLOGI(LOCATOR, "[GnssAbilityTest] HandleRemoveFence001 end");
2725 }
2726 
2727 HWTEST_F(GnssAbilityTest, HandleAddGeofence001, TestSize.Level1)
2728 {
2729     GTEST_LOG_(INFO)
2730         << "GnssAbilityTest, HandleAddGeofence001, TestSize.Level1";
2731     LBSLOGI(LOCATOR, "[GnssAbilityTest] HandleAddGeofence001 begin");
2732     int state = DISABLED;
2733     AppExecFwk::InnerEvent::Pointer event  =
2734         AppExecFwk::InnerEvent::Get(EVENT_SEND_SWITCHSTATE_TO_HIFENCE, state);
2735     auto gnssHandler = std::make_shared<GnssHandler>(AppExecFwk::EventRunner::Create(true));
2736     gnssHandler->HandleAddGeofence(event);
2737     LBSLOGI(LOCATOR, "[GnssAbilityTest] HandleAddGeofence001 end");
2738 }
2739 
2740 HWTEST_F(GnssAbilityTest, HandleRemoveGeofence001, TestSize.Level1)
2741 {
2742     GTEST_LOG_(INFO)
2743         << "GnssAbilityTest, HandleRemoveGeofence001, TestSize.Level1";
2744     LBSLOGI(LOCATOR, "[GnssAbilityTest] HandleRemoveGeofence001 begin");
2745     int state = DISABLED;
2746     AppExecFwk::InnerEvent::Pointer event  =
2747         AppExecFwk::InnerEvent::Get(EVENT_SEND_SWITCHSTATE_TO_HIFENCE, state);
2748     auto gnssHandler = std::make_shared<GnssHandler>(AppExecFwk::EventRunner::Create(true));
2749     gnssHandler->HandleRemoveGeofence(event);
2750     LBSLOGI(LOCATOR, "[GnssAbilityTest] HandleRemoveGeofence001 end");
2751 }
2752 
2753 HWTEST_F(GnssAbilityTest, HandleSendNetworkLocation001, TestSize.Level1)
2754 {
2755     GTEST_LOG_(INFO)
2756         << "GnssAbilityTest, HandleSendNetworkLocation001, TestSize.Level1";
2757     LBSLOGI(LOCATOR, "[GnssAbilityTest] HandleSendNetworkLocation001 begin");
2758     int state = DISABLED;
2759     AppExecFwk::InnerEvent::Pointer event  =
2760         AppExecFwk::InnerEvent::Get(EVENT_SEND_SWITCHSTATE_TO_HIFENCE, state);
2761     auto gnssHandler = std::make_shared<GnssHandler>(AppExecFwk::EventRunner::Create(true));
2762     gnssHandler->HandleSendNetworkLocation(event);
2763     LBSLOGI(LOCATOR, "[GnssAbilityTest] HandleSendNetworkLocation001 end");
2764 }
2765 
2766 HWTEST_F(GnssAbilityTest, OnRemoteDied001, TestSize.Level1)
2767 {
2768     GTEST_LOG_(INFO)
2769         << "GnssAbilityTest, OnRemoteDied001, TestSize.Level1";
2770     LBSLOGI(LOCATOR, "[GnssAbilityTest] OnRemoteDied001 begin");
2771     auto deathRecipient = new (std::nothrow) LocationHdiDeathRecipient();
2772     const wptr<IRemoteObject> object;
2773     deathRecipient->OnRemoteDied(object);
2774     LBSLOGI(LOCATOR, "[GnssAbilityTest] OnRemoteDied001 end");
2775 }
2776 }  // namespace Location
2777 }  // namespace OHOS
2778 #endif // FEATURE_GNSS_SUPPORT
2779