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 "passive_ability_stub_test.h"
17
18 #include "ipc_types.h"
19 #include "message_option.h"
20 #include "message_parcel.h"
21
22 #include "common_utils.h"
23 #include "constant_definition.h"
24 #include "passive_ability_proxy.h"
25 #include "location_log.h"
26 #include "subability_common.h"
27
28 using namespace testing;
29 using namespace testing::ext;
30
31 namespace OHOS {
32 namespace Location {
33 const int UNKNOWN_CODE = -1;
SetUp()34 void PassiveAbilityStubTest::SetUp()
35 {
36 }
37
TearDown()38 void PassiveAbilityStubTest::TearDown()
39 {
40 }
41
42 HWTEST_F(PassiveAbilityStubTest, PassiveAbilityStubTest001, TestSize.Level1)
43 {
44 GTEST_LOG_(INFO)
45 << "PassiveAbilityStubTest, PassiveAbilityStubTest001, TestSize.Level1";
46 LBSLOGI(PASSIVE_TEST, "[PassiveAbilityStubTest] PassiveAbilityStubTest001 begin");
47 auto passiveAbilityStub = sptr<MockPassiveAbilityStub>(new (std::nothrow) MockPassiveAbilityStub());
48 EXPECT_CALL(*passiveAbilityStub, SendLocationRequest(_)).WillOnce(DoAll(Return(ERRCODE_SUCCESS)));
49 MessageParcel parcel;
50 parcel.WriteInterfaceToken(PassiveAbilityProxy::GetDescriptor());
51 MessageParcel reply;
52 MessageOption option;
53 EXPECT_EQ(ERRCODE_SUCCESS,
54 passiveAbilityStub->OnRemoteRequest(ISubAbility::SEND_LOCATION_REQUEST, parcel, reply, option));
55 LBSLOGI(PASSIVE_TEST, "[PassiveAbilityStubTest] PassiveAbilityStubTest001 end");
56 }
57
58 HWTEST_F(PassiveAbilityStubTest, PassiveAbilityStubTest002, TestSize.Level1)
59 {
60 GTEST_LOG_(INFO)
61 << "PassiveAbilityStubTest, PassiveAbilityStubTest002, TestSize.Level1";
62 LBSLOGI(PASSIVE_TEST, "[PassiveAbilityStubTest] PassiveAbilityStubTest002 begin");
63 auto passiveAbilityStub = sptr<MockPassiveAbilityStub>(new (std::nothrow) MockPassiveAbilityStub());
64 EXPECT_CALL(*passiveAbilityStub, SetEnable(_)).WillOnce(DoAll(Return(ERRCODE_SUCCESS)));
65 MessageParcel parcel;
66 parcel.WriteInterfaceToken(PassiveAbilityProxy::GetDescriptor());
67 MessageParcel reply;
68 MessageOption option;
69 EXPECT_EQ(ERRCODE_SUCCESS,
70 passiveAbilityStub->OnRemoteRequest(ISubAbility::SET_ENABLE, parcel, reply, option));
71 LBSLOGI(PASSIVE_TEST, "[PassiveAbilityStubTest] PassiveAbilityStubTest002 end");
72 }
73
74 HWTEST_F(PassiveAbilityStubTest, PassiveAbilityStubTest003, TestSize.Level1)
75 {
76 GTEST_LOG_(INFO)
77 << "PassiveAbilityStubTest, PassiveAbilityStubTest003, TestSize.Level1";
78 LBSLOGI(PASSIVE_TEST, "[PassiveAbilityStubTest] PassiveAbilityStubTest003 begin");
79 auto passiveAbilityStub = sptr<MockPassiveAbilityStub>(new (std::nothrow) MockPassiveAbilityStub());
80 EXPECT_CALL(*passiveAbilityStub, EnableMock()).WillOnce(DoAll(Return(ERRCODE_SUCCESS)));
81 MessageParcel parcel;
82 parcel.WriteInterfaceToken(PassiveAbilityProxy::GetDescriptor());
83 MessageParcel reply;
84 MessageOption option;
85 EXPECT_EQ(ERRCODE_SUCCESS,
86 passiveAbilityStub->OnRemoteRequest(ISubAbility::ENABLE_LOCATION_MOCK, parcel, reply, option));
87 LBSLOGI(PASSIVE_TEST, "[PassiveAbilityStubTest] PassiveAbilityStubTest003 end");
88 }
89
90 HWTEST_F(PassiveAbilityStubTest, PassiveAbilityStubTest004, TestSize.Level1)
91 {
92 GTEST_LOG_(INFO)
93 << "PassiveAbilityStubTest, PassiveAbilityStubTest004, TestSize.Level1";
94 LBSLOGI(PASSIVE_TEST, "[PassiveAbilityStubTest] PassiveAbilityStubTest004 begin");
95 auto passiveAbilityStub = sptr<MockPassiveAbilityStub>(new (std::nothrow) MockPassiveAbilityStub());
96 EXPECT_CALL(*passiveAbilityStub, DisableMock()).WillOnce(DoAll(Return(ERRCODE_SUCCESS)));
97 MessageParcel parcel;
98 parcel.WriteInterfaceToken(PassiveAbilityProxy::GetDescriptor());
99 MessageParcel reply;
100 MessageOption option;
101 EXPECT_EQ(ERRCODE_SUCCESS,
102 passiveAbilityStub->OnRemoteRequest(ISubAbility::DISABLE_LOCATION_MOCK, parcel, reply, option));
103 LBSLOGI(PASSIVE_TEST, "[PassiveAbilityStubTest] PassiveAbilityStubTest004 end");
104 }
105
106 HWTEST_F(PassiveAbilityStubTest, PassiveAbilityStubTest005, TestSize.Level1)
107 {
108 GTEST_LOG_(INFO)
109 << "PassiveAbilityStubTest, PassiveAbilityStubTest005, TestSize.Level1";
110 LBSLOGI(PASSIVE_TEST, "[PassiveAbilityStubTest] PassiveAbilityStubTest005 begin");
111 auto passiveAbilityStub = sptr<MockPassiveAbilityStub>(new (std::nothrow) MockPassiveAbilityStub());
112 EXPECT_CALL(*passiveAbilityStub, SendMessage(_, _, _)).WillOnce(DoAll(Return()));
113 MessageParcel parcel;
114 parcel.WriteInterfaceToken(PassiveAbilityProxy::GetDescriptor());
115 MessageParcel reply;
116 MessageOption option;
117 EXPECT_EQ(ERRCODE_SUCCESS,
118 passiveAbilityStub->OnRemoteRequest(ISubAbility::SET_MOCKED_LOCATIONS, parcel, reply, option));
119 LBSLOGI(PASSIVE_TEST, "[PassiveAbilityStubTest] PassiveAbilityStubTest005 end");
120 }
121
122 HWTEST_F(PassiveAbilityStubTest, PassiveAbilityStubTest006, TestSize.Level1)
123 {
124 GTEST_LOG_(INFO)
125 << "PassiveAbilityStubTest, PassiveAbilityStubTest006, TestSize.Level1";
126 LBSLOGI(PASSIVE_TEST, "[PassiveAbilityStubTest] PassiveAbilityStubTest006 begin");
127 auto passiveAbilityStub = sptr<MockPassiveAbilityStub>(new (std::nothrow) MockPassiveAbilityStub());
128 MessageParcel parcel;
129 parcel.WriteInterfaceToken(PassiveAbilityProxy::GetDescriptor());
130 MessageParcel reply;
131 MessageOption option;
132 EXPECT_EQ(IPC_STUB_UNKNOW_TRANS_ERR,
133 passiveAbilityStub->OnRemoteRequest(UNKNOWN_CODE, parcel, reply, option));
134 LBSLOGI(PASSIVE_TEST, "[PassiveAbilityStubTest] PassiveAbilityStubTest006 end");
135 }
136
137 HWTEST_F(PassiveAbilityStubTest, PassiveAbilityStubTest007, TestSize.Level1)
138 {
139 GTEST_LOG_(INFO)
140 << "PassiveAbilityStubTest, PassiveAbilityStubTest007, TestSize.Level1";
141 LBSLOGI(PASSIVE_TEST, "[PassiveAbilityStubTest] PassiveAbilityStubTest007 begin");
142 auto passiveAbilityStub = sptr<MockPassiveAbilityStub>(new (std::nothrow) MockPassiveAbilityStub());
143 MessageParcel parcel;
144 parcel.WriteInterfaceToken(u"UNKNOWN_DESCRIPTOR");
145 MessageParcel reply;
146 MessageOption option;
147 EXPECT_EQ(ERRCODE_SERVICE_UNAVAILABLE,
148 passiveAbilityStub->OnRemoteRequest(UNKNOWN_CODE, parcel, reply, option));
149 LBSLOGI(PASSIVE_TEST, "[PassiveAbilityStubTest] PassiveAbilityStubTest007 end");
150 }
151 } // namespace Location
152 } // namespace OHOS