1 /*
2 * Copyright (c) 2022 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16 #include "report_manager_test.h"
17
18 #include "accesstoken_kit.h"
19 #include "message_parcel.h"
20 #include "nativetoken_kit.h"
21 #include "token_setproc.h"
22
23 #include "i_locator_callback.h"
24 #include "location.h"
25 #include "locator.h"
26 #define private public
27 #include "locator_ability.h"
28 #undef private
29 #include "locator_callback_host.h"
30 #include "locator_callback_proxy.h"
31 #include "request.h"
32 #include "request_manager.h"
33
34 using namespace testing::ext;
35 namespace OHOS {
36 namespace Location {
37 const int32_t LOCATION_PERM_NUM = 4;
38 const std::string UNKNOWN_ABILITY = "unknown_ability";
SetUp()39 void ReportManagerTest::SetUp()
40 {
41 MockNativePermission();
42 reportManager_ = DelayedSingleton<ReportManager>::GetInstance();
43 EXPECT_NE(nullptr, reportManager_);
44 }
45
TearDown()46 void ReportManagerTest::TearDown()
47 {
48 reportManager_ = nullptr;
49 DelayedSingleton<ReportManager>::DestroyInstance();
50 }
51
MockNativePermission()52 void ReportManagerTest::MockNativePermission()
53 {
54 const char *perms[] = {
55 ACCESS_LOCATION.c_str(), ACCESS_APPROXIMATELY_LOCATION.c_str(),
56 ACCESS_BACKGROUND_LOCATION.c_str(), MANAGE_SECURE_SETTINGS.c_str(),
57 };
58 NativeTokenInfoParams infoInstance = {
59 .dcapsNum = 0,
60 .permsNum = LOCATION_PERM_NUM,
61 .aclsNum = 0,
62 .dcaps = nullptr,
63 .perms = perms,
64 .acls = nullptr,
65 .processName = "ReportManagerTest",
66 .aplStr = "system_basic",
67 };
68 tokenId_ = GetAccessTokenId(&infoInstance);
69 SetSelfTokenID(tokenId_);
70 Security::AccessToken::AccessTokenKit::ReloadNativeTokenInfo();
71 }
72
MockLocation()73 std::unique_ptr<Location> ReportManagerTest::MockLocation()
74 {
75 std::unique_ptr<Location> location = std::make_unique<Location>();
76 MessageParcel parcel;
77 parcel.WriteDouble(12.0); // latitude
78 parcel.WriteDouble(13.0); // longitude
79 parcel.WriteDouble(14.0); // altitude
80 parcel.WriteDouble(1000.0); // accuracy
81 parcel.WriteDouble(10.0); // speed
82 parcel.WriteDouble(90.0); // direction
83 parcel.WriteInt64(1000000000); // timeStamp
84 parcel.WriteInt64(1000000100); // timeSinceBoot
85 parcel.WriteString16(u"additions"); // additions
86 parcel.WriteInt64(1); // additionSize
87 parcel.WriteBool(true); // isFromMock
88 parcel.WriteInt32(1); // source type
89 parcel.WriteInt32(0); // floor no.
90 parcel.WriteDouble(1000.0); // floor acc
91 location->ReadFromParcel(parcel);
92 return location;
93 }
94
95 HWTEST_F(ReportManagerTest, ReportRemoteCallbackTest001, TestSize.Level1)
96 {
97 GTEST_LOG_(INFO)
98 << "ReportManagerTest, ReportRemoteCallbackTest001, TestSize.Level1";
99 LBSLOGI(REPORT_MANAGER, "[ReportManagerTest] ReportRemoteCallbackTest001 begin");
100 std::unique_ptr<Location> location = std::make_unique<Location>();
101 auto locatorCallbackHostForTest =
102 sptr<LocatorCallbackHost>(new (std::nothrow) LocatorCallbackHost());
103 sptr<ILocatorCallback> locatorCallback =
104 sptr<ILocatorCallback>(locatorCallbackHostForTest);
105 EXPECT_EQ(true, reportManager_->
106 ReportRemoteCallback(locatorCallback, ILocatorCallback::RECEIVE_LOCATION_STATUS_EVENT, 1));
107 EXPECT_EQ(true, reportManager_->
108 ReportRemoteCallback(locatorCallback, ILocatorCallback::RECEIVE_ERROR_INFO_EVENT, 1));
109 EXPECT_EQ(false, reportManager_->
110 ReportRemoteCallback(locatorCallback, ILocatorCallback::RECEIVE_LOCATION_INFO_EVENT, 1));
111 LBSLOGI(REPORT_MANAGER, "[ReportManagerTest] ReportRemoteCallbackTest001 end");
112 }
113
114 HWTEST_F(ReportManagerTest, ResultCheckTest001, TestSize.Level1)
115 {
116 GTEST_LOG_(INFO)
117 << "ReportManagerTest, ResultCheckTest001, TestSize.Level1";
118 LBSLOGI(REPORT_MANAGER, "[ReportManagerTest] ResultCheckTest001 begin");
119 std::shared_ptr<Request> request = std::make_shared<Request>();
120 request->SetUid(1000);
121 request->SetPid(0);
122 request->SetTokenId(tokenId_);
123 request->SetFirstTokenId(0);
124 request->SetPackageName("ReportManagerTest");
125 auto location = MockLocation();
126
127 EXPECT_EQ(true, reportManager_->ResultCheck(location, request));
128 EXPECT_EQ(false, reportManager_->ResultCheck(nullptr, request)); // no location
129 EXPECT_EQ(false, reportManager_->ResultCheck(location, nullptr)); // no request
130 EXPECT_EQ(false, reportManager_->ResultCheck(nullptr, nullptr)); // no location & no request
131
132 auto requestConfig = std::make_unique<RequestConfig>();
133 EXPECT_NE(nullptr, requestConfig);
134 requestConfig->SetPriority(PRIORITY_FAST_FIRST_FIX);
135 requestConfig->SetMaxAccuracy(1000.0);
136 requestConfig->SetFixNumber(1);
137 request->SetRequestConfig(*requestConfig);
138 EXPECT_EQ(true, reportManager_->ResultCheck(location, request)); // no last location
139
140 std::unique_ptr<Location> lastLocation1 = std::make_unique<Location>(*location);
141 lastLocation1->SetLatitude(-91.0);
142 request->SetLastLocation(lastLocation1);
143 EXPECT_EQ(true, reportManager_->ResultCheck(location, request)); // no need to check
144
145 std::unique_ptr<Location> lastLocation2 = std::make_unique<Location>(*location);
146 request->SetLastLocation(lastLocation2);
147 EXPECT_EQ(false, reportManager_->ResultCheck(location, request)); // time interval check failed
148
149 std::unique_ptr<Location> lastLocation3 = std::make_unique<Location>(*location);
150 lastLocation3->SetTimeSinceBoot(1000000000);
151 requestConfig->SetDistanceInterval(1.0);
152 request->SetRequestConfig(*requestConfig);
153 request->SetLastLocation(lastLocation3);
154 EXPECT_EQ(false, reportManager_->ResultCheck(location, request)); // distance interval check failed
155
156 std::unique_ptr<Location> lastLocation4 = std::make_unique<Location>(*location);
157 lastLocation4->SetTimeSinceBoot(1000000000);
158 requestConfig->SetDistanceInterval(0.0);
159 requestConfig->SetMaxAccuracy(10.0);
160 request->SetRequestConfig(*requestConfig);
161 request->SetLastLocation(lastLocation4);
162 EXPECT_EQ(false, reportManager_->ResultCheck(location, request)); // acc check failed
163 LBSLOGI(REPORT_MANAGER, "[ReportManagerTest] ResultCheckTest001 end");
164 }
165
166 HWTEST_F(ReportManagerTest, ResultCheckTest002, TestSize.Level1)
167 {
168 GTEST_LOG_(INFO)
169 << "ReportManagerTest, ResultCheckTest002, TestSize.Level1";
170 LBSLOGI(REPORT_MANAGER, "[ReportManagerTest] ResultCheckTest002 begin");
171 std::shared_ptr<Request> request = std::make_shared<Request>();
172 request->SetUid(1000);
173 request->SetPid(0);
174 request->SetTokenId(tokenId_);
175 request->SetFirstTokenId(0);
176 request->SetPackageName("ReportManagerTest");
177 auto requestConfig = std::make_unique<RequestConfig>();
178 EXPECT_NE(nullptr, requestConfig);
179 requestConfig->SetPriority(PRIORITY_FAST_FIRST_FIX);
180 requestConfig->SetMaxAccuracy(1000.0);
181 requestConfig->SetFixNumber(1);
182 request->SetRequestConfig(*requestConfig);
183 auto location = MockLocation();
184
185 std::unique_ptr<Location> lastLocation5 = std::make_unique<Location>(*location);
186 lastLocation5->SetTimeSinceBoot(1000000000);
187 requestConfig->SetDistanceInterval(0.0);
188 requestConfig->SetMaxAccuracy(0.0);
189 request->SetRequestConfig(*requestConfig);
190 request->SetLastLocation(lastLocation5);
191 EXPECT_EQ(false, reportManager_->ResultCheck(location, request)); // check pass
192 LBSLOGI(REPORT_MANAGER, "[ReportManagerTest] ResultCheckTest002 end");
193 }
194
195 HWTEST_F(ReportManagerTest, SetLastLocationTest001, TestSize.Level1)
196 {
197 GTEST_LOG_(INFO)
198 << "ReportManagerTest, SetLastLocationTest001, TestSize.Level1";
199 LBSLOGI(REPORT_MANAGER, "[ReportManagerTest] SetLastLocationTest001 begin");
200 EXPECT_EQ(nullptr, reportManager_->GetLastLocation());
201 MessageParcel parcel;
202 parcel.WriteDouble(12.0); // latitude
203 parcel.WriteDouble(13.0); // longitude
204 parcel.WriteDouble(14.0); // altitude
205 parcel.WriteDouble(1000.0); // accuracy
206 parcel.WriteDouble(10.0); // speed
207 parcel.WriteDouble(90.0); // direction
208 parcel.WriteInt64(1000000000); // timeStamp
209 parcel.WriteInt64(1000000000); // timeSinceBoot
210 parcel.WriteString16(u"additions"); // additions
211 parcel.WriteInt64(1); // additionSize
212 parcel.WriteBool(true); // isFromMock
213 parcel.WriteInt32(1); // source type
214 parcel.WriteInt32(0); // floor no.
215 parcel.WriteDouble(1000.0); // floor acc
216 std::unique_ptr<Location> location = std::make_unique<Location>();
217 location->ReadFromParcel(parcel);
218 reportManager_->UpdateCacheLocation(location, GNSS_ABILITY);
219 std::shared_ptr<Request> request = std::make_shared<Request>();
220 request->SetUid(1000);
221 request->SetPid(0);
222 request->SetTokenId(tokenId_);
223 request->SetFirstTokenId(0);
224 request->SetPackageName("ReportManagerTest");
225 EXPECT_NE(nullptr, reportManager_->GetLastLocation());
226 EXPECT_EQ(nullptr, reportManager_->GetCacheLocation(request));
227 reportManager_->UpdateCacheLocation(location, NETWORK_ABILITY);
228 EXPECT_EQ(nullptr, reportManager_->GetCacheLocation(request));
229 LBSLOGI(REPORT_MANAGER, "[ReportManagerTest] SetLastLocationTest001 end");
230 }
231
232 HWTEST_F(ReportManagerTest, GetPermittedLocationTest001, TestSize.Level1)
233 {
234 GTEST_LOG_(INFO)
235 << "ReportManagerTest, GetPermittedLocationTest001, TestSize.Level1";
236 LBSLOGI(REPORT_MANAGER, "[ReportManagerTest] GetPermittedLocationTest001 begin");
237 EXPECT_EQ(nullptr, reportManager_->GetPermittedLocation(0, tokenId_, 0, nullptr));
238 MessageParcel parcel;
239 parcel.WriteDouble(12.0); // latitude
240 parcel.WriteDouble(13.0); // longitude
241 parcel.WriteDouble(14.0); // altitude
242 parcel.WriteDouble(1000.0); // accuracy
243 parcel.WriteDouble(10.0); // speed
244 parcel.WriteDouble(90.0); // direction
245 parcel.WriteInt64(1000000000); // timeStamp
246 parcel.WriteInt64(1000000000); // timeSinceBoot
247 parcel.WriteString16(u"additions"); // additions
248 parcel.WriteInt64(1); // additionSize
249 parcel.WriteBool(true); // isFromMock
250 parcel.WriteInt32(1); // source type
251 parcel.WriteInt32(0); // floor no.
252 parcel.WriteDouble(1000.0); // floor acc
253 std::unique_ptr<Location> location = std::make_unique<Location>();
254 location->ReadFromParcel(parcel);
255 auto newLocation = reportManager_->GetPermittedLocation(0, tokenId_, 0, location);
256 EXPECT_NE(nullptr, newLocation);
257 EXPECT_EQ(12.0, newLocation->GetLatitude());
258 EXPECT_EQ(13.0, newLocation->GetLongitude());
259 EXPECT_EQ(1000.0, newLocation->GetAccuracy());
260 LBSLOGI(REPORT_MANAGER, "[ReportManagerTest] GetPermittedLocationTest001 end");
261 }
262
263 HWTEST_F(ReportManagerTest, OnReportLocationTest001, TestSize.Level1)
264 {
265 GTEST_LOG_(INFO)
266 << "ReportManagerTest, OnReportLocationTest001, TestSize.Level1";
267 LBSLOGI(REPORT_MANAGER, "[ReportManagerTest] OnReportLocationTest001 begin");
268 MessageParcel parcel;
269 parcel.WriteDouble(12.0); // latitude
270 parcel.WriteDouble(13.0); // longitude
271 parcel.WriteDouble(14.0); // altitude
272 parcel.WriteDouble(1000.0); // accuracy
273 parcel.WriteDouble(10.0); // speed
274 parcel.WriteDouble(90.0); // direction
275 parcel.WriteInt64(1000000000); // timeStamp
276 parcel.WriteInt64(1000000000); // timeSinceBoot
277 parcel.WriteString16(u"additions"); // additions
278 parcel.WriteInt64(1); // additionSize
279 parcel.WriteBool(false); // isFromMock
280 parcel.WriteInt32(1); // source type
281 parcel.WriteInt32(0); // floor no.
282 parcel.WriteDouble(1000.0); // floor acc
283 std::unique_ptr<Location> location = std::make_unique<Location>();
284 location->ReadFromParcel(parcel);
285
286 EXPECT_EQ(true, reportManager_->OnReportLocation(location, NETWORK_ABILITY));
287 LBSLOGI(REPORT_MANAGER, "[ReportManagerTest] OnReportLocationTest001 end");
288 }
289
290 HWTEST_F(ReportManagerTest, OnReportLocationTest002, TestSize.Level1)
291 {
292 GTEST_LOG_(INFO)
293 << "ReportManagerTest, OnReportLocationTest002, TestSize.Level1";
294 LBSLOGI(REPORT_MANAGER, "[ReportManagerTest] OnReportLocationTest002 begin");
295 MessageParcel parcel;
296 parcel.WriteDouble(12.0); // latitude
297 parcel.WriteDouble(13.0); // longitude
298 parcel.WriteDouble(14.0); // altitude
299 parcel.WriteDouble(1000.0); // accuracy
300 parcel.WriteDouble(10.0); // speed
301 parcel.WriteDouble(90.0); // direction
302 parcel.WriteInt64(1000000000); // timeStamp
303 parcel.WriteInt64(1000000000); // timeSinceBoot
304 parcel.WriteString16(u"additions"); // additions
305 parcel.WriteInt64(1); // additionSize
306 parcel.WriteBool(false); // isFromMock
307 parcel.WriteInt32(1); // source type
308 parcel.WriteInt32(0); // floor no.
309 parcel.WriteDouble(1000.0); // floor acc
310 std::unique_ptr<Location> location = std::make_unique<Location>();
311 location->ReadFromParcel(parcel);
312 EXPECT_EQ(true, reportManager_->OnReportLocation(location, GNSS_ABILITY)); // is not requesting
313 LBSLOGI(REPORT_MANAGER, "[ReportManagerTest] OnReportLocationTest002 end");
314 }
315
316 HWTEST_F(ReportManagerTest, OnReportLocationTest003, TestSize.Level1)
317 {
318 GTEST_LOG_(INFO)
319 << "ReportManagerTest, OnReportLocationTest003, TestSize.Level1";
320 LBSLOGI(REPORT_MANAGER, "[ReportManagerTest] OnReportLocationTest003 begin");
321 MessageParcel parcel;
322 parcel.WriteDouble(12.0); // latitude
323 parcel.WriteDouble(13.0); // longitude
324 parcel.WriteDouble(14.0); // altitude
325 parcel.WriteDouble(1000.0); // accuracy
326 parcel.WriteDouble(10.0); // speed
327 parcel.WriteDouble(90.0); // direction
328 parcel.WriteInt64(1000000000); // timeStamp
329 parcel.WriteInt64(1000000000); // timeSinceBoot
330 parcel.WriteString16(u"additions"); // additions
331 parcel.WriteInt64(1); // additionSize
332 parcel.WriteBool(false); // isFromMock
333 parcel.WriteInt32(1); // source type
334 parcel.WriteInt32(0); // floor no.
335 parcel.WriteDouble(1000.0); // floor acc
336 std::unique_ptr<Location> location = std::make_unique<Location>();
337 location->ReadFromParcel(parcel);
338
339 std::unique_ptr<RequestConfig> requestConfig = std::make_unique<RequestConfig>();
340 requestConfig->SetPriority(PRIORITY_ACCURACY);
341 requestConfig->SetFixNumber(0);
342 requestConfig->SetTimeInterval(1);
343 auto locatorImpl = Locator::GetInstance();
344 sptr<ILocatorCallback> callbackStub = new (std::nothrow) LocatorCallbackStub();
345 locatorImpl->EnableAbility(true);
346 locatorImpl->StartLocating(requestConfig, callbackStub); // start locating
347 sleep(1);
348 EXPECT_EQ(true, reportManager_->OnReportLocation(location, GNSS_ABILITY)); // report location successfully
349 EXPECT_EQ(true,
350 reportManager_->OnReportLocation(location, GNSS_ABILITY)); // report the same location, result check is false
351 locatorImpl->StopLocating(callbackStub);
352 LBSLOGI(REPORT_MANAGER, "[ReportManagerTest] OnReportLocationTest003 end");
353 }
354
355 HWTEST_F(ReportManagerTest, OnReportLocationTest004, TestSize.Level1)
356 {
357 GTEST_LOG_(INFO)
358 << "ReportManagerTest, OnReportLocationTest004, TestSize.Level1";
359 LBSLOGI(REPORT_MANAGER, "[ReportManagerTest] OnReportLocationTest004 begin");
360 MessageParcel parcel;
361 parcel.WriteDouble(12.0); // latitude
362 parcel.WriteDouble(13.0); // longitude
363 parcel.WriteDouble(14.0); // altitude
364 parcel.WriteDouble(1000.0); // accuracy
365 parcel.WriteDouble(10.0); // speed
366 parcel.WriteDouble(90.0); // direction
367 parcel.WriteInt64(1000000000); // timeStamp
368 parcel.WriteInt64(1000000000); // timeSinceBoot
369 parcel.WriteString16(u"additions"); // additions
370 parcel.WriteInt64(1); // additionSize
371 parcel.WriteBool(false); // isFromMock
372 parcel.WriteInt32(1); // source type
373 parcel.WriteInt32(0); // floor no.
374 parcel.WriteDouble(1000.0); // floor acc
375 std::unique_ptr<Location> location = std::make_unique<Location>();
376 location->ReadFromParcel(parcel);
377
378 std::unique_ptr<RequestConfig> requestConfig = std::make_unique<RequestConfig>();
379 requestConfig->SetPriority(PRIORITY_ACCURACY);
380 requestConfig->SetFixNumber(1); // locating once
381 requestConfig->SetTimeOut(120000);
382 auto locatorImpl = Locator::GetInstance();
383 sptr<ILocatorCallback> callbackStub = new (std::nothrow) LocatorCallbackStub();
384 locatorImpl->EnableAbility(true);
385 locatorImpl->StartLocating(requestConfig, callbackStub); // start locating
386 sleep(1);
387 EXPECT_EQ(true, reportManager_->OnReportLocation(location, GNSS_ABILITY)); // will resolve deadRequests
388 locatorImpl->StopLocating(callbackStub);
389 LBSLOGI(REPORT_MANAGER, "[ReportManagerTest] OnReportLocationTest004 end");
390 }
391
392 HWTEST_F(ReportManagerTest, UpdateRandomTest004, TestSize.Level1)
393 {
394 GTEST_LOG_(INFO)
395 << "ReportManagerTest, UpdateRandomTest004, TestSize.Level1";
396 LBSLOGI(REPORT_MANAGER, "[ReportManagerTest] UpdateRandomTest004 begin");
397 std::list<std::shared_ptr<Request>> gnssList;
398 auto locatorAbility = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
399 locatorAbility->requests_->insert(make_pair(GNSS_ABILITY, gnssList));
400 reportManager_->UpdateRandom();
401
402 struct timespec now;
403 clock_gettime(CLOCK_REALTIME, &now);
404 reportManager_->lastUpdateTime_.tv_sec = now.tv_sec + LONG_TIME_INTERVAL +1;
405 locatorAbility->requests_->clear();
406 reportManager_->UpdateRandom();
407 LBSLOGI(REPORT_MANAGER, "[ReportManagerTest] UpdateRandomTest004 end");
408 }
409
410 HWTEST_F(ReportManagerTest, IsRequestFuseTest001, TestSize.Level1)
411 {
412 GTEST_LOG_(INFO)
413 << "ReportManagerTest, IsRequestFuseTest001, TestSize.Level1";
414 LBSLOGI(REPORT_MANAGER, "[ReportManagerTest] IsRequestFuseTest001 begin");
415 EXPECT_EQ(false, reportManager_->IsRequestFuse(nullptr));
416
417 std::shared_ptr<Request> request = std::make_shared<Request>();
418 std::unique_ptr<RequestConfig> requestConfig = std::make_unique<RequestConfig>();
419 requestConfig->SetPriority(PRIORITY_FAST_FIRST_FIX);
420 requestConfig->SetScenario(SCENE_UNSET);
421 request->SetRequestConfig(*requestConfig);
422 EXPECT_EQ(true, reportManager_->IsRequestFuse(request));
423
424 LBSLOGI(REPORT_MANAGER, "[ReportManagerTest] IsRequestFuseTest001 end");
425 }
426
427 HWTEST_F(ReportManagerTest, IsRequestFuseTest002, TestSize.Level1)
428 {
429 GTEST_LOG_(INFO)
430 << "ReportManagerTest, IsRequestFuseTest002, TestSize.Level1";
431 LBSLOGI(REPORT_MANAGER, "[ReportManagerTest] IsRequestFuseTest002 begin");
432 EXPECT_EQ(false, reportManager_->IsRequestFuse(nullptr));
433
434 std::shared_ptr<Request> request = std::make_shared<Request>();
435 std::unique_ptr<RequestConfig> requestConfig = std::make_unique<RequestConfig>();
436 requestConfig->SetPriority(PRIORITY_UNSET);
437 requestConfig->SetScenario(SCENE_UNSET);
438 request->SetRequestConfig(*requestConfig);
439 EXPECT_EQ(false, reportManager_->IsRequestFuse(request));
440
441 LBSLOGI(REPORT_MANAGER, "[ReportManagerTest] IsRequestFuseTest002 end");
442 }
443
444 HWTEST_F(ReportManagerTest, UpdateLocationByRequestTest001, TestSize.Level1)
445 {
446 GTEST_LOG_(INFO)
447 << "ReportManagerTest, UpdateLocationByRequestTest001, TestSize.Level1";
448 LBSLOGI(REPORT_MANAGER, "[ReportManagerTest] UpdateLocationByRequestTest001 begin");
449 auto location = MockLocation();
450 reportManager_->UpdateLocationByRequest(tokenId_, tokenId_, location);
451 LBSLOGI(REPORT_MANAGER, "[ReportManagerTest] UpdateLocationByRequestTest001 end");
452 }
453
454 HWTEST_F(ReportManagerTest, UpdateLocationByRequestTest002, TestSize.Level1)
455 {
456 GTEST_LOG_(INFO)
457 << "ReportManagerTest, UpdateLocationByRequestTest002, TestSize.Level1";
458 LBSLOGI(REPORT_MANAGER, "[ReportManagerTest] UpdateLocationByRequestTest002 begin");
459 std::unique_ptr<Location> location = nullptr;
460 reportManager_->UpdateLocationByRequest(tokenId_, tokenId_, location);
461 LBSLOGI(REPORT_MANAGER, "[ReportManagerTest] UpdateLocationByRequestTest002 end");
462 }
463 } // namespace Location
464 } // namespace OHOS