• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2023 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 "file_uri.h"
17 
18 #include <gmock/gmock.h>
19 #include <gtest/gtest.h>
20 #include <fcntl.h>
21 
22 #include "accesstoken_kit.h"
23 #include "ipc_skeleton.h"
24 #include "parameter.h"
25 #include "uri.h"
26 
27 #include "common_func.h"
28 #include "file_share.h"
29 #include "log.h"
30 
31 using namespace std;
32 using namespace OHOS::Security::AccessToken;
33 using namespace OHOS::AppFileService;
34 
35 namespace {
36     const string BUNDLE_A = "com.example.filesharea";
37     const string FULL_MOUNT_ENABLE_PARAMETER = "const.filemanager.full_mount.enable";
38 }
39 
GetSelfBundleName()40 string CommonFunc::GetSelfBundleName()
41 {
42     return BUNDLE_A;
43 }
44 
CheckFileManagerFullMountEnable()45 static bool CheckFileManagerFullMountEnable()
46 {
47     char value[] = "false";
48     int retSystem = GetParameter(FULL_MOUNT_ENABLE_PARAMETER.c_str(), "false", value, sizeof(value));
49     if ((retSystem > 0) && (string_view(value) == "true")) {
50         return true;
51     }
52     LOGE("Not supporting all mounts");
53     return false;
54 }
55 
56 namespace OHOS::AppFileService::ModuleFileUri {
57     const string PATH_SHARE = "/data/storage/el2/share";
58     const string MODE_RW = "/rw/";
59     const string MODE_R = "/r/";
60     const int E_OK = 0;
61 
62     class FileUriTest : public testing::Test {
63     public:
SetUpTestCase(void)64         static void SetUpTestCase(void) {};
TearDownTestCase()65         static void TearDownTestCase() {};
SetUp()66         void SetUp() {};
TearDown()67         void TearDown() {};
68     };
69 
70     /**
71      * @tc.name: file_uri_test_0000
72      * @tc.desc: Test function of ToString() interface for SUCCESS.
73      * @tc.size: MEDIUM
74      * @tc.type: FUNC
75      * @tc.level Level 1
76      * @tc.require: I7LW57
77      */
78     HWTEST_F(FileUriTest, File_uri_ToString_0000, testing::ext::TestSize.Level1)
79     {
80         GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_ToString_0000";
81 
82         string fileStr = "/data/storage/el2/base/files/test.txt";
83         string uri = "file://" + BUNDLE_A + fileStr;
84         FileUri fileUri(fileStr);
85         EXPECT_EQ(fileUri.ToString(), uri);
86 
87         FileUri fileUri2(uri);
88         EXPECT_EQ(fileUri2.ToString(), uri);
89         GTEST_LOG_(INFO) << "FileUriTest-end File_uri_ToString_0000";
90     }
91 
92     /**
93      * @tc.name: file_uri_test_0001
94      * @tc.desc: Test function of GetName() interface for SUCCESS.
95      * @tc.size: MEDIUM
96      * @tc.type: FUNC
97      * @tc.level Level 1
98      * @tc.require: I7LW57
99      */
100     HWTEST_F(FileUriTest, File_uri_GetName_0000, testing::ext::TestSize.Level1)
101     {
102         GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetName_0000";
103 
104         string fileStr = "/data/storage/el2/base/files/test.txt";
105         string uri = "file://" + BUNDLE_A + fileStr;
106         FileUri fileUri(fileStr);
107         string name = fileUri.GetName();
108         EXPECT_EQ(name, "test.txt");
109 
110         string fileStr2 = "/data/storage/el2/base/files/test.txt/";
111         string uri2 = "file://" + BUNDLE_A + fileStr;
112         FileUri fileUri2(fileStr2);
113         EXPECT_EQ(fileUri2.GetName(), "");
114         GTEST_LOG_(INFO) << "FileUriTest-end File_uri_GetName_0000";
115     }
116 
117     /**
118      * @tc.name: file_uri_test_0002
119      * @tc.desc: Test function of GetPath() interface for SUCCESS.
120      * @tc.size: MEDIUM
121      * @tc.type: FUNC
122      * @tc.level Level 1
123      * @tc.require: I7LW57
124      */
125     HWTEST_F(FileUriTest, File_uri_GetPath_0000, testing::ext::TestSize.Level1)
126     {
127         GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0000";
128         string fileStr = "/data/storage/el2/base/files/test.txt";
129         string uri = "file://" + BUNDLE_A + fileStr;
130         FileUri fileUri(uri);
131         string path = fileUri.GetPath();
132         EXPECT_EQ(path, fileStr);
133 
134         string uri2 = "file://media/Photo/12/IMG_12345_999999/test.jpg";
135         FileUri fileUri2(uri2);
136         path = fileUri2.GetPath();
137         EXPECT_EQ(path, "/Photo/12/IMG_12345_999999");
138 
139         string uri4 = "file://media/Photo/12/IMG_12345_999999";
140         FileUri fileUri4(uri4);
141         EXPECT_EQ(fileUri2.GetPath(), "/Photo/12/IMG_12345_999999");
142         GTEST_LOG_(INFO) << "FileUriTest-end File_uri_GetPath_0000";
143     }
144 
145     /**
146      * @tc.name: file_uri_test_0003
147      * @tc.desc: Test function of GetPath() interface for SUCCESS.
148      * @tc.size: MEDIUM
149      * @tc.type: FUNC
150      * @tc.level Level 1
151      * @tc.require: I7LW57
152      */
153     HWTEST_F(FileUriTest, File_uri_GetPath_0001, testing::ext::TestSize.Level1)
154     {
155         GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0001";
156         string fileStr = "/Documents/test.txt";
157         string uri = "file://" + BUNDLE_A + fileStr;
158         FileUri fileUri(uri);
159         string path = fileUri.GetRealPath();
160         EXPECT_EQ(path, fileStr);
161 
162         string fileStrPath = "docs/storage/Users/currentUser/Documents/1.txt";
163         string fileStrRealPath = "/storage/Users/currentUser/Documents/1.txt";
164         string uri2 = "file://" + fileStrPath;
165         FileUri fileUri2(uri2);
166         path.clear();
167         path = fileUri2.GetRealPath();
168         if (CheckFileManagerFullMountEnable()) {
169             EXPECT_EQ(path, fileStrRealPath);
170         } else {
171             EXPECT_EQ(path, PATH_SHARE + MODE_R + fileStrPath);
172         };
173         GTEST_LOG_(INFO) << "FileUriTest-end File_uri_GetPath_0001";
174     }
175 
176     /**
177      * @tc.name: file_uri_test_0004
178      * @tc.desc: Test function of GetPath() interface for SUCCESS.
179      * @tc.size: MEDIUM
180      * @tc.type: FUNC
181      * @tc.level Level 1
182      * @tc.require: I7LW57
183      */
184     HWTEST_F(FileUriTest, File_uri_GetPath_0002, testing::ext::TestSize.Level1)
185     {
186         GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0002";
187         string fileStr = "/data/storage/el2/base/files/test.txt";
188         string bundleB = "com.demo.b";
189         string uri = "file://" + bundleB + fileStr;
190         string rltStr = PATH_SHARE + MODE_R + bundleB + fileStr;
191         FileUri fileUri(uri);
192         string path = fileUri.GetRealPath();
193         EXPECT_EQ(path, rltStr);
194         GTEST_LOG_(INFO) << "FileUriTest-end File_uri_GetPath_0002";
195     }
196 
197     /**
198      * @tc.name: file_uri_test_0005
199      * @tc.desc: Test function of GetPath() interface for SUCCESS.
200      * @tc.size: MEDIUM
201      * @tc.type: FUNC
202      * @tc.level Level 1
203      * @tc.require: I7LW57
204      */
205     HWTEST_F(FileUriTest, File_uri_GetPath_0003, testing::ext::TestSize.Level1)
206     {
207         GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0003";
208         int32_t uid = 100;
209         string bundleB = "com.example.fileshareb";
210         string fileStr = "/data/app/el2/" + to_string(uid) + "/base/" + bundleB + "/files/test.txt";
211         int32_t fd = open(fileStr.c_str(), O_RDWR | O_CREAT);
212         ASSERT_TRUE(fd != -1) << "FileShareTest Create File Failed!";
213 
214         string actStr = "/data/storage/el2/base/files/test.txt";
215         string uri = "file://" + bundleB + actStr;
216         uint32_t tokenId = AccessTokenKit::GetHapTokenID(uid, BUNDLE_A, 0);
217 
218         int32_t flag = 3;
219         vector<string> uriList(1, uri);
220         vector<int32_t> retList;
221         int32_t ret = FileShare::CreateShareFile(uriList, tokenId, flag, retList);
222         EXPECT_EQ(ret, E_OK);
223 
224         string rltStr = PATH_SHARE + MODE_R + bundleB + actStr;
225         FileUri fileUri(uri);
226         string path = fileUri.GetRealPath();
227         EXPECT_EQ(path, rltStr);
228 
229         vector<string> sharePathList;
230         sharePathList.push_back(uri);
231         ret = FileShare::DeleteShareFile(tokenId, sharePathList);
232         EXPECT_EQ(ret, E_OK);
233         close(fd);
234         GTEST_LOG_(INFO) << "FileUriTest-end File_uri_GetPath_0003";
235     }
236 
237     /**
238      * @tc.name: file_uri_test_0006
239      * @tc.desc: Test function of GetPath() interface for SUCCESS.
240      * @tc.size: MEDIUM
241      * @tc.type: FUNC
242      * @tc.level Level 1
243      * @tc.require: I7LW57
244      */
245     HWTEST_F(FileUriTest, File_uri_GetPath_0004, testing::ext::TestSize.Level1)
246     {
247         GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0004";
248         string fileStr = "/data/storage/el2/base/files/test.txt";
249         string uri = "file://" + fileStr;
250         FileUri fileUri(uri);
251         EXPECT_EQ(fileUri.ToString(), uri);
252         EXPECT_EQ(fileUri.GetName(), "test.txt");
253         EXPECT_EQ(fileUri.GetPath(), fileStr);
254         EXPECT_EQ(fileUri.GetRealPath(), fileStr);
255         GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0004";
256     }
257 
258     /**
259      * @tc.name: file_uri_test_0005
260      * @tc.desc: Test function of GetPath() interface for SUCCESS.
261      * @tc.size: MEDIUM
262      * @tc.type: FUNC
263      * @tc.level Level 1
264      * @tc.require: I7LW57
265      */
266     HWTEST_F(FileUriTest, File_uri_GetPath_0005, testing::ext::TestSize.Level1)
267     {
268         GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0005";
269         string fileStr = "/data/storage/el2/media/Photo/12/IMG_12345_999999/test.jpg";
270         string uri = "file://media/Photo/12/IMG_12345_999999/test.jpg";
271         FileUri fileUri(uri);
272         EXPECT_EQ(fileUri.GetRealPath(), fileStr);
273         GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0005";
274     }
275     /**
276      * @tc.name: file_uri_test_00011
277      * @tc.desc: Test function of GetPath() interface for SUCCESS.
278      * @tc.size: MEDIUM
279      * @tc.type: FUNC
280      * @tc.level Level 1
281      * @tc.require: I7LW57
282      */
283     HWTEST_F(FileUriTest, File_uri_GetPath_0009, testing::ext::TestSize.Level1)
284     {
285         GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0009";
286         string uri = "file://docs/storage/Users/currentUser/Documents/1.txt?networkid=***";
287         string fileStr = "/data/storage/el2/share/r/***/docs/storage/Users/currentUser/Documents/1.txt";
288         FileUri fileUri(uri);
289         EXPECT_EQ(fileUri.GetRealPath(), fileStr);
290         GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0009";
291     }
292     /**
293      * @tc.name: file_uri_test_00012
294      * @tc.desc: Test function of GetPath() interface for SUCCESS.
295      * @tc.size: MEDIUM
296      * @tc.type: FUNC
297      * @tc.level Level 1
298      * @tc.require: I7LW57
299      */
300     HWTEST_F(FileUriTest, File_uri_GetPath_0010, testing::ext::TestSize.Level1)
301     {
302         GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0010";
303         string uri = "file://docs/storage/Users/currentUser/Documents/1.txt?networkid=";
304         string fileStr = "/data/storage/el2/share/r/docs/storage/Users/currentUser/Documents/1.txt";
305         FileUri fileUri(uri);
306         EXPECT_EQ(fileUri.GetRealPath(), fileStr);
307         GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0010";
308     }
309 
310     /**
311      * @tc.name: File_uri_GetPathBySA_0001
312      * @tc.desc: Test function of GetPath() interface for SUCCESS.
313      * @tc.size: MEDIUM
314      * @tc.type: FUNC
315      * @tc.level Level 1
316      * @tc.require: I7LW57
317      */
318     HWTEST_F(FileUriTest, File_uri_GetPathBySA_0001, testing::ext::TestSize.Level1)
319     {
320         GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0001";
321         string fileStr = "";
322         string uri = "file://com.example.demoa/data/storage/el2/base%()test.jpg";
323         FileUri fileUri(uri);
324         EXPECT_EQ(fileUri.GetRealPathBySA(), fileStr);
325         GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0001";
326     }
327 
328     /**
329      * @tc.name: File_uri_GetPathBySA_0002
330      * @tc.desc: Test function of GetPath() interface for SUCCESS.
331      * @tc.size: MEDIUM
332      * @tc.type: FUNC
333      * @tc.level Level 1
334      * @tc.require: I7LW57
335      */
336     HWTEST_F(FileUriTest, File_uri_GetPathBySA_0002, testing::ext::TestSize.Level1)
337     {
338         GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0002";
339         string fileStr = "";
340         string uri = "file://com.example.demoa/data/storage/el2/base/files/%你好test.jpg";
341         FileUri fileUri(uri);
342         EXPECT_EQ(fileUri.GetRealPathBySA(), fileStr);
343         GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0002";
344     }
345 
346     /**
347      * @tc.name: File_uri_GetPathBySA_0003
348      * @tc.desc: Test function of GetPath() interface for SUCCESS.
349      * @tc.size: MEDIUM
350      * @tc.type: FUNC
351      * @tc.level Level 1
352      * @tc.require: I7LW57
353      */
354     HWTEST_F(FileUriTest, File_uri_GetPathBySA_0003, testing::ext::TestSize.Level1)
355     {
356         GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0003";
357         string fileStr = "";
358         string uri = "file://com.example.demoa/data/storage/el2%/base/files/test.jpg";
359         FileUri fileUri(uri);
360         EXPECT_EQ(fileUri.GetRealPathBySA(), fileStr);
361         GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0003";
362     }
363 
364     /**
365      * @tc.name: File_uri_GetPathBySA_0004
366      * @tc.desc: Test function of GetPath() interface for SUCCESS.
367      * @tc.size: MEDIUM
368      * @tc.type: FUNC
369      * @tc.level Level 1
370      * @tc.require: I7LW57
371      */
372     HWTEST_F(FileUriTest, File_uri_GetPathBySA_0004, testing::ext::TestSize.Level1)
373     {
374         GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0004";
375         string fileStr = "";
376         string uri = "file://com.example.demoa/data/storage/el2/base%#files/test.jpg";
377         FileUri fileUri(uri);
378         EXPECT_EQ(fileUri.GetRealPathBySA(), fileStr);
379         GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0004";
380     }
381 
382     /**
383      * @tc.name: file_uri_test_0007
384      * @tc.desc: Test function of GetFullDirectoryUri() interface for SUCCESS.
385      * @tc.size: MEDIUM
386      * @tc.type: FUNC
387      * @tc.level Level 1
388      * @tc.require:
389      */
390     HWTEST_F(FileUriTest, File_uri_GetFullDirectoryUri_0000, testing::ext::TestSize.Level1)
391     {
392         GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetFullDirectoryUri_0000";
393         string fileStr = "/data/test/remote_file_share_test.txt";
394         FileUri fileUriObject(fileStr);
395         string fileDirectoryUri = "file://" + BUNDLE_A + "/data/test";
396         EXPECT_EQ(fileUriObject.GetFullDirectoryUri(), fileDirectoryUri);
397         string folderStr = "/data/test";
398         string folderUri = "file://" + BUNDLE_A + folderStr;
399         FileUri folderUriObject(folderUri);
400         string folderDirectoryUri = "file://" + BUNDLE_A + folderStr;
401         EXPECT_EQ(folderUriObject.GetFullDirectoryUri(), folderDirectoryUri);
402         GTEST_LOG_(INFO) << "FileUriTest-end File_uri_GetPath_0000";
403     }
404 
405     /**
406      * @tc.name: file_uri_test_0008
407      * @tc.desc: Test function of GetFullDirectoryUri() interface for SUCCESS.
408      * @tc.size: MEDIUM
409      * @tc.type: FUNC
410      * @tc.level Level 1
411      * @tc.require:
412      */
413     HWTEST_F(FileUriTest, File_uri_GetFullDirectoryUri_0001, testing::ext::TestSize.Level1)
414     {
415         GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetFullDirectoryUri_0001";
416         std::string fileUri0 = "file://docs/storage/Users/currentUser/../test../test1";
417         std::string fileUri1 = "file://docs/storage/Users/currentUser/test../../test";
418         std::string fileUri2 = "file://docs/storage/Users/currentUser/test../../";
419         std::string fileUri3 = "file://docs/storage/Users/currentUser/test../test../..";
420         std::string fileUri4 = "file://docs/storage/Users/currentUser/test/..test/..";
421         FileUri fileUriObject0(fileUri0);
422         EXPECT_EQ(fileUriObject0.GetFullDirectoryUri(), "");
423         FileUri fileUriObject1(fileUri1);
424         EXPECT_EQ(fileUriObject1.GetFullDirectoryUri(), "");
425         FileUri fileUriObject2(fileUri2);
426         EXPECT_EQ(fileUriObject2.GetFullDirectoryUri(), "");
427         FileUri fileUriObject3(fileUri3);
428         EXPECT_EQ(fileUriObject3.GetFullDirectoryUri(), "");
429         FileUri fileUriObject4(fileUri4);
430         EXPECT_EQ(fileUriObject4.GetFullDirectoryUri(), "");
431         GTEST_LOG_(INFO) << "FileUriTest-end File_uri_GetPath_0001";
432     }
433 
434     /**
435      * @tc.name: file_uri_test_0009
436      * @tc.desc: Test function of CheckUriFormat() interface for SUCCESS.
437      * @tc.size: MEDIUM
438      * @tc.type: FUNC
439      * @tc.level Level 1
440      * @tc.require:
441      */
442     HWTEST_F(FileUriTest, File_uri_CheckUriFormat_0000, testing::ext::TestSize.Level1)
443     {
444         GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_CheckUriFormat_0000";
445         std::string fileUri0 = "file://docs/storage/Users/currentUser/../test../test1";
446         std::string fileUri1 = "file://docs/storage/Users/currentUser/test../../test";
447         std::string fileUri2 = "file://docs/storage/Users/currentUser/test../../";
448         std::string fileUri3 = "file://docs/storage/Users/currentUser/test../test../..";
449         std::string fileUri4 = "file://docs/storage/Users/currentUser/test/..test/..";
450         std::string fileUri5 = "file://docs/storage/Users/currentUser/test/test../test";
451         std::string fileUri6 = "file://docs/storage/Users/currentUser/test../test../test";
452         std::string fileUri7 = "file://docs/storage/Users/currentUser/test../test../test../..test";
453         FileUri fileUriObject0(fileUri0);
454         EXPECT_FALSE(fileUriObject0.CheckUriFormat(fileUri0));
455         FileUri fileUriObject1(fileUri1);
456         EXPECT_FALSE(fileUriObject1.CheckUriFormat(fileUri1));
457         FileUri fileUriObject2(fileUri2);
458         EXPECT_FALSE(fileUriObject2.CheckUriFormat(fileUri2));
459         FileUri fileUriObject3(fileUri3);
460         EXPECT_FALSE(fileUriObject3.CheckUriFormat(fileUri3));
461         FileUri fileUriObject4(fileUri4);
462         EXPECT_FALSE(fileUriObject4.CheckUriFormat(fileUri4));
463         FileUri fileUriObject5(fileUri5);
464         EXPECT_TRUE(fileUriObject5.CheckUriFormat(fileUri5));
465         FileUri fileUriObject6(fileUri6);
466         EXPECT_TRUE(fileUriObject6.CheckUriFormat(fileUri6));
467         FileUri fileUriObject7(fileUri7);
468         EXPECT_TRUE(fileUriObject7.CheckUriFormat(fileUri7));
469         GTEST_LOG_(INFO) << "FileUriTest-end File_uri_CheckUriFormat_0000";
470     }
471 
472     /**
473      * @tc.name: file_uri_test_0010
474      * @tc.desc: Test function of GetUriFromPath() interface for SUCCESS.
475      * @tc.size: MEDIUM
476      * @tc.type: FUNC
477      * @tc.level Level 1
478      * @tc.require:
479      */
480     HWTEST_F(FileUriTest, File_uri_GetUriFromPath_0010, testing::ext::TestSize.Level1)
481     {
482         GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetUriFromPath_0010";
483         std::string fileUri0 = "/storage/Users/currentUser/../test../test1";
484         std::string fileUri1 = "/storage/Users/currentUser/test../../test";
485         std::string fileUri2 = "/storage/Users/currentUser/test../../";
486         std::string fileUri3 = "/storage/Users/currentUser/test../test../..";
487         std::string fileUri4 = "/storage/Users/currentUser/test/..test/..";
488         std::string fileUri5 = "/storage/Users/currentUser/test/test../test";
489         std::string fileUri6 = "/storage/Users/currentUser/test../test../test";
490         std::string fileUri7 = "/storage/Users/currentUser/test../test../test../..test";
491         FileUri fileUriObject0(fileUri0);
492         EXPECT_EQ(fileUriObject0.ToString(), "");
493         FileUri fileUriObject1(fileUri1);
494         EXPECT_EQ(fileUriObject1.ToString(), "");
495         FileUri fileUriObject2(fileUri2);
496         EXPECT_EQ(fileUriObject2.ToString(), "");
497         FileUri fileUriObject3(fileUri3);
498         EXPECT_EQ(fileUriObject3.ToString(), "");
499         FileUri fileUriObject4(fileUri4);
500         EXPECT_EQ(fileUriObject4.ToString(), "");
501         FileUri fileUriObject5(fileUri5);
502         EXPECT_EQ(fileUriObject5.ToString(), "file://docs/storage/Users/currentUser/test/test../test");
503         FileUri fileUriObject6(fileUri6);
504         EXPECT_EQ(fileUriObject6.ToString(), "file://docs/storage/Users/currentUser/test../test../test");
505         FileUri fileUriObject7(fileUri7);
506         EXPECT_EQ(fileUriObject7.ToString(), "file://docs/storage/Users/currentUser/test../test../test../..test");
507         GTEST_LOG_(INFO) << "FileUriTest-end File_uri_GetUriFromPath_0010";
508     }
509     /**
510      * @tc.name: File_uri_IsRemoteUri_0000
511      * @tc.desc: Test function of IsRemoteUri() interface for SUCCESS.
512      * @tc.size: MEDIUM
513      * @tc.type: FUNC
514      * @tc.level Level 1
515      * @tc.require:
516      */
517     HWTEST_F(FileUriTest, File_uri_IsRemoteUri_0000, testing::ext::TestSize.Level1)
518     {
519         GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetFullDirectoryUri_0000";
520         string fileStr = "file://" + BUNDLE_A + "/data/test";
521         FileUri fileUriObject(fileStr);
522         EXPECT_EQ(fileUriObject.IsRemoteUri(), false);
523 
524         string fileStr2 = "file://" + BUNDLE_A + "/data/test?networkid=";
525         FileUri fileUriObject2(fileStr2);
526         EXPECT_EQ(fileUriObject2.IsRemoteUri(), false);
527 
528         string fileStr3 = "file://" + BUNDLE_A + "/data/test?networkid=123456/";
529         FileUri fileUriObject3(fileStr3);
530         EXPECT_EQ(fileUriObject3.IsRemoteUri(), false);
531 
532         string fileStr4 = "file://" + BUNDLE_A + "/data/test?networkid=123456";
533         FileUri fileUriObject4(fileStr4);
534         EXPECT_EQ(fileUriObject4.IsRemoteUri(), true);
535         GTEST_LOG_(INFO) << "FileUriTest-end File_uri_GetPath_0000";
536     }
537 }