• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2024-2025 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 "el5_filekey_manager_stub_unittest.h"
17 #include "singleton.h"
18 
19 #include "accesstoken_kit.h"
20 #include "el5_filekey_callback_interface_stub.h"
21 #include "el5_filekey_manager_error.h"
22 #include "token_setproc.h"
23 
24 using namespace testing::ext;
25 using namespace OHOS::Security::AccessToken;
26 
SetUpTestCase()27 void El5FilekeyManagerStubTest::SetUpTestCase()
28 {
29 }
30 
TearDownTestCase()31 void El5FilekeyManagerStubTest::TearDownTestCase()
32 {
33 }
34 
SetUp()35 void El5FilekeyManagerStubTest::SetUp()
36 {
37     el5FilekeyManagerStub_ = DelayedSingleton<El5FilekeyManagerService>::GetInstance();
38 }
39 
TearDown()40 void El5FilekeyManagerStubTest::TearDown()
41 {
42 }
43 
44 /**
45  * @tc.name: OnRemoteRequest001
46  * @tc.desc: El5FilekeyManagerInterfaceIpcCode::COMMAND_GENERATE_APP_KEY.
47  * @tc.type: FUNC
48  * @tc.require: issueI9JGMV
49  */
50 HWTEST_F(El5FilekeyManagerStubTest, OnRemoteRequest001, TestSize.Level1)
51 {
52     OHOS::MessageParcel data;
53     OHOS::MessageParcel reply;
54     OHOS::MessageOption option(OHOS::MessageOption::TF_SYNC);
55 
56     ASSERT_EQ(true, data.WriteInterfaceToken(El5FilekeyManagerInterface::GetDescriptor()));
57 
58     ASSERT_EQ(el5FilekeyManagerStub_->OnRemoteRequest(
59         static_cast<uint32_t>(El5FilekeyManagerInterfaceIpcCode::COMMAND_GENERATE_APP_KEY), data, reply, option),
60         OHOS::NO_ERROR);
61 }
62 
63 /**
64  * @tc.name: OnRemoteRequest002
65  * @tc.desc: El5FilekeyManagerInterfaceIpcCode::COMMAND_DELETE_APP_KEY.
66  * @tc.type: FUNC
67  * @tc.require: issueI9JGMV
68  */
69 HWTEST_F(El5FilekeyManagerStubTest, OnRemoteRequest002, TestSize.Level1)
70 {
71     OHOS::MessageParcel data;
72     OHOS::MessageParcel reply;
73     OHOS::MessageOption option(OHOS::MessageOption::TF_SYNC);
74 
75     ASSERT_EQ(true, data.WriteInterfaceToken(El5FilekeyManagerInterface::GetDescriptor()));
76 
77     ASSERT_EQ(el5FilekeyManagerStub_->OnRemoteRequest(
78         static_cast<uint32_t>(El5FilekeyManagerInterfaceIpcCode::COMMAND_DELETE_APP_KEY), data, reply, option),
79         OHOS::NO_ERROR);
80 }
81 
82 /**
83  * @tc.name: OnRemoteRequest003
84  * @tc.desc: El5FilekeyManagerInterfaceIpcCode::COMMAND_ACQUIRE_ACCESS.
85  * @tc.type: FUNC
86  * @tc.require: issueI9JGMV
87  */
88 HWTEST_F(El5FilekeyManagerStubTest, OnRemoteRequest003, TestSize.Level1)
89 {
90     OHOS::MessageParcel data;
91     OHOS::MessageParcel reply;
92     OHOS::MessageOption option(OHOS::MessageOption::TF_SYNC);
93 
94     ASSERT_EQ(true, data.WriteInterfaceToken(El5FilekeyManagerInterface::GetDescriptor()));
95 
96     ASSERT_EQ(el5FilekeyManagerStub_->OnRemoteRequest(
97         static_cast<uint32_t>(El5FilekeyManagerInterfaceIpcCode::COMMAND_ACQUIRE_ACCESS), data, reply, option),
98         OHOS::ERR_INVALID_DATA);
99 }
100 
101 /**
102  * @tc.name: OnRemoteRequest004
103  * @tc.desc: El5FilekeyManagerInterfaceIpcCode::COMMAND_RELEASE_ACCESS.
104  * @tc.type: FUNC
105  * @tc.require: issueI9JGMV
106  */
107 HWTEST_F(El5FilekeyManagerStubTest, OnRemoteRequest004, TestSize.Level1)
108 {
109     OHOS::MessageParcel data;
110     OHOS::MessageParcel reply;
111     OHOS::MessageOption option(OHOS::MessageOption::TF_SYNC);
112 
113     ASSERT_EQ(true, data.WriteInterfaceToken(El5FilekeyManagerInterface::GetDescriptor()));
114 
115     ASSERT_EQ(el5FilekeyManagerStub_->OnRemoteRequest(
116         static_cast<uint32_t>(El5FilekeyManagerInterfaceIpcCode::COMMAND_RELEASE_ACCESS), data, reply, option),
117         OHOS::ERR_INVALID_DATA);
118 }
119 
120 /**
121  * @tc.name: OnRemoteRequest005
122  * @tc.desc: El5FilekeyManagerInterfaceIpcCode::COMMAND_GET_USER_APP_KEY.
123  * @tc.type: FUNC
124  * @tc.require: issueI9JGMV
125  */
126 HWTEST_F(El5FilekeyManagerStubTest, OnRemoteRequest005, TestSize.Level1)
127 {
128     OHOS::MessageParcel data;
129     OHOS::MessageParcel reply;
130     OHOS::MessageOption option(OHOS::MessageOption::TF_SYNC);
131 
132     ASSERT_EQ(true, data.WriteInterfaceToken(El5FilekeyManagerInterface::GetDescriptor()));
133 
134     ASSERT_EQ(el5FilekeyManagerStub_->OnRemoteRequest(
135         static_cast<uint32_t>(El5FilekeyManagerInterfaceIpcCode::COMMAND_GET_USER_APP_KEY), data, reply, option),
136         OHOS::NO_ERROR);
137 }
138 
139 /**
140  * @tc.name: OnRemoteRequest006
141  * @tc.desc: El5FilekeyManagerInterfaceIpcCode::COMMAND_CHANGE_USER_APPKEYS_LOAD_INFO.
142  * @tc.type: FUNC
143  * @tc.require: issueI9JGMV
144  */
145 HWTEST_F(El5FilekeyManagerStubTest, OnRemoteRequest006, TestSize.Level1)
146 {
147     OHOS::MessageParcel data;
148     OHOS::MessageParcel reply;
149     OHOS::MessageOption option(OHOS::MessageOption::TF_SYNC);
150 
151     ASSERT_EQ(true, data.WriteInterfaceToken(El5FilekeyManagerInterface::GetDescriptor()));
152 
153     data.WriteUint32(1);
154     data.WriteString("test");
155     data.WriteBool(false);
156 
157     ASSERT_EQ(el5FilekeyManagerStub_->OnRemoteRequest(
158         static_cast<uint32_t>(El5FilekeyManagerInterfaceIpcCode::COMMAND_CHANGE_USER_APPKEYS_LOAD_INFO),
159             data, reply, option),
160         OHOS::ERR_INVALID_DATA);
161 }
162 
163 /**
164  * @tc.name: OnRemoteRequest007
165  * @tc.desc: El5FilekeyManagerInterfaceIpcCode::COMMAND_CHANGE_USER_APPKEYS_LOAD_INFO.
166  * @tc.type: FUNC
167  * @tc.require: issueI9JGMV
168  */
169 HWTEST_F(El5FilekeyManagerStubTest, OnRemoteRequest007, TestSize.Level1)
170 {
171     OHOS::MessageParcel data;
172     OHOS::MessageParcel reply;
173     OHOS::MessageOption option(OHOS::MessageOption::TF_SYNC);
174 
175     ASSERT_EQ(true, data.WriteInterfaceToken(El5FilekeyManagerInterface::GetDescriptor()));
176 
177     data.WriteUint32(10000);
178     data.WriteString("test");
179     data.WriteBool(false);
180 
181     ASSERT_EQ(el5FilekeyManagerStub_->OnRemoteRequest(
182         static_cast<uint32_t>(El5FilekeyManagerInterfaceIpcCode::COMMAND_CHANGE_USER_APPKEYS_LOAD_INFO),
183             data, reply, option),
184         OHOS::ERR_INVALID_DATA);
185 }
186 
187 /**
188  * @tc.name: OnRemoteRequest008
189  * @tc.desc: El5FilekeyManagerInterfaceIpcCode::COMMAND_SET_FILE_PATH_POLICY.
190  * @tc.type: FUNC
191  * @tc.require: issueI9JGMV
192  */
193 HWTEST_F(El5FilekeyManagerStubTest, OnRemoteRequest008, TestSize.Level1)
194 {
195     OHOS::MessageParcel data;
196     OHOS::MessageParcel reply;
197     OHOS::MessageOption option(OHOS::MessageOption::TF_SYNC);
198 
199     ASSERT_EQ(true, data.WriteInterfaceToken(El5FilekeyManagerInterface::GetDescriptor()));
200 
201     ASSERT_EQ(el5FilekeyManagerStub_->OnRemoteRequest(
202         static_cast<uint32_t>(El5FilekeyManagerInterfaceIpcCode::COMMAND_SET_FILE_PATH_POLICY), data, reply, option),
203         OHOS::NO_ERROR);
204 }
205 
206 /**
207  * @tc.name: OnRemoteRequest009
208  * @tc.desc: El5FilekeyManagerInterfaceIpcCode::COMMAND_REGISTER_CALLBACK.
209  * @tc.type: FUNC
210  * @tc.require: issueI9JGMV
211  */
212 HWTEST_F(El5FilekeyManagerStubTest, OnRemoteRequest009, TestSize.Level1)
213 {
214     OHOS::MessageParcel data;
215     OHOS::MessageParcel reply;
216     OHOS::MessageOption option(OHOS::MessageOption::TF_SYNC);
217 
218     ASSERT_EQ(true, data.WriteInterfaceToken(El5FilekeyManagerInterface::GetDescriptor()));
219 
220     ASSERT_EQ(el5FilekeyManagerStub_->OnRemoteRequest(
221         static_cast<uint32_t>(El5FilekeyManagerInterfaceIpcCode::COMMAND_REGISTER_CALLBACK), data, reply, option),
222         OHOS::ERR_INVALID_DATA);
223 }
224 
225 /**
226  * @tc.name: OnRemoteRequest010
227  * @tc.desc: data.ReadInterfaceToken() != El5FilekeyManagerInterface::GetDescriptor().
228  * @tc.type: FUNC
229  * @tc.require: issueI9JGMV
230  */
231 HWTEST_F(El5FilekeyManagerStubTest, OnRemoteRequest010, TestSize.Level1)
232 {
233     OHOS::MessageParcel data;
234     OHOS::MessageParcel reply;
235     OHOS::MessageOption option(OHOS::MessageOption::TF_SYNC);
236 
237     std::string des = "I don't know";
238     data.WriteInterfaceToken(OHOS::Str8ToStr16(des));
239 
240     ASSERT_EQ(el5FilekeyManagerStub_->OnRemoteRequest(
241         static_cast<uint32_t>(El5FilekeyManagerInterfaceIpcCode::COMMAND_GENERATE_APP_KEY), data, reply, option),
242         OHOS::ERR_TRANSACTION_FAILED);
243 }
244 
245 /**
246  * @tc.name: OnRemoteRequest011
247  * @tc.desc: OnRemoteRequest, code < 0.
248  * @tc.type: FUNC
249  * @tc.require: issueI9JGMV
250  */
251 HWTEST_F(El5FilekeyManagerStubTest, OnRemoteRequest011, TestSize.Level1)
252 {
253     OHOS::MessageParcel data;
254     OHOS::MessageParcel reply;
255     OHOS::MessageOption option(OHOS::MessageOption::TF_SYNC);
256 
257     std::string des = "I don't know";
258     data.WriteInterfaceToken(OHOS::Str8ToStr16(des));
259     int32_t code = -1;
260 
261     ASSERT_EQ(el5FilekeyManagerStub_->OnRemoteRequest(code, data, reply, option), OHOS::ERR_TRANSACTION_FAILED);
262 }
263 
264 /**
265  * @tc.name: OnRemoteRequest0012
266  * @tc.desc: El5FilekeyManagerInterfaceIpcCode::COMMAND_GENERATE_GROUP_I_D_KEY.
267  * @tc.type: FUNC
268  * @tc.require: issueI9JGMV
269  */
270 HWTEST_F(El5FilekeyManagerStubTest, OnRemoteRequest0012, TestSize.Level1)
271 {
272     OHOS::MessageParcel data;
273     OHOS::MessageParcel reply;
274     OHOS::MessageOption option(OHOS::MessageOption::TF_SYNC);
275 
276     ASSERT_EQ(true, data.WriteInterfaceToken(El5FilekeyManagerInterface::GetDescriptor()));
277 
278     ASSERT_EQ(el5FilekeyManagerStub_->OnRemoteRequest(
279         static_cast<uint32_t>(El5FilekeyManagerInterfaceIpcCode::COMMAND_GENERATE_GROUP_I_D_KEY), data, reply, option),
280         OHOS::NO_ERROR);
281 }
282 
283 /**
284  * @tc.name: OnRemoteRequest0013
285  * @tc.desc: El5FilekeyManagerInterfaceIpcCode::COMMAND_DELETE_GROUP_I_D_KEY.
286  * @tc.type: FUNC
287  * @tc.require: issueI9JGMV
288  */
289 HWTEST_F(El5FilekeyManagerStubTest, OnRemoteRequest0013, TestSize.Level1)
290 {
291     OHOS::MessageParcel data;
292     OHOS::MessageParcel reply;
293     OHOS::MessageOption option(OHOS::MessageOption::TF_SYNC);
294 
295     ASSERT_EQ(true, data.WriteInterfaceToken(El5FilekeyManagerInterface::GetDescriptor()));
296 
297     ASSERT_EQ(el5FilekeyManagerStub_->OnRemoteRequest(
298         static_cast<uint32_t>(El5FilekeyManagerInterfaceIpcCode::COMMAND_DELETE_GROUP_I_D_KEY), data, reply, option),
299         OHOS::NO_ERROR);
300 }
301 
302 /**
303  * @tc.name: OnRemoteRequest0014
304  * @tc.desc: El5FilekeyManagerInterfaceIpcCode::COMMAND_QUERY_APP_KEY_STATE.
305  * @tc.type: FUNC
306  * @tc.require: issueI9JGMV
307  */
308 HWTEST_F(El5FilekeyManagerStubTest, OnRemoteRequest0014, TestSize.Level1)
309 {
310     OHOS::MessageParcel data;
311     OHOS::MessageParcel reply;
312     OHOS::MessageOption option(OHOS::MessageOption::TF_SYNC);
313 
314     ASSERT_EQ(true, data.WriteInterfaceToken(El5FilekeyManagerInterface::GetDescriptor()));
315 
316     ASSERT_EQ(el5FilekeyManagerStub_->OnRemoteRequest(
317         static_cast<uint32_t>(El5FilekeyManagerInterfaceIpcCode::COMMAND_QUERY_APP_KEY_STATE), data, reply, option),
318         OHOS::ERR_INVALID_DATA);
319 }
320