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