From 46bb8486ddf68b1712ab4b88c3a1a0f7aac1d59e Mon Sep 17 00:00:00 2001 From: lvyuanyuan Date: Sat, 13 Apr 2024 18:44:34 +0800 Subject: [PATCH] mod afs fuzz test Signed-off-by: lvyuanyuan Change-Id: I27ca87e90ffc99d464b1417596039ab86c07ed7a --- test/unittest/file_uri_native/BUILD.gn | 1 + .../file_uri_native/file_uri_test.cpp | 44 +++++++++++++------ .../fileShareA/entry/src/main/module.json | 3 +- .../fileShareB/entry/src/main/module.json | 3 +- 4 files changed, 36 insertions(+), 15 deletions(-) diff --git a/test/unittest/file_uri_native/BUILD.gn b/test/unittest/file_uri_native/BUILD.gn index 6f1dd0159..447faf2f7 100644 --- a/test/unittest/file_uri_native/BUILD.gn +++ b/test/unittest/file_uri_native/BUILD.gn @@ -35,6 +35,7 @@ ohos_unittest("file_uri_test") { "app_file_service:fileuri_native", "c_utils:utils", "hilog:libhilog", + "init:libbegetutil", "ipc:ipc_core", ] diff --git a/test/unittest/file_uri_native/file_uri_test.cpp b/test/unittest/file_uri_native/file_uri_test.cpp index e9efac2a1..9c2370210 100644 --- a/test/unittest/file_uri_native/file_uri_test.cpp +++ b/test/unittest/file_uri_native/file_uri_test.cpp @@ -21,6 +21,7 @@ #include "accesstoken_kit.h" #include "ipc_skeleton.h" +#include "parameter.h" #include "uri.h" #include "common_func.h" @@ -32,12 +33,24 @@ using namespace OHOS::Security::AccessToken; using namespace OHOS::AppFileService; namespace { - const string bundleA = "com.example.filesharea"; + const string BUNDLE_A = "com.example.filesharea"; + const string FULL_MOUNT_ENABLE_PARAMETER = "const.filemanager.full_mount.enable"; } string CommonFunc::GetSelfBundleName() { - return bundleA; + return BUNDLE_A; +} + +static bool CheckFileManagerFullMountEnable() +{ + char value[] = "false"; + int retSystem = GetParameter(FULL_MOUNT_ENABLE_PARAMETER.c_str(), "false", value, sizeof(value)); + if ((retSystem > 0) && (string_view(value) == "true")) { + return true; + } + LOGE("Not supporting all mounts"); + return false; } namespace OHOS::AppFileService::ModuleFileUri { @@ -67,7 +80,7 @@ namespace OHOS::AppFileService::ModuleFileUri { GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_ToString_0000"; string fileStr = "/data/storage/el2/base/files/test.txt"; - string uri = "file://" + bundleA + fileStr; + string uri = "file://" + BUNDLE_A + fileStr; FileUri fileUri(fileStr); EXPECT_EQ(fileUri.ToString(), uri); @@ -89,7 +102,7 @@ namespace OHOS::AppFileService::ModuleFileUri { GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetName_0000"; string fileStr = "/data/storage/el2/base/files/test.txt"; - string uri = "file://" + bundleA + fileStr; + string uri = "file://" + BUNDLE_A + fileStr; FileUri fileUri(fileStr); string name = fileUri.GetName(); EXPECT_EQ(name, "test.txt"); @@ -108,7 +121,7 @@ namespace OHOS::AppFileService::ModuleFileUri { { GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0000"; string fileStr = "/data/storage/el2/base/files/test.txt"; - string uri = "file://" + bundleA + fileStr; + string uri = "file://" + BUNDLE_A + fileStr; FileUri fileUri(uri); string path = fileUri.GetPath(); EXPECT_EQ(path, fileStr); @@ -132,17 +145,22 @@ namespace OHOS::AppFileService::ModuleFileUri { { GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0001"; string fileStr = "/Documents/test.txt"; - string uri = "file://" + bundleA + fileStr; + string uri = "file://" + BUNDLE_A + fileStr; FileUri fileUri(uri); string path = fileUri.GetRealPath(); EXPECT_EQ(path, fileStr); - string fileStr2 = "docs/storage/Users/currentUser/Documents/1.txt"; - string uri2 = "file://" + fileStr2; + string fileStrPath = "docs/storage/Users/currentUser/Documents/1.txt"; + string fileStrRealPath = "/storage/Users/currentUser/Documents/1.txt"; + string uri2 = "file://" + fileStrPath; FileUri fileUri2(uri2); path.clear(); path = fileUri2.GetRealPath(); - EXPECT_EQ(path, PATH_SHARE + MODE_R + fileStr2); + if (CheckFileManagerFullMountEnable()) { + EXPECT_EQ(path, fileStrRealPath); + } else { + EXPECT_EQ(path, PATH_SHARE + MODE_R + fileStrPath); + }; GTEST_LOG_(INFO) << "FileUriTest-end File_uri_GetPath_0001"; } @@ -186,7 +204,7 @@ namespace OHOS::AppFileService::ModuleFileUri { string actStr = "/data/storage/el2/base/files/test.txt"; string uri = "file://" + bundleB + actStr; - uint32_t tokenId = AccessTokenKit::GetHapTokenID(uid, bundleA, 0); + uint32_t tokenId = AccessTokenKit::GetHapTokenID(uid, BUNDLE_A, 0); int32_t flag = 3; vector uriList(1, uri); @@ -241,12 +259,12 @@ namespace OHOS::AppFileService::ModuleFileUri { GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetFullDirectoryUri_0000"; string fileStr = "/data/test/remote_file_share_test.txt"; FileUri fileUriObject(fileStr); - string fileDirectoryUri = "file://" + bundleA + "/data/test"; + string fileDirectoryUri = "file://" + BUNDLE_A + "/data/test"; EXPECT_EQ(fileUriObject.GetFullDirectoryUri(), fileDirectoryUri); string folderStr = "/data/test"; - string folderUri = "file://" + bundleA + folderStr; + string folderUri = "file://" + BUNDLE_A + folderStr; FileUri folderUriObject(folderUri); - string folderDirectoryUri = "file://" + bundleA + folderStr; + string folderDirectoryUri = "file://" + BUNDLE_A + folderStr; EXPECT_EQ(folderUriObject.GetFullDirectoryUri(), folderDirectoryUri); GTEST_LOG_(INFO) << "FileUriTest-end File_uri_GetPath_0000"; } diff --git a/test/unittest/resource/bundle_dependencies/fileShareA/entry/src/main/module.json b/test/unittest/resource/bundle_dependencies/fileShareA/entry/src/main/module.json index 744de4947..3babadd31 100644 --- a/test/unittest/resource/bundle_dependencies/fileShareA/entry/src/main/module.json +++ b/test/unittest/resource/bundle_dependencies/fileShareA/entry/src/main/module.json @@ -6,7 +6,8 @@ "mainElement": "EntryAbility", "deviceTypes": [ "default", - "tablet" + "tablet", + "2in1" ], "deliveryWithInstall": true, "installationFree": false, diff --git a/test/unittest/resource/bundle_dependencies/fileShareB/entry/src/main/module.json b/test/unittest/resource/bundle_dependencies/fileShareB/entry/src/main/module.json index 744de4947..3babadd31 100644 --- a/test/unittest/resource/bundle_dependencies/fileShareB/entry/src/main/module.json +++ b/test/unittest/resource/bundle_dependencies/fileShareB/entry/src/main/module.json @@ -6,7 +6,8 @@ "mainElement": "EntryAbility", "deviceTypes": [ "default", - "tablet" + "tablet", + "2in1" ], "deliveryWithInstall": true, "installationFree": false, -- Gitee