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 <gmock/gmock.h>
17 #include <gtest/gtest.h>
18 #include <memory>
19 #include <vector>
20
21 #include "bindable.h"
22 #include "context.h"
23 #include "extension_context.h"
24 #include "ability_context.h"
25 #include "file_access_ext_base_stub.h"
26 #include "file_access_ext_stub_impl.h"
27 #include "file_access_extension_info.h"
28 #include "file_access_framework_errno.h"
29 #include "file_access_ext_ability_mock.h"
30 #include "uri_ext.h"
31 #include "accesstoken_kit.h"
32 #include "nativetoken_kit.h"
33 #include "token_setproc.h"
34
35 namespace OHOS::FileAccessFwk {
36 using namespace std;
37 using namespace testing;
38 using namespace testing::ext;
39 using namespace OHOS::AbilityRuntime;
40
SetNativeToken()41 void SetNativeToken()
42 {
43 uint64_t tokenId;
44 const char *perms[] = {
45 "ohos.permission.FILE_ACCESS_MANAGER",
46 "ohos.permission.GET_BUNDLE_INFO_PRIVILEGED",
47 "ohos.permission.CONNECT_FILE_ACCESS_EXTENSION"
48 };
49 NativeTokenInfoParams infoInstance = {
50 .dcapsNum = 0,
51 .permsNum = 3,
52 .aclsNum = 0,
53 .dcaps = nullptr,
54 .perms = perms,
55 .acls = nullptr,
56 .aplStr = "system_core",
57 };
58
59 infoInstance.processName = "SetUpTestCase";
60 tokenId = GetAccessTokenId(&infoInstance);
61 const uint64_t systemAppMask = (static_cast<uint64_t>(1) << 32);
62 tokenId |= systemAppMask;
63 SetSelfTokenID(tokenId);
64 OHOS::Security::AccessToken::AccessTokenKit::ReloadNativeTokenInfo();
65 }
66
OnRemoteRequest(uint32_t code,MessageParcel & data,MessageParcel & reply,MessageOption & option)67 int FileAccessExtBaseStub::OnRemoteRequest(uint32_t code, MessageParcel& data, MessageParcel& reply,
68 MessageOption& option)
69 {
70 return 0;
71 }
72
73 class FileAccessExtStubImplTest : public testing::Test {
74 public:
SetUpTestCase(void)75 static void SetUpTestCase(void) {}
TearDownTestCase()76 static void TearDownTestCase() {}
SetUp()77 void SetUp() {}
TearDown()78 void TearDown() {}
79 shared_ptr<FileAccessExtAbilityMock> ability = make_shared<FileAccessExtAbilityMock>();
80 };
81
82 /**
83 * @tc.number: user_file_service_file_access_ext_stub_impl_OpenFile_0000
84 * @tc.name: file_access_ext_stub_impl_OpenFile_0000
85 * @tc.desc: Test function of OpenFile interface for ERROR because of extension is nullptr.
86 * @tc.size: MEDIUM
87 * @tc.type: FUNC
88 * @tc.level Level 3
89 * @tc.require: issuesI8WZ9U
90 */
91 HWTEST_F(FileAccessExtStubImplTest, file_access_ext_stub_impl_OpenFile_0000, testing::ext::TestSize.Level1)
92 {
93 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-begin file_access_ext_stub_impl_OpenFile_0000";
94 try {
95 int fd;
96 Urie uri("");
97 FileAccessExtStubImpl impl(nullptr, nullptr);
98 int result = impl.OpenFile(uri, WRITE_READ, fd);
99 EXPECT_EQ(result, E_IPCS);
100 } catch (...) {
101 GTEST_LOG_(ERROR) << "FileAccessExtStubImplTest occurs an exception.";
102 }
103 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-end file_access_ext_stub_impl_OpenFile_0000";
104 }
105
106 /**
107 * @tc.number: user_file_service_file_access_ext_stub_impl_OpenFile_0001
108 * @tc.name: file_access_ext_stub_impl_OpenFile_0001
109 * @tc.desc: Test function of OpenFile interface for SUCCESS.
110 * @tc.size: MEDIUM
111 * @tc.type: FUNC
112 * @tc.level Level 3
113 * @tc.require: issuesI8WZ9U
114 */
115 HWTEST_F(FileAccessExtStubImplTest, file_access_ext_stub_impl_OpenFile_0001, testing::ext::TestSize.Level1)
116 {
117 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-begin file_access_ext_stub_impl_OpenFile_0001";
118 try {
119 EXPECT_CALL(*ability, OpenFile(_, _, _)).WillOnce(Return(OHOS::FileAccessFwk::ERR_OK));
120
121 SetNativeToken();
122 int fd;
123 Urie uri("");
124 FileAccessExtStubImpl impl(ability, nullptr);
125 int result = impl.OpenFile(uri, WRITE_READ, fd);
126 EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK);
127 } catch (...) {
128 GTEST_LOG_(ERROR) << "FileAccessExtStubImplTest occurs an exception.";
129 }
130 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-end file_access_ext_stub_impl_OpenFile_0001";
131 }
132
133 /**
134 * @tc.number: user_file_service_file_access_ext_stub_impl_CreateFile_0000
135 * @tc.name: file_access_ext_stub_impl_CreateFile_0000
136 * @tc.desc: Test function of CreateFile interface for ERROR because of extension is nullptr.
137 * @tc.size: MEDIUM
138 * @tc.type: FUNC
139 * @tc.level Level 3
140 * @tc.require: issuesI8WZ9U
141 */
142 HWTEST_F(FileAccessExtStubImplTest, file_access_ext_stub_impl_CreateFile_0000, testing::ext::TestSize.Level1)
143 {
144 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-begin file_access_ext_stub_impl_CreateFile_0000";
145 try {
146 Urie uri("");
147 Urie newUri("");
148 string displayName = "";
149 FileAccessExtStubImpl impl(nullptr, nullptr);
150 int result = impl.CreateFile(uri, displayName, newUri);
151 EXPECT_EQ(result, E_IPCS);
152 } catch (...) {
153 GTEST_LOG_(ERROR) << "FileAccessExtStubImplTest occurs an exception.";
154 }
155 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-end file_access_ext_stub_impl_CreateFile_0000";
156 }
157
158 /**
159 * @tc.number: user_file_service_file_access_ext_stub_impl_CreateFile_0001
160 * @tc.name: file_access_ext_stub_impl_CreateFile_0001
161 * @tc.desc: Test function of CreateFile interface for SUCCESS.
162 * @tc.size: MEDIUM
163 * @tc.type: FUNC
164 * @tc.level Level 3
165 * @tc.require: issuesI8WZ9U
166 */
167 HWTEST_F(FileAccessExtStubImplTest, file_access_ext_stub_impl_CreateFile_0001, testing::ext::TestSize.Level1)
168 {
169 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-begin file_access_ext_stub_impl_CreateFile_0001";
170 try {
171 EXPECT_CALL(*ability, CreateFile(_, _, _)).WillOnce(Return(OHOS::FileAccessFwk::ERR_OK));
172
173 Urie uri("");
174 Urie newUri("");
175 string displayName = "";
176 FileAccessExtStubImpl impl(ability, nullptr);
177 int result = impl.CreateFile(uri, displayName, newUri);
178 EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK);
179 } catch (...) {
180 GTEST_LOG_(ERROR) << "FileAccessExtStubImplTest occurs an exception.";
181 }
182 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-end file_access_ext_stub_impl_CreateFile_0001";
183 }
184
185 /**
186 * @tc.number: user_file_service_file_access_ext_stub_impl_Mkdir_0000
187 * @tc.name: file_access_ext_stub_impl_Mkdir_0000
188 * @tc.desc: Test function of Mkdir interface for ERROR because of extension is nullptr.
189 * @tc.size: MEDIUM
190 * @tc.type: FUNC
191 * @tc.level Level 3
192 * @tc.require: issuesI8WZ9U
193 */
194 HWTEST_F(FileAccessExtStubImplTest, file_access_ext_stub_impl_Mkdir_0000, testing::ext::TestSize.Level1)
195 {
196 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-begin file_access_ext_stub_impl_Mkdir_0000";
197 try {
198 Urie uri("");
199 Urie newUri("");
200 string displayName = "";
201 FileAccessExtStubImpl impl(nullptr, nullptr);
202 int result = impl.Mkdir(uri, displayName, newUri);
203 EXPECT_EQ(result, E_IPCS);
204 } catch (...) {
205 GTEST_LOG_(ERROR) << "FileAccessExtStubImplTest occurs an exception.";
206 }
207 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-end file_access_ext_stub_impl_Mkdir_0000";
208 }
209
210 /**
211 * @tc.number: user_file_service_file_access_ext_stub_impl_Mkdir_0001
212 * @tc.name: file_access_ext_stub_impl_Mkdir_0001
213 * @tc.desc: Test function of Mkdir interface for SUCCESS.
214 * @tc.size: MEDIUM
215 * @tc.type: FUNC
216 * @tc.level Level 3
217 * @tc.require: issuesI8WZ9U
218 */
219 HWTEST_F(FileAccessExtStubImplTest, file_access_ext_stub_impl_Mkdir_0001, testing::ext::TestSize.Level1)
220 {
221 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-begin file_access_ext_stub_impl_Mkdir_0001";
222 try {
223 EXPECT_CALL(*ability, Mkdir(_, _, _)).WillOnce(Return(OHOS::FileAccessFwk::ERR_OK));
224
225 Urie uri("");
226 Urie newUri("");
227 string displayName = "";
228 FileAccessExtStubImpl impl(ability, nullptr);
229 int result = impl.Mkdir(uri, displayName, newUri);
230 EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK);
231 } catch (...) {
232 GTEST_LOG_(ERROR) << "FileAccessExtStubImplTest occurs an exception.";
233 }
234 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-end file_access_ext_stub_impl_Mkdir_0001";
235 }
236
237 /**
238 * @tc.number: user_file_service_file_access_ext_stub_impl_Delete_0000
239 * @tc.name: file_access_ext_stub_impl_Delete_0000
240 * @tc.desc: Test function of Delete interface for ERROR because of extension is nullptr.
241 * @tc.size: MEDIUM
242 * @tc.type: FUNC
243 * @tc.level Level 3
244 * @tc.require: issuesI8WZ9U
245 */
246 HWTEST_F(FileAccessExtStubImplTest, file_access_ext_stub_impl_Delete_0000, testing::ext::TestSize.Level1)
247 {
248 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-begin file_access_ext_stub_impl_Delete_0000";
249 try {
250 Urie sourceFile("");
251 FileAccessExtStubImpl impl(nullptr, nullptr);
252 int result = impl.Delete(sourceFile);
253 EXPECT_EQ(result, E_IPCS);
254 } catch (...) {
255 GTEST_LOG_(ERROR) << "FileAccessExtStubImplTest occurs an exception.";
256 }
257 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-end file_access_ext_stub_impl_Delete_0000";
258 }
259
260 /**
261 * @tc.number: user_file_service_file_access_ext_stub_impl_Delete_0001
262 * @tc.name: file_access_ext_stub_impl_Delete_0001
263 * @tc.desc: Test function of Delete interface for SUCCESS.
264 * @tc.size: MEDIUM
265 * @tc.type: FUNC
266 * @tc.level Level 3
267 * @tc.require: issuesI8WZ9U
268 */
269 HWTEST_F(FileAccessExtStubImplTest, file_access_ext_stub_impl_Delete_0001, testing::ext::TestSize.Level1)
270 {
271 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-begin file_access_ext_stub_impl_Delete_0001";
272 try {
273 EXPECT_CALL(*ability, Delete(_)).WillOnce(Return(OHOS::FileAccessFwk::ERR_OK));
274
275 Urie sourceFile("");
276 FileAccessExtStubImpl impl(ability, nullptr);
277 int result = impl.Delete(sourceFile);
278 EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK);
279 } catch (...) {
280 GTEST_LOG_(ERROR) << "FileAccessExtStubImplTest occurs an exception.";
281 }
282 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-end file_access_ext_stub_impl_Delete_0001";
283 }
284
285 /**
286 * @tc.number: user_file_service_file_access_ext_stub_impl_Move_0000
287 * @tc.name: file_access_ext_stub_impl_Move_0000
288 * @tc.desc: Test function of Move interface for ERROR because of extension is nullptr.
289 * @tc.size: MEDIUM
290 * @tc.type: FUNC
291 * @tc.level Level 3
292 * @tc.require: issuesI8WZ9U
293 */
294 HWTEST_F(FileAccessExtStubImplTest, file_access_ext_stub_impl_Move_0000, testing::ext::TestSize.Level1)
295 {
296 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-begin file_access_ext_stub_impl_Move_0000";
297 try {
298 Urie sourceFile("");
299 Urie targetParent("");
300 Urie newFile("");
301 FileAccessExtStubImpl impl(nullptr, nullptr);
302 int result = impl.Move(sourceFile, targetParent, newFile);
303 EXPECT_EQ(result, E_IPCS);
304 } catch (...) {
305 GTEST_LOG_(ERROR) << "FileAccessExtStubImplTest occurs an exception.";
306 }
307 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-end file_access_ext_stub_impl_Move_0000";
308 }
309
310 /**
311 * @tc.number: user_file_service_file_access_ext_stub_impl_Move_0001
312 * @tc.name: file_access_ext_stub_impl_Move_0001
313 * @tc.desc: Test function of Move interface for SUCCESS.
314 * @tc.size: MEDIUM
315 * @tc.type: FUNC
316 * @tc.level Level 3
317 * @tc.require: issuesI8XFLP
318 */
319 HWTEST_F(FileAccessExtStubImplTest, file_access_ext_stub_impl_Move_0001, testing::ext::TestSize.Level1)
320 {
321 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-begin file_access_ext_stub_impl_Move_0001";
322 try {
323 EXPECT_CALL(*ability, Move(_, _, _)).WillOnce(Return(OHOS::FileAccessFwk::ERR_OK));
324
325 Urie sourceFile("");
326 Urie targetParent("");
327 Urie newFile("");
328 FileAccessExtStubImpl impl(ability, nullptr);
329 int result = impl.Move(sourceFile, targetParent, newFile);
330 EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK);
331 } catch (...) {
332 GTEST_LOG_(ERROR) << "FileAccessExtStubImplTest occurs an exception.";
333 }
334 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-end file_access_ext_stub_impl_Move_0001";
335 }
336
337 /**
338 * @tc.number: user_file_service_file_access_ext_stub_impl_Copy_0000
339 * @tc.name: file_access_ext_stub_impl_Copy_0000
340 * @tc.desc: Test function of Copy interface for ERROR because of extension is nullptr.
341 * @tc.size: MEDIUM
342 * @tc.type: FUNC
343 * @tc.level Level 3
344 * @tc.require: issuesI8XFLP
345 */
346 HWTEST_F(FileAccessExtStubImplTest, file_access_ext_stub_impl_Copy_0000, testing::ext::TestSize.Level1)
347 {
348 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-begin file_access_ext_stub_impl_Copy_0000";
349 try {
350 Urie sourceFile("");
351 Urie destUri("");
352 vector<Result> copyResult;
353 FileAccessExtStubImpl impl(nullptr, nullptr);
354 int retCode;
355 int result = impl.Copy(sourceFile, destUri, copyResult, retCode);
356 result = retCode;
357 EXPECT_EQ(result, ERR_OK);
358 } catch (...) {
359 GTEST_LOG_(ERROR) << "FileAccessExtStubImplTest occurs an exception.";
360 }
361 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-end file_access_ext_stub_impl_Copy_0000";
362 }
363
364 /**
365 * @tc.number: user_file_service_file_access_ext_stub_impl_Copy_0001
366 * @tc.name: file_access_ext_stub_impl_Copy_0001
367 * @tc.desc: Test function of Copy interface for SUCCESS.
368 * @tc.size: MEDIUM
369 * @tc.type: FUNC
370 * @tc.level Level 3
371 * @tc.require: issuesI8XFLP
372 */
373 HWTEST_F(FileAccessExtStubImplTest, file_access_ext_stub_impl_Copy_0001, testing::ext::TestSize.Level1)
374 {
375 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-begin file_access_ext_stub_impl_Copy_0001";
376 try {
377 EXPECT_CALL(*ability, Copy(_, _, _, _)).WillOnce(Return(OHOS::FileAccessFwk::ERR_OK));
378
379 Urie sourceFile("");
380 Urie destUri("");
381 vector<Result> copyResult;
382 FileAccessExtStubImpl impl(ability, nullptr);
383 int retCode;
384 int result = impl.Copy(sourceFile, destUri, copyResult, retCode);
385 result = retCode;
386 EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK);
387 } catch (...) {
388 GTEST_LOG_(ERROR) << "FileAccessExtStubImplTest occurs an exception.";
389 }
390 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-end file_access_ext_stub_impl_Copy_0001";
391 }
392
393 /**
394 * @tc.number: user_file_service_file_access_ext_stub_impl_CopyFile_0000
395 * @tc.name: file_access_ext_stub_impl_CopyFile_0000
396 * @tc.desc: Test function of CopyFile interface for ERROR because of extension is nullptr.
397 * @tc.size: MEDIUM
398 * @tc.type: FUNC
399 * @tc.level Level 3
400 * @tc.require: issuesI8XFLP
401 */
402 HWTEST_F(FileAccessExtStubImplTest, file_access_ext_stub_impl_CopyFile_0000, testing::ext::TestSize.Level1)
403 {
404 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-begin file_access_ext_stub_impl_CopyFile_0000";
405 try {
406 Urie sourceFile("");
407 Urie destUri("");
408 string fileName;
409 Urie newFileUri("");
410 FileAccessExtStubImpl impl(nullptr, nullptr);
411 int result = impl.CopyFile(sourceFile, destUri, fileName, newFileUri);
412 EXPECT_EQ(result, E_IPCS);
413 } catch (...) {
414 GTEST_LOG_(ERROR) << "FileAccessExtStubImplTest occurs an exception.";
415 }
416 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-end file_access_ext_stub_impl_CopyFile_0000";
417 }
418
419 /**
420 * @tc.number: user_file_service_file_access_ext_stub_impl_CopyFile_0001
421 * @tc.name: file_access_ext_stub_impl_CopyFile_0001
422 * @tc.desc: Test function of CopyFile interface for SUCCESS.
423 * @tc.size: MEDIUM
424 * @tc.type: FUNC
425 * @tc.level Level 3
426 * @tc.require: issuesI8XFLP
427 */
428 HWTEST_F(FileAccessExtStubImplTest, file_access_ext_stub_impl_CopyFile_0001, testing::ext::TestSize.Level1)
429 {
430 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-begin file_access_ext_stub_impl_CopyFile_0001";
431 try {
432 EXPECT_CALL(*ability, CopyFile(_, _, _, _)).WillOnce(Return(OHOS::FileAccessFwk::ERR_OK));
433
434 Urie sourceFile("");
435 Urie destUri("");
436 string fileName;
437 Urie newFileUri("");
438 FileAccessExtStubImpl impl(ability, nullptr);
439 int result = impl.CopyFile(sourceFile, destUri, fileName, newFileUri);
440 EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK);
441 } catch (...) {
442 GTEST_LOG_(ERROR) << "FileAccessExtStubImplTest occurs an exception.";
443 }
444 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-end file_access_ext_stub_impl_CopyFile_0001";
445 }
446
447 /**
448 * @tc.number: user_file_service_file_access_ext_stub_impl_Rename_0000
449 * @tc.name: file_access_ext_stub_impl_Rename_0000
450 * @tc.desc: Test function of Rename interface for ERROR because of extension is nullptr.
451 * @tc.size: MEDIUM
452 * @tc.type: FUNC
453 * @tc.level Level 3
454 * @tc.require: issuesI8XFLP
455 */
456 HWTEST_F(FileAccessExtStubImplTest, file_access_ext_stub_impl_Rename_0000, testing::ext::TestSize.Level1)
457 {
458 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-begin file_access_ext_stub_impl_Rename_0000";
459 try {
460 Urie sourceFile("");
461 Urie newUri("");
462 string displayName = "";
463 FileAccessExtStubImpl impl(nullptr, nullptr);
464 int result = impl.Rename(sourceFile, displayName, newUri);
465 EXPECT_EQ(result, E_IPCS);
466 } catch (...) {
467 GTEST_LOG_(ERROR) << "FileAccessExtStubImplTest occurs an exception.";
468 }
469 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-end file_access_ext_stub_impl_Rename_0000";
470 }
471
472 /**
473 * @tc.number: user_file_service_file_access_ext_stub_impl_Rename_0001
474 * @tc.name: file_access_ext_stub_impl_Rename_0001
475 * @tc.desc: Test function of Rename interface for SUCCESS.
476 * @tc.size: MEDIUM
477 * @tc.type: FUNC
478 * @tc.level Level 3
479 * @tc.require: issuesI8XFLP
480 */
481 HWTEST_F(FileAccessExtStubImplTest, file_access_ext_stub_impl_Rename_0001, testing::ext::TestSize.Level1)
482 {
483 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-begin file_access_ext_stub_impl_Rename_0001";
484 try {
485 EXPECT_CALL(*ability, Rename(_, _, _)).WillOnce(Return(OHOS::FileAccessFwk::ERR_OK));
486
487 Urie sourceFile("");
488 Urie newUri("");
489 string displayName = "";
490 FileAccessExtStubImpl impl(ability, nullptr);
491 int result = impl.Rename(sourceFile, displayName, newUri);
492 EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK);
493 } catch (...) {
494 GTEST_LOG_(ERROR) << "FileAccessExtStubImplTest occurs an exception.";
495 }
496 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-end file_access_ext_stub_impl_Rename_0001";
497 }
498
499 /**
500 * @tc.number: user_file_service_file_access_ext_stub_impl_ListFile_0000
501 * @tc.name: file_access_ext_stub_impl_ListFile_0000
502 * @tc.desc: Test function of ListFile interface for ERROR because of extension is nullptr.
503 * @tc.size: MEDIUM
504 * @tc.type: FUNC
505 * @tc.level Level 3
506 * @tc.require: issuesI8XFLP
507 */
508 HWTEST_F(FileAccessExtStubImplTest, file_access_ext_stub_impl_ListFile_0000, testing::ext::TestSize.Level1)
509 {
510 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-begin file_access_ext_stub_impl_ListFile_0000";
511 try {
512 FileInfo fileInfo;
513 int64_t offset = 0;
514 const FileFilter filter;
515 SharedMemoryInfo memInfo;
516 FileAccessExtStubImpl impl(nullptr, nullptr);
517 int result = impl.ListFile(fileInfo, offset, filter, memInfo);
518 EXPECT_EQ(result, E_IPCS);
519 } catch (...) {
520 GTEST_LOG_(ERROR) << "FileAccessExtStubImplTest occurs an exception.";
521 }
522 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-end file_access_ext_stub_impl_ListFile_0000";
523 }
524
525 /**
526 * @tc.number: user_file_service_file_access_ext_stub_impl_ListFile_0001
527 * @tc.name: file_access_ext_stub_impl_ListFile_0001
528 * @tc.desc: Test function of ListFile interface for SUCCESS.
529 * @tc.size: MEDIUM
530 * @tc.type: FUNC
531 * @tc.level Level 3
532 * @tc.require: issuesI8XFLP
533 */
534 HWTEST_F(FileAccessExtStubImplTest, file_access_ext_stub_impl_ListFile_0001, testing::ext::TestSize.Level1)
535 {
536 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-begin file_access_ext_stub_impl_ListFile_0001";
537 try {
538 EXPECT_CALL(*ability, ListFile(_, _, _, _, _)).WillOnce(Return(EPERM));
539
540 FileInfo fileInfo;
541 int64_t offset = 0;
542 const FileFilter filter;
543 SharedMemoryInfo memInfo;
544 int result = FileAccessFwk::SharedMemoryOperation::CreateSharedMemory("FileInfo List", DEFAULT_CAPACITY_200KB,
545 memInfo);
546 FileAccessExtStubImpl impl(ability, nullptr);
547 result = impl.ListFile(fileInfo, offset, filter, memInfo);
548 EXPECT_EQ(result, EPERM);
549 } catch (...) {
550 GTEST_LOG_(ERROR) << "FileAccessExtStubImplTest occurs an exception.";
551 }
552 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-end file_access_ext_stub_impl_ListFile_0001";
553 }
554
555 /**
556 * @tc.number: user_file_service_file_access_ext_stub_impl_ListFile_0002
557 * @tc.name: file_access_ext_stub_impl_ListFile_0002
558 * @tc.desc: Test function of ListFile interface for SUCCESS.
559 * @tc.size: MEDIUM
560 * @tc.type: FUNC
561 * @tc.level Level 3
562 * @tc.require: issuesI8XFLP
563 */
564 HWTEST_F(FileAccessExtStubImplTest, file_access_ext_stub_impl_ListFile_0002, testing::ext::TestSize.Level1)
565 {
566 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-begin file_access_ext_stub_impl_ListFile_0002";
567 try {
568 EXPECT_CALL(*ability, ListFile(_, _, _, _, _)).WillOnce(Return(OHOS::FileAccessFwk::ERR_OK));
569
570 FileInfo fileInfo;
571 int64_t offset = 0;
572 const FileFilter filter;
573 SharedMemoryInfo memInfo;
574 int result = FileAccessFwk::SharedMemoryOperation::CreateSharedMemory("FileInfo List", DEFAULT_CAPACITY_200KB,
575 memInfo);
576 FileAccessExtStubImpl impl(ability, nullptr);
577 result = impl.ListFile(fileInfo, offset, filter, memInfo);
578 EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK);
579 } catch (...) {
580 GTEST_LOG_(ERROR) << "FileAccessExtStubImplTest occurs an exception.";
581 }
582 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-end file_access_ext_stub_impl_ListFile_0002";
583 }
584
585 /**
586 * @tc.number: user_file_service_file_access_ext_stub_impl_ScanFile_0000
587 * @tc.name: file_access_ext_stub_impl_ScanFile_0000
588 * @tc.desc: Test function of ScanFile interface for ERROR because of extension is nullptr.
589 * @tc.size: MEDIUM
590 * @tc.type: FUNC
591 * @tc.level Level 3
592 * @tc.require: issuesI8XFLP
593 */
594 HWTEST_F(FileAccessExtStubImplTest, file_access_ext_stub_impl_ScanFile_0000, testing::ext::TestSize.Level1)
595 {
596 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-begin file_access_ext_stub_impl_ScanFile_0000";
597 try {
598 FileInfo fileInfo;
599 int64_t offset = 0;
600 int64_t maxCount = 0;
601 const FileFilter filter;
602 vector<FileInfo> fileInfoVec;
603 FileAccessExtStubImpl impl(nullptr, nullptr);
604 int result = impl.ScanFile(fileInfo, offset, maxCount, filter, fileInfoVec);
605 EXPECT_EQ(result, E_IPCS);
606 } catch (...) {
607 GTEST_LOG_(ERROR) << "FileAccessExtStubImplTest occurs an exception.";
608 }
609 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-end file_access_ext_stub_impl_ScanFile_0000";
610 }
611
612 /**
613 * @tc.number: user_file_service_file_access_ext_stub_impl_ScanFile_0001
614 * @tc.name: file_access_ext_stub_impl_ScanFile_0001
615 * @tc.desc: Test function of ScanFile interface for SUCCESS.
616 * @tc.size: MEDIUM
617 * @tc.type: FUNC
618 * @tc.level Level 3
619 * @tc.require: issuesI8XFLP
620 */
621 HWTEST_F(FileAccessExtStubImplTest, file_access_ext_stub_impl_ScanFile_0001, testing::ext::TestSize.Level1)
622 {
623 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-begin file_access_ext_stub_impl_ScanFile_0001";
624 try {
625 EXPECT_CALL(*ability, ScanFile(_, _, _, _, _)).WillOnce(Return(OHOS::FileAccessFwk::ERR_OK));
626
627 FileInfo fileInfo;
628 int64_t offset = 0;
629 int64_t maxCount = 0;
630 const FileFilter filter;
631 vector<FileInfo> fileInfoVec;
632 FileAccessExtStubImpl impl(ability, nullptr);
633 int result = impl.ScanFile(fileInfo, offset, maxCount, filter, fileInfoVec);
634 EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK);
635 } catch (...) {
636 GTEST_LOG_(ERROR) << "FileAccessExtStubImplTest occurs an exception.";
637 }
638 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-end file_access_ext_stub_impl_ScanFile_0001";
639 }
640
641 /**
642 * @tc.number: user_file_service_file_access_ext_stub_impl_Query_0000
643 * @tc.name: file_access_ext_stub_impl_Query_0000
644 * @tc.desc: Test function of Query interface for ERROR because of extension is nullptr.
645 * @tc.size: MEDIUM
646 * @tc.type: FUNC
647 * @tc.level Level 3
648 * @tc.require: issuesI8XFLP
649 */
650 HWTEST_F(FileAccessExtStubImplTest, file_access_ext_stub_impl_Query_0000, testing::ext::TestSize.Level1)
651 {
652 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-begin file_access_ext_stub_impl_Query_0000";
653 try {
654 Urie uri("");
655 vector<string> columns;
656 vector<string> results;
657 FileAccessExtStubImpl impl(nullptr, nullptr);
658 int result = impl.Query(uri, columns, results);
659 EXPECT_EQ(result, E_IPCS);
660 } catch (...) {
661 GTEST_LOG_(ERROR) << "FileAccessExtStubImplTest occurs an exception.";
662 }
663 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-end file_access_ext_stub_impl_Query_0000";
664 }
665
666 /**
667 * @tc.number: user_file_service_file_access_ext_stub_impl_Query_0001
668 * @tc.name: file_access_ext_stub_impl_Query_0001
669 * @tc.desc: Test function of Query interface for SUCCESS.
670 * @tc.size: MEDIUM
671 * @tc.type: FUNC
672 * @tc.level Level 3
673 * @tc.require: issuesI8XFLP
674 */
675 HWTEST_F(FileAccessExtStubImplTest, file_access_ext_stub_impl_Query_0001, testing::ext::TestSize.Level1)
676 {
677 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-begin file_access_ext_stub_impl_Query_0001";
678 try {
679 EXPECT_CALL(*ability, Query(_, _, _)).WillOnce(Return(OHOS::FileAccessFwk::ERR_OK));
680
681 Urie uri("");
682 vector<string> columns;
683 vector<string> results;
684 FileAccessExtStubImpl impl(ability, nullptr);
685 int result = impl.Query(uri, columns, results);
686 EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK);
687 } catch (...) {
688 GTEST_LOG_(ERROR) << "FileAccessExtStubImplTest occurs an exception.";
689 }
690 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-end file_access_ext_stub_impl_Query_0001";
691 }
692
693 /**
694 * @tc.number: user_file_service_file_access_ext_stub_impl_GetFileInfoFromUri_0000
695 * @tc.name: file_access_ext_stub_impl_GetFileInfoFromUri_0000
696 * @tc.desc: Test function of GetFileInfoFromUri interface for ERROR because of extension is nullptr.
697 * @tc.size: MEDIUM
698 * @tc.type: FUNC
699 * @tc.level Level 3
700 * @tc.require: issuesI8XFLP
701 */
702 HWTEST_F(FileAccessExtStubImplTest, file_access_ext_stub_impl_GetFileInfoFromUri_0000, testing::ext::TestSize.Level1)
703 {
704 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-begin file_access_ext_stub_impl_GetFileInfoFromUri_0000";
705 try {
706 Urie selectFile("");
707 FileInfo fileInfo;
708 FileAccessExtStubImpl impl(nullptr, nullptr);
709 int result = impl.GetFileInfoFromUri(selectFile, fileInfo);
710 EXPECT_EQ(result, E_IPCS);
711 } catch (...) {
712 GTEST_LOG_(ERROR) << "FileAccessExtStubImplTest occurs an exception.";
713 }
714 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-end file_access_ext_stub_impl_GetFileInfoFromUri_0000";
715 }
716
717 /**
718 * @tc.number: user_file_service_file_access_ext_stub_impl_GetFileInfoFromUri_0001
719 * @tc.name: file_access_ext_stub_impl_GetFileInfoFromUri_0001
720 * @tc.desc: Test function of GetFileInfoFromUri interface for SUCCESS.
721 * @tc.size: MEDIUM
722 * @tc.type: FUNC
723 * @tc.level Level 3
724 * @tc.require: issuesI8XN2E
725 */
726 HWTEST_F(FileAccessExtStubImplTest, file_access_ext_stub_impl_GetFileInfoFromUri_0001, testing::ext::TestSize.Level1)
727 {
728 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-begin file_access_ext_stub_impl_GetFileInfoFromUri_0001";
729 try {
730 EXPECT_CALL(*ability, GetFileInfoFromUri(_, _)).WillOnce(Return(OHOS::FileAccessFwk::ERR_OK));
731
732 Urie selectFile("");
733 FileInfo fileInfo;
734 FileAccessExtStubImpl impl(ability, nullptr);
735 int result = impl.GetFileInfoFromUri(selectFile, fileInfo);
736 EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK);
737 } catch (...) {
738 GTEST_LOG_(ERROR) << "FileAccessExtStubImplTest occurs an exception.";
739 }
740 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-end file_access_ext_stub_impl_GetFileInfoFromUri_0001";
741 }
742
743 /**
744 * @tc.number: user_file_service_file_access_ext_stub_impl_GetFileInfoFromRelativePath_0000
745 * @tc.name: file_access_ext_stub_impl_GetFileInfoFromRelativePath_0000
746 * @tc.desc: Test function of GetFileInfoFromRelativePath interface for ERROR because of extension is nullptr.
747 * @tc.size: MEDIUM
748 * @tc.type: FUNC
749 * @tc.level Level 3
750 * @tc.require: issuesI8XN2E
751 */
752 HWTEST_F(FileAccessExtStubImplTest, file_access_ext_stub_impl_GetFileInfoFromRelativePath_0000,
753 testing::ext::TestSize.Level1)
754 {
755 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-begin file_access_ext_stub_impl_GetFileInfoFromRelativePath_0000";
756 try {
757 string selectFile;
758 FileInfo fileInfo;
759 FileAccessExtStubImpl impl(nullptr, nullptr);
760 int result = impl.GetFileInfoFromRelativePath(selectFile, fileInfo);
761 EXPECT_EQ(result, E_IPCS);
762 } catch (...) {
763 GTEST_LOG_(ERROR) << "FileAccessExtStubImplTest occurs an exception.";
764 }
765 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-end file_access_ext_stub_impl_GetFileInfoFromRelativePath_0000";
766 }
767
768 /**
769 * @tc.number: user_file_service_file_access_ext_stub_impl_GetFileInfoFromRelativePath_0001
770 * @tc.name: file_access_ext_stub_impl_GetFileInfoFromRelativePath_0001
771 * @tc.desc: Test function of GetFileInfoFromRelativePath interface for SUCCESS.
772 * @tc.size: MEDIUM
773 * @tc.type: FUNC
774 * @tc.level Level 3
775 * @tc.require: issuesI8XN2E
776 */
777 HWTEST_F(FileAccessExtStubImplTest, file_access_ext_stub_impl_GetFileInfoFromRelativePath_0001,
778 testing::ext::TestSize.Level1)
779 {
780 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-begin file_access_ext_stub_impl_GetFileInfoFromRelativePath_0001";
781 try {
782 EXPECT_CALL(*ability, GetFileInfoFromRelativePath(_, _)).WillOnce(Return(OHOS::FileAccessFwk::ERR_OK));
783
784 string selectFile;
785 FileInfo fileInfo;
786 FileAccessExtStubImpl impl(ability, nullptr);
787 int result = impl.GetFileInfoFromRelativePath(selectFile, fileInfo);
788 EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK);
789 } catch (...) {
790 GTEST_LOG_(ERROR) << "FileAccessExtStubImplTest occurs an exception.";
791 }
792 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-end file_access_ext_stub_impl_GetFileInfoFromRelativePath_0001";
793 }
794
795 /**
796 * @tc.number: user_file_service_file_access_ext_stub_impl_GetRoots_0000
797 * @tc.name: file_access_ext_stub_impl_GetRoots_0000
798 * @tc.desc: Test function of GetRoots interface for ERROR because of extension is nullptr.
799 * @tc.size: MEDIUM
800 * @tc.type: FUNC
801 * @tc.level Level 3
802 * @tc.require: issuesI8XN2E
803 */
804 HWTEST_F(FileAccessExtStubImplTest, file_access_ext_stub_impl_GetRoots_0000, testing::ext::TestSize.Level1)
805 {
806 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-begin file_access_ext_stub_impl_GetRoots_0000";
807 try {
808 vector<RootInfo> rootInfoVec;
809 FileAccessExtStubImpl impl(nullptr, nullptr);
810 int result = impl.GetRoots(rootInfoVec);
811 EXPECT_EQ(result, E_IPCS);
812 } catch (...) {
813 GTEST_LOG_(ERROR) << "FileAccessExtStubImplTest occurs an exception.";
814 }
815 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-end file_access_ext_stub_impl_GetRoots_0000";
816 }
817
818 /**
819 * @tc.number: user_file_service_file_access_ext_stub_impl_GetRoots_0001
820 * @tc.name: file_access_ext_stub_impl_GetRoots_0001
821 * @tc.desc: Test function of GetRoots interface for SUCCESS.
822 * @tc.size: MEDIUM
823 * @tc.type: FUNC
824 * @tc.level Level 3
825 * @tc.require: issuesI8XN2E
826 */
827 HWTEST_F(FileAccessExtStubImplTest, file_access_ext_stub_impl_GetRoots_0001, testing::ext::TestSize.Level1)
828 {
829 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-begin file_access_ext_stub_impl_GetRoots_0001";
830 try {
831 EXPECT_CALL(*ability, GetRoots(_)).WillOnce(Return(OHOS::FileAccessFwk::ERR_OK));
832
833 vector<RootInfo> rootInfoVec;
834 FileAccessExtStubImpl impl(ability, nullptr);
835 int result = impl.GetRoots(rootInfoVec);
836 EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK);
837 } catch (...) {
838 GTEST_LOG_(ERROR) << "FileAccessExtStubImplTest occurs an exception.";
839 }
840 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-end file_access_ext_stub_impl_GetRoots_0001";
841 }
842
843 /**
844 * @tc.number: user_file_service_file_access_ext_stub_impl_Access_0000
845 * @tc.name: file_access_ext_stub_impl_Access_0000
846 * @tc.desc: Test function of Access interface for ERROR because of extension is nullptr.
847 * @tc.size: MEDIUM
848 * @tc.type: FUNC
849 * @tc.level Level 3
850 * @tc.require: issuesI8XN2E
851 */
852 HWTEST_F(FileAccessExtStubImplTest, file_access_ext_stub_impl_Access_0000, testing::ext::TestSize.Level1)
853 {
854 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-begin file_access_ext_stub_impl_Access_0000";
855 try {
856 Urie uri("");
857 bool isExist;
858 FileAccessExtStubImpl impl(nullptr, nullptr);
859 int result = impl.Access(uri, isExist);
860 EXPECT_EQ(result, E_IPCS);
861 } catch (...) {
862 GTEST_LOG_(ERROR) << "FileAccessExtStubImplTest occurs an exception.";
863 }
864 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-end file_access_ext_stub_impl_Access_0000";
865 }
866
867 /**
868 * @tc.number: user_file_service_file_access_ext_stub_impl_Access_0001
869 * @tc.name: file_access_ext_stub_impl_Access_0001
870 * @tc.desc: Test function of Access interface for SUCCESS.
871 * @tc.size: MEDIUM
872 * @tc.type: FUNC
873 * @tc.level Level 3
874 * @tc.require: issuesI8XN2E
875 */
876 HWTEST_F(FileAccessExtStubImplTest, file_access_ext_stub_impl_Access_0001, testing::ext::TestSize.Level1)
877 {
878 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-begin file_access_ext_stub_impl_Access_0001";
879 try {
880 EXPECT_CALL(*ability, Access(_, _)).WillOnce(Return(OHOS::FileAccessFwk::ERR_OK));
881
882 Urie uri("");
883 bool isExist;
884 FileAccessExtStubImpl impl(ability, nullptr);
885 int result = impl.Access(uri, isExist);
886 EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK);
887 } catch (...) {
888 GTEST_LOG_(ERROR) << "FileAccessExtStubImplTest occurs an exception.";
889 }
890 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-end file_access_ext_stub_impl_Access_0001";
891 }
892
893 /**
894 * @tc.number: user_file_service_file_access_ext_stub_impl_StartWatcher_0000
895 * @tc.name: file_access_ext_stub_impl_StartWatcher_0000
896 * @tc.desc: Test function of StartWatcher interface for ERROR because of extension is nullptr.
897 * @tc.size: MEDIUM
898 * @tc.type: FUNC
899 * @tc.level Level 3
900 * @tc.require: issuesI8XN2E
901 */
902 HWTEST_F(FileAccessExtStubImplTest, file_access_ext_stub_impl_StartWatcher_0000, testing::ext::TestSize.Level1)
903 {
904 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-begin file_access_ext_stub_impl_StartWatcher_0000";
905 try {
906 Urie uri("");
907 FileAccessExtStubImpl impl(nullptr, nullptr);
908 int result = impl.StartWatcher(uri);
909 EXPECT_EQ(result, E_IPCS);
910 } catch (...) {
911 GTEST_LOG_(ERROR) << "FileAccessExtStubImplTest occurs an exception.";
912 }
913 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-end file_access_ext_stub_impl_StartWatcher_0000";
914 }
915
916 /**
917 * @tc.number: user_file_service_file_access_ext_stub_impl_StartWatcher_0001
918 * @tc.name: file_access_ext_stub_impl_StartWatcher_0001
919 * @tc.desc: Test function of StartWatcher interface for SUCCESS.
920 * @tc.size: MEDIUM
921 * @tc.type: FUNC
922 * @tc.level Level 3
923 * @tc.require: issuesI8XN2E
924 */
925 HWTEST_F(FileAccessExtStubImplTest, file_access_ext_stub_impl_StartWatcher_0001, testing::ext::TestSize.Level1)
926 {
927 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-begin file_access_ext_stub_impl_StartWatcher_0001";
928 try {
929 EXPECT_CALL(*ability, StartWatcher(_)).WillOnce(Return(OHOS::FileAccessFwk::ERR_OK));
930
931 Urie uri("");
932 FileAccessExtStubImpl impl(ability, nullptr);
933 int result = impl.StartWatcher(uri);
934 EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK);
935 } catch (...) {
936 GTEST_LOG_(ERROR) << "FileAccessExtStubImplTest occurs an exception.";
937 }
938 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-end file_access_ext_stub_impl_StartWatcher_0001";
939 }
940
941 /**
942 * @tc.number: user_file_service_file_access_ext_stub_impl_StopWatcher_0000
943 * @tc.name: file_access_ext_stub_impl_StopWatcher_0000
944 * @tc.desc: Test function of StopWatcher interface for ERROR because of extension is nullptr.
945 * @tc.size: MEDIUM
946 * @tc.type: FUNC
947 * @tc.level Level 3
948 * @tc.require: issuesI8XN2E
949 */
950 HWTEST_F(FileAccessExtStubImplTest, file_access_ext_stub_impl_StopWatcher_0000, testing::ext::TestSize.Level1)
951 {
952 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-begin file_access_ext_stub_impl_StopWatcher_0000";
953 try {
954 Urie uri("");
955 FileAccessExtStubImpl impl(nullptr, nullptr);
956 int result = impl.StopWatcher(uri);
957 EXPECT_EQ(result, E_IPCS);
958 } catch (...) {
959 GTEST_LOG_(ERROR) << "FileAccessExtStubImplTest occurs an exception.";
960 }
961 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-end file_access_ext_stub_impl_StopWatcher_0000";
962 }
963
964 /**
965 * @tc.number: user_file_service_file_access_ext_stub_impl_StopWatcher_0001
966 * @tc.name: file_access_ext_stub_impl_StopWatcher_0001
967 * @tc.desc: Test function of StopWatcher interface for SUCCESS.
968 * @tc.size: MEDIUM
969 * @tc.type: FUNC
970 * @tc.level Level 3
971 * @tc.require: issuesI8XN2E
972 */
973 HWTEST_F(FileAccessExtStubImplTest, file_access_ext_stub_impl_StopWatcher_0001, testing::ext::TestSize.Level1)
974 {
975 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-begin file_access_ext_stub_impl_StopWatcher_0001";
976 try {
977 EXPECT_CALL(*ability, StopWatcher(_)).WillOnce(Return(OHOS::FileAccessFwk::ERR_OK));
978
979 Urie uri("");
980 FileAccessExtStubImpl impl(ability, nullptr);
981 int result = impl.StopWatcher(uri);
982 EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK);
983 } catch (...) {
984 GTEST_LOG_(ERROR) << "FileAccessExtStubImplTest occurs an exception.";
985 }
986 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-end file_access_ext_stub_impl_StopWatcher_0001";
987 }
988
989 /**
990 * @tc.number: user_file_service_file_access_ext_stub_impl_MoveItem_0000
991 * @tc.name: file_access_ext_stub_impl_MoveItem_0000
992 * @tc.desc: Test function of MoveItem interface for ERROR because of extension is nullptr.
993 * @tc.size: MEDIUM
994 * @tc.type: FUNC
995 * @tc.level Level 3
996 * @tc.require: issuesI8XN2E
997 */
998 HWTEST_F(FileAccessExtStubImplTest, file_access_ext_stub_impl_MoveItem_0000, testing::ext::TestSize.Level1)
999 {
1000 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-begin file_access_ext_stub_impl_MoveItem_0000";
1001 try {
1002 Urie sourceFile("");
1003 Urie targetParent("");
1004 vector<Result> moveResult;
1005 FileAccessExtStubImpl impl(nullptr, nullptr);
1006 int retCode;
1007 int result = impl.MoveItem(sourceFile, targetParent, moveResult, retCode);
1008 result = retCode;
1009 EXPECT_EQ(result, ERR_OK);
1010 } catch (...) {
1011 GTEST_LOG_(ERROR) << "FileAccessExtStubImplTest occurs an exception.";
1012 }
1013 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-end file_access_ext_stub_impl_MoveItem_0000";
1014 }
1015
1016 /**
1017 * @tc.number: user_file_service_file_access_ext_stub_impl_MoveItem_0001
1018 * @tc.name: file_access_ext_stub_impl_MoveItem_0001
1019 * @tc.desc: Test function of MoveItem interface for SUCCESS.
1020 * @tc.size: MEDIUM
1021 * @tc.type: FUNC
1022 * @tc.level Level 3
1023 * @tc.require: issuesI8XN2E
1024 */
1025 HWTEST_F(FileAccessExtStubImplTest, file_access_ext_stub_impl_MoveItem_0001, testing::ext::TestSize.Level1)
1026 {
1027 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-begin file_access_ext_stub_impl_MoveItem_0001";
1028 try {
1029 EXPECT_CALL(*ability, MoveItem(_, _, _, _)).WillOnce(Return(OHOS::FileAccessFwk::ERR_OK));
1030
1031 Urie sourceFile("");
1032 Urie targetParent("");
1033 vector<Result> moveResult;
1034 FileAccessExtStubImpl impl(ability, nullptr);
1035 int retCode;
1036 int result = impl.MoveItem(sourceFile, targetParent, moveResult, retCode);
1037 result = retCode;
1038 EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK);
1039 } catch (...) {
1040 GTEST_LOG_(ERROR) << "FileAccessExtStubImplTest occurs an exception.";
1041 }
1042 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-end file_access_ext_stub_impl_MoveItem_0001";
1043 }
1044
1045 /**
1046 * @tc.number: user_file_service_file_access_ext_stub_impl_MoveFile_0000
1047 * @tc.name: file_access_ext_stub_impl_MoveFile_0000
1048 * @tc.desc: Test function of MoveFile interface for ERROR because of extension is nullptr.
1049 * @tc.size: MEDIUM
1050 * @tc.type: FUNC
1051 * @tc.level Level 3
1052 * @tc.require: issuesI8XN2E
1053 */
1054 HWTEST_F(FileAccessExtStubImplTest, file_access_ext_stub_impl_MoveFile_0000, testing::ext::TestSize.Level1)
1055 {
1056 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-begin file_access_ext_stub_impl_MoveFile_0000";
1057 try {
1058 Urie sourceFile("");
1059 Urie targetParent("");
1060 string fileName;
1061 Urie newFile("");
1062 FileAccessExtStubImpl impl(nullptr, nullptr);
1063 int result = impl.MoveFile(sourceFile, targetParent, fileName, newFile);
1064 EXPECT_EQ(result, E_IPCS);
1065 } catch (...) {
1066 GTEST_LOG_(ERROR) << "FileAccessExtStubImplTest occurs an exception.";
1067 }
1068 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-end file_access_ext_stub_impl_MoveFile_0000";
1069 }
1070
1071 /**
1072 * @tc.number: user_file_service_file_access_ext_stub_impl_MoveFile_0001
1073 * @tc.name: file_access_ext_stub_impl_MoveFile_0001
1074 * @tc.desc: Test function of MoveFile interface for SUCCESS.
1075 * @tc.size: MEDIUM
1076 * @tc.type: FUNC
1077 * @tc.level Level 3
1078 * @tc.require: issuesI8XN2E
1079 */
1080 HWTEST_F(FileAccessExtStubImplTest, file_access_ext_stub_impl_MoveFile_0001, testing::ext::TestSize.Level1)
1081 {
1082 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-begin file_access_ext_stub_impl_MoveFile_0001";
1083 try {
1084 EXPECT_CALL(*ability, MoveFile(_, _, _, _)).WillOnce(Return(OHOS::FileAccessFwk::ERR_OK));
1085
1086 Urie sourceFile("");
1087 Urie targetParent("");
1088 string fileName;
1089 Urie newFile("");
1090 FileAccessExtStubImpl impl(ability, nullptr);
1091 int result = impl.MoveFile(sourceFile, targetParent, fileName, newFile);
1092 EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK);
1093 } catch (...) {
1094 GTEST_LOG_(ERROR) << "FileAccessExtStubImplTest occurs an exception.";
1095 }
1096 GTEST_LOG_(INFO) << "FileAccessExtStubImplTest-end file_access_ext_stub_impl_MoveFile_0001";
1097 }
1098 }
1099