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 "location_gnss_geofence_callback_host_test.h"
17
18 #include "location_gnss_geofence_callback_napi.h"
19 #include "location_log.h"
20 #include "geofence_definition.h"
21 #include "i_gnss_geofence_callback.h"
22
23 using namespace testing::ext;
24 namespace OHOS {
25 namespace Location {
SetUp()26 void LocationGnssGeofenceCallbackHostTest::SetUp()
27 {
28 }
29
TearDown()30 void LocationGnssGeofenceCallbackHostTest::TearDown()
31 {
32 }
33
34 HWTEST_F(LocationGnssGeofenceCallbackHostTest, OnRemoteRequestTest001, TestSize.Level1)
35 {
36 GTEST_LOG_(INFO)
37 << "LocationGnssGeofenceCallbackHostTest, OnRemoteRequestTest001, TestSize.Level1";
38 LBSLOGI(GEOFENCE_SDK_TEST, "[LocationGnssGeofenceCallbackHostTest] OnRemoteRequestTest001 begin");
39 std::shared_ptr<LocationGnssGeofenceCallbackNapi> callback =
40 std::make_shared<LocationGnssGeofenceCallbackNapi>();
41 ASSERT_TRUE(callback != nullptr);
42 MessageParcel dataParcel;
43 dataParcel.WriteInt32(DEFAULT_NUM_VALUE);
44 dataParcel.WriteInt32(static_cast<int>(GeofenceTransitionEvent::GEOFENCE_TRANSITION_EVENT_ENTER));
45 MessageParcel reply;
46 MessageOption option = { MessageOption::TF_ASYNC };
47 callback->OnRemoteRequest(IGnssGeofenceCallback::RECEIVE_TRANSITION_STATUS_EVENT, dataParcel, reply, option);
48 LBSLOGI(GEOFENCE_SDK_TEST, "[LocationGnssGeofenceCallbackHostTest] OnRemoteRequestTest001 end");
49 }
50
51 HWTEST_F(LocationGnssGeofenceCallbackHostTest, OnRemoteRequestTest002, TestSize.Level1)
52 {
53 GTEST_LOG_(INFO)
54 << "LocationGnssGeofenceCallbackHostTest, OnRemoteRequestTest002, TestSize.Level1";
55 LBSLOGI(GEOFENCE_SDK_TEST, "[LocationGnssGeofenceCallbackHostTest] OnRemoteRequestTest002 begin");
56 std::shared_ptr<LocationGnssGeofenceCallbackNapi> callback =
57 std::make_shared<LocationGnssGeofenceCallbackNapi>();
58 ASSERT_TRUE(callback != nullptr);
59 MessageParcel dataParcel;
60 dataParcel.WriteInt32(DEFAULT_NUM_VALUE);
61 dataParcel.WriteInt32(static_cast<int>(GnssGeofenceOperateType::GNSS_GEOFENCE_OPT_TYPE_ADD));
62 dataParcel.WriteInt32(static_cast<int>(GnssGeofenceOperateResult::GNSS_GEOFENCE_OPERATION_SUCCESS));
63 MessageParcel reply;
64 MessageOption option = { MessageOption::TF_ASYNC };
65 callback->OnRemoteRequest(IGnssGeofenceCallback::REPORT_OPERATION_RESULT_EVENT, dataParcel, reply, option);
66 LBSLOGI(GEOFENCE_SDK_TEST, "[LocationGnssGeofenceCallbackHostTest] OnRemoteRequestTest002 end");
67 }
68
69 HWTEST_F(LocationGnssGeofenceCallbackHostTest, IsRemoteDiedTest001, TestSize.Level1)
70 {
71 GTEST_LOG_(INFO)
72 << "LocationGnssGeofenceCallbackHostTest, IsRemoteDiedTest001, TestSize.Level1";
73 LBSLOGI(GEOFENCE_SDK_TEST, "[LocationGnssGeofenceCallbackHostTest] IsRemoteDiedTest001 begin");
74 std::shared_ptr<LocationGnssGeofenceCallbackNapi> callback =
75 std::make_shared<LocationGnssGeofenceCallbackNapi>();
76 ASSERT_TRUE(callback != nullptr);
77 callback->IsRemoteDied();
78 LBSLOGI(GEOFENCE_SDK_TEST, "[LocationGnssGeofenceCallbackHostTest] IsRemoteDiedTest001 end");
79 }
80
81 HWTEST_F(LocationGnssGeofenceCallbackHostTest, DeleteHandlerTest001, TestSize.Level1)
82 {
83 GTEST_LOG_(INFO)
84 << "LocationGnssGeofenceCallbackHostTest, DeleteHandlerTest001, TestSize.Level1";
85 LBSLOGI(GEOFENCE_SDK_TEST, "[LocationGnssGeofenceCallbackHostTest] DeleteHandlerTest001 begin");
86 std::shared_ptr<LocationGnssGeofenceCallbackNapi> callback =
87 std::make_shared<LocationGnssGeofenceCallbackNapi>();
88 ASSERT_TRUE(callback != nullptr);
89 callback->DeleteHandler();
90 LBSLOGI(GEOFENCE_SDK_TEST, "[LocationGnssGeofenceCallbackHostTest] DeleteHandlerTest001 end");
91 }
92
93 HWTEST_F(LocationGnssGeofenceCallbackHostTest, LatchTest001, TestSize.Level1)
94 {
95 GTEST_LOG_(INFO)
96 << "LocationGnssGeofenceCallbackHostTest, LatchTest001, TestSize.Level1";
97 LBSLOGI(GEOFENCE_SDK_TEST, "[LocationGnssGeofenceCallbackHostTest] LatchTest001 begin");
98 std::shared_ptr<LocationGnssGeofenceCallbackNapi> callback =
99 std::make_shared<LocationGnssGeofenceCallbackNapi>();
100 ASSERT_TRUE(callback != nullptr);
101 callback->SetCount(1);
102 int countNum = callback->GetCount();
103 ASSERT_TRUE(countNum == DEFAULT_NUM_VALUE);
104 callback->Wait(DEFAULT_CALLBACK_WAIT_TIME);
105 countNum = callback->GetCount();
106 ASSERT_TRUE(countNum == DEFAULT_NUM_VALUE);
107 callback->CountDown();
108 countNum = callback->GetCount();
109 ASSERT_TRUE(countNum != DEFAULT_NUM_VALUE);
110 callback->SetCount(1);
111 LBSLOGI(GEOFENCE_SDK_TEST, "[LocationGnssGeofenceCallbackHostTest] LatchTest001 end");
112 }
113
114 HWTEST_F(LocationGnssGeofenceCallbackHostTest, FenceIdOperationTest001, TestSize.Level1)
115 {
116 GTEST_LOG_(INFO)
117 << "LocationGnssGeofenceCallbackHostTest, FenceIdOperationTest001, TestSize.Level1";
118 LBSLOGI(GEOFENCE_SDK_TEST, "[LocationGnssGeofenceCallbackHostTest] FenceIdOperationTest001 begin");
119 std::shared_ptr<LocationGnssGeofenceCallbackNapi> callback =
120 std::make_shared<LocationGnssGeofenceCallbackNapi>();
121 ASSERT_TRUE(callback != nullptr);
122 callback->SetFenceId(DEFAULT_NUM_VALUE);
123 int fenceId = callback->GetFenceId();
124 ASSERT_TRUE(fenceId == DEFAULT_NUM_VALUE);
125 callback->ClearFenceId();
126 fenceId = callback->GetFenceId();
127 ASSERT_TRUE(fenceId != DEFAULT_NUM_VALUE);
128 LBSLOGI(GEOFENCE_SDK_TEST, "[LocationGnssGeofenceCallbackHostTest] FenceIdOperationTest001 end");
129 }
130
131 HWTEST_F(LocationGnssGeofenceCallbackHostTest, GeofenceOperationTypeTest001, TestSize.Level1)
132 {
133 GTEST_LOG_(INFO)
134 << "LocationGnssGeofenceCallbackHostTest, GeofenceOperationTypeTest001, TestSize.Level1";
135 LBSLOGI(GEOFENCE_SDK_TEST, "[LocationGnssGeofenceCallbackHostTest] GeofenceOperationTypeTest001 begin");
136 std::shared_ptr<LocationGnssGeofenceCallbackNapi> callback =
137 std::make_shared<LocationGnssGeofenceCallbackNapi>();
138 ASSERT_TRUE(callback != nullptr);
139 GnssGeofenceOperateType optType = static_cast<GnssGeofenceOperateType>(0);
140 callback->SetGeofenceOperationType(optType);
141 GnssGeofenceOperateType optResultType = callback->GetGeofenceOperationType();
142 ASSERT_TRUE(optResultType == optType);
143 LBSLOGI(GEOFENCE_SDK_TEST, "[LocationGnssGeofenceCallbackHostTest] GeofenceOperationTypeTest001 end");
144 }
145
146 HWTEST_F(LocationGnssGeofenceCallbackHostTest, GeofenceOperationResultTest001, TestSize.Level1)
147 {
148 GTEST_LOG_(INFO)
149 << "LocationGnssGeofenceCallbackHostTest, GeofenceOperationResultTest001, TestSize.Level1";
150 LBSLOGI(GEOFENCE_SDK_TEST, "[LocationGnssGeofenceCallbackHostTest] GeofenceOperationResultTest001 begin");
151 std::shared_ptr<LocationGnssGeofenceCallbackNapi> callback =
152 std::make_shared<LocationGnssGeofenceCallbackNapi>();
153 ASSERT_TRUE(callback != nullptr);
154 GnssGeofenceOperateResult optValue = static_cast<GnssGeofenceOperateResult>(0);
155 callback->SetGeofenceOperationResult(optValue);
156 GnssGeofenceOperateResult optResult = callback->GetGeofenceOperationResult();
157 ASSERT_TRUE(optValue == optResult);
158 LBSLOGI(GEOFENCE_SDK_TEST, "[LocationGnssGeofenceCallbackHostTest] GeofenceOperationResultTest001 end");
159 }
160
161 HWTEST_F(LocationGnssGeofenceCallbackHostTest, GeofenceOperationResultTest002, TestSize.Level1)
162 {
163 GTEST_LOG_(INFO)
164 << "LocationGnssGeofenceCallbackHostTest, GeofenceOperationResultTest002, TestSize.Level1";
165 LBSLOGI(GEOFENCE_SDK_TEST, "[LocationGnssGeofenceCallbackHostTest] GeofenceOperationResultTest002 begin");
166 std::shared_ptr<LocationGnssGeofenceCallbackNapi> callback =
167 std::make_shared<LocationGnssGeofenceCallbackNapi>();
168 ASSERT_TRUE(callback != nullptr);
169 callback->SetGeofenceOperationResult(GnssGeofenceOperateResult::GNSS_GEOFENCE_OPERATION_SUCCESS);
170 callback->DealGeofenceOperationResult();
171 callback->SetGeofenceOperationResult(GnssGeofenceOperateResult::GNSS_GEOFENCE_OPERATION_ERROR_UNKNOWN);
172 callback->DealGeofenceOperationResult();
173 callback->SetGeofenceOperationResult(GnssGeofenceOperateResult::GNSS_GEOFENCE_OPERATION_ERROR_TOO_MANY_GEOFENCES);
174 callback->DealGeofenceOperationResult();
175 callback->SetGeofenceOperationResult(GnssGeofenceOperateResult::GNSS_GEOFENCE_OPERATION_ERROR_GEOFENCE_ID_EXISTS);
176 callback->DealGeofenceOperationResult();
177 callback->SetGeofenceOperationResult(GnssGeofenceOperateResult::GNSS_GEOFENCE_OPERATION_ERROR_PARAMS_INVALID);
178 callback->DealGeofenceOperationResult();
179 LBSLOGI(GEOFENCE_SDK_TEST, "[LocationGnssGeofenceCallbackHostTest] GeofenceOperationResultTest002 end");
180 }
181 } // namespace Location
182 } // namespace OHOS