diff --git a/frameworks/innerkits/file_access/test/BUILD.gn b/frameworks/innerkits/file_access/test/BUILD.gn index 5d6e4c3ded9edda44aa3be060cacac35e010ca49..aa74c2302936ffcc477272af7bd39863c528c133 100644 --- a/frameworks/innerkits/file_access/test/BUILD.gn +++ b/frameworks/innerkits/file_access/test/BUILD.gn @@ -14,15 +14,16 @@ import("//build/test.gni") import("//foundation/filemanagement/user_file_service/filemanagement_aafwk.gni") BASE_DIR = "//foundation/filemanagement/user_file_service" -ohos_unittest("file_access_helper_test") { +ohos_unittest("medialibrary_file_access_test") { module_out_path = "filemanagement/user_file_service" - sources = [ "file_access_helper_test.cpp" ] + sources = [ "medialibrary_file_access_test.cpp" ] include_dirs = [ "//foundation/ability/ability_runtime/frameworks/kits/appkit/native/ability_runtime/context", "//foundation/filemanagement/user_file_service/frameworks/innerkits/file_access/include", "//third_party/googletest/googlemock/include/gmock", + "//foundation/distributeddatamgr/distributedfile/interfaces/kits/js/src/common", ] configs = [ "//build/config/compiler:exceptions" ] @@ -53,15 +54,16 @@ ohos_unittest("file_access_helper_test") { ] } -ohos_unittest("file_extension_helper_test") { +ohos_unittest("external_file_access_test") { module_out_path = "filemanagement/user_file_service" - sources = [ "file_extension_helper_test.cpp" ] + sources = [ "external_file_access_test.cpp" ] include_dirs = [ "//third_party/googletest/googlemock/include/gmock", "//foundation/ability/ability_runtime/frameworks/kits/appkit/native/ability_runtime/context", "//foundation/filemanagement/user_file_service/frameworks/innerkits/file_access/include", + "//foundation/distributeddatamgr/distributedfile/interfaces/kits/js/src/common", ] configs = [ "//build/config/compiler:exceptions" ] @@ -96,7 +98,7 @@ group("user_file_service_test") { testonly = true deps = [ - ":file_access_helper_test", - ":file_extension_helper_test", + ":external_file_access_test", + ":medialibrary_file_access_test", ] } diff --git a/frameworks/innerkits/file_access/test/file_extension_helper_test.cpp b/frameworks/innerkits/file_access/test/external_file_access_test.cpp similarity index 36% rename from frameworks/innerkits/file_access/test/file_extension_helper_test.cpp rename to frameworks/innerkits/file_access/test/external_file_access_test.cpp index 2d9dc0aa783d8e58f7baae747eb8a1071994a565..85a3c1cddd7e46359cab25d95692396475e0fb90 100644 --- a/frameworks/innerkits/file_access/test/file_extension_helper_test.cpp +++ b/frameworks/innerkits/file_access/test/external_file_access_test.cpp @@ -14,6 +14,7 @@ */ #include +#include #include #include @@ -28,20 +29,105 @@ namespace { using namespace std; using namespace OHOS; using namespace FileAccessFwk; -int ABILITY_ID = 5003; -shared_ptr fah = nullptr; +const int32_t READ = 0; +const int32_t WRITE = 1; +const int32_t WRITE_READ = 2; +const int ABILITY_ID = 5003; +const int INIT_THREADS_NUMBER = 4; +const int ACTUAL_SUCCESS_THREADS_NUMBER = 1; +shared_ptr g_fah = nullptr; +int g_num = 0; +OHOS::Security::AccessToken::AccessTokenID g_tokenId; +const int UID_TRANSFORM_TMP = 20000000; +const int UID_DEFAULT = 0; + +// permission state +OHOS::Security::AccessToken::PermissionStateFull g_infoManagerTestState = { + .permissionName = "ohos.permission.FILE_ACCESS_MANAGER", + .isGeneral = true, + .resDeviceID = {"local"}, + .grantStatus = {OHOS::Security::AccessToken::PermissionState::PERMISSION_GRANTED}, + .grantFlags = {1} +}; + +OHOS::Security::AccessToken::PermissionStateFull g_infoManagerTestState1 = { + .permissionName = "ohos.permission.READ_MEDIA", + .isGeneral = true, + .resDeviceID = {"local"}, + .grantStatus = {OHOS::Security::AccessToken::PermissionState::PERMISSION_GRANTED}, + .grantFlags = {1} +}; + +OHOS::Security::AccessToken::PermissionStateFull g_infoManagerTestState2 = { + .permissionName = "ohos.permission.WRITE_MEDIA", + .isGeneral = true, + .resDeviceID = {"local"}, + .grantStatus = {OHOS::Security::AccessToken::PermissionState::PERMISSION_GRANTED}, + .grantFlags = {1} +}; + +// permission define +OHOS::Security::AccessToken::PermissionDef g_infoManagerTestPermDef = { + .permissionName = "ohos.permission.FILE_ACCESS_MANAGER", + .bundleName = "ohos.acts.multimedia.mediaLibrary", + .grantMode = 1, + .availableLevel = OHOS::Security::AccessToken::APL_NORMAL, + .label = "label", + .labelId = 1, + .description = "FILE_ACCESS_MANAGER", + .descriptionId = 1 +}; + +OHOS::Security::AccessToken::PermissionDef g_infoManagerTestPermDef1 = { + .permissionName = "ohos.permission.READ_MEDIA", + .bundleName = "ohos.acts.multimedia.mediaLibrary", + .grantMode = 1, + .availableLevel = OHOS::Security::AccessToken::APL_NORMAL, + .label = "label", + .labelId = 1, + .description = "READ_MEDIA", + .descriptionId = 1 +}; + +OHOS::Security::AccessToken::PermissionDef g_infoManagerTestPermDef2 = { + .permissionName = "ohos.permission.WRITE_MEDIA", + .bundleName = "ohos.acts.multimedia.mediaLibrary", + .grantMode = 1, + .availableLevel = OHOS::Security::AccessToken::APL_NORMAL, + .label = "label", + .labelId = 1, + .description = "WRITE_MEDIA", + .descriptionId = 1 +}; + +// permission info +OHOS::Security::AccessToken::HapPolicyParams g_infoManagerTestPolicyPrams = { + .apl = OHOS::Security::AccessToken::APL_NORMAL, + .domain = "test.domain", + .permList = {g_infoManagerTestPermDef, g_infoManagerTestPermDef1, g_infoManagerTestPermDef2}, + .permStateList = {g_infoManagerTestState, g_infoManagerTestState1, g_infoManagerTestState2} +}; + +// hap info +OHOS::Security::AccessToken::HapInfoParams const g_infoManagerTestInfoParms = { + .userID = 1, + .bundleName = "FileExtensionHelperTest", + .instIndex = 0, + .appIDDesc = "testtesttesttest" +}; class FileExtensionHelperTest : public testing::Test { public: static void SetUpTestCase(void) { cout << "FileExtensionHelperTest code test" << endl; - auto saManager = SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager(); auto remoteObj = saManager->GetSystemAbility(ABILITY_ID); AAFwk::Want want; vector wantVec; + setuid(UID_TRANSFORM_TMP); int ret = FileAccessHelper::GetRegisteredFileAccessExtAbilityInfo(wantVec); + setuid(UID_DEFAULT); EXPECT_EQ(ret, OHOS::FileAccessFwk::ERR_OK); bool sus = false; for (size_t i = 0; i < wantVec.size(); i++) { @@ -55,1548 +141,1763 @@ public: } EXPECT_TRUE(sus); vector wants {want}; - fah = FileAccessHelper::Creator(remoteObj, wants); + bool temp = false; + g_fah = FileAccessHelper::Creator(remoteObj, wants); + if (g_fah == nullptr) { + GTEST_LOG_(ERROR) << "external_file_access_test g_fah is nullptr"; + EXPECT_TRUE(temp); + } + OHOS::Security::AccessToken::AccessTokenIDEx tokenIdEx = {0}; + tokenIdEx = OHOS::Security::AccessToken::AccessTokenKit::AllocHapToken( + g_infoManagerTestInfoParms, g_infoManagerTestPolicyPrams); + g_tokenId = tokenIdEx.tokenIdExStruct.tokenID; + SetSelfTokenID(g_tokenId); } - static void TearDownTestCase() {}; + static void TearDownTestCase() + { + g_fah->Release(); + g_fah = nullptr; + OHOS::Security::AccessToken::AccessTokenKit::DeleteToken(g_tokenId); + }; void SetUp() {}; void TearDown() {}; - - // permission state - OHOS::Security::AccessToken::PermissionStateFull g_infoManagerTestState = { - .permissionName = "ohos.permission.FILE_ACCESS_MANAGER", - .isGeneral = true, - .resDeviceID = {"local"}, - .grantStatus = {OHOS::Security::AccessToken::PermissionState::PERMISSION_GRANTED}, - .grantFlags = {1} - }; - - OHOS::Security::AccessToken::PermissionStateFull g_infoManagerTestState1 = { - .permissionName = "ohos.permission.READ_MEDIA", - .isGeneral = true, - .resDeviceID = {"local"}, - .grantStatus = {OHOS::Security::AccessToken::PermissionState::PERMISSION_GRANTED}, - .grantFlags = {1} - }; - - OHOS::Security::AccessToken::PermissionStateFull g_infoManagerTestState2 = { - .permissionName = "ohos.permission.WRITE_MEDIA", - .isGeneral = true, - .resDeviceID = {"local"}, - .grantStatus = {OHOS::Security::AccessToken::PermissionState::PERMISSION_GRANTED}, - .grantFlags = {1} - }; - - // permission define - OHOS::Security::AccessToken::PermissionDef g_infoManagerTestPermDef = { - .permissionName = "ohos.permission.FILE_ACCESS_MANAGER", - .bundleName = "ohos.acts.multimedia.mediaLibrary", - .grantMode = 1, - .availableLevel = OHOS::Security::AccessToken::APL_NORMAL, - .label = "label", - .labelId = 1, - .description = "FILE_ACCESS_MANAGER", - .descriptionId = 1 - }; - - OHOS::Security::AccessToken::PermissionDef g_infoManagerTestPermDef1 = { - .permissionName = "ohos.permission.READ_MEDIA", - .bundleName = "ohos.acts.multimedia.mediaLibrary", - .grantMode = 1, - .availableLevel = OHOS::Security::AccessToken::APL_NORMAL, - .label = "label", - .labelId = 1, - .description = "READ_MEDIA", - .descriptionId = 1 - }; - - OHOS::Security::AccessToken::PermissionDef g_infoManagerTestPermDef2 = { - .permissionName = "ohos.permission.WRITE_MEDIA", - .bundleName = "ohos.acts.multimedia.mediaLibrary", - .grantMode = 1, - .availableLevel = OHOS::Security::AccessToken::APL_NORMAL, - .label = "label", - .labelId = 1, - .description = "WRITE_MEDIA", - .descriptionId = 1 - }; - - // permission info - OHOS::Security::AccessToken::HapPolicyParams g_infoManagerTestPolicyPrams = { - .apl = OHOS::Security::AccessToken::APL_NORMAL, - .domain = "test.domain", - .permList = {g_infoManagerTestPermDef, g_infoManagerTestPermDef1, g_infoManagerTestPermDef2}, - .permStateList = {g_infoManagerTestState, g_infoManagerTestState1, g_infoManagerTestState2} - }; - - // hap info - OHOS::Security::AccessToken::HapInfoParams g_infoManagerTestInfoParms = { - .userID = 1, - .bundleName = "FileExtensionHelperTest", - .instIndex = 0, - .appIDDesc = "testtesttesttest" - }; }; /** - * @tc.number: SUB_user_file_service_file_extension_helper_OpenFile_0000 - * @tc.name: file_extension_helper_OpenFile_0000 + * @tc.number: user_file_service_external_file_access_OpenFile_0000 + * @tc.name: external_file_access_OpenFile_0000 * @tc.desc: Test function of OpenFile interface for SUCCESS. * @tc.size: MEDIUM * @tc.type: FUNC * @tc.level Level 1 * @tc.require: SR000H0386 */ -HWTEST_F(FileExtensionHelperTest, file_extension_helper_OpenFile_0000, testing::ext::TestSize.Level1) +HWTEST_F(FileExtensionHelperTest, external_file_access_OpenFile_0000, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_OpenFile_0000"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_OpenFile_0000"; try { - OHOS::Security::AccessToken::AccessTokenIDEx tokenIdEx = {0}; - tokenIdEx = OHOS::Security::AccessToken::AccessTokenKit::AllocHapToken - (g_infoManagerTestInfoParms, g_infoManagerTestPolicyPrams); - OHOS::Security::AccessToken::AccessTokenID tokenId = tokenIdEx.tokenIdExStruct.tokenID; - SetSelfTokenID(tokenId); - vector info; - int result = fah->GetRoots(info); + int result = g_fah->GetRoots(info); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri(info[i].uri); GTEST_LOG_(INFO) << parentUri.ToString(); - Uri newDirUriTest1(""); - result = fah->Mkdir(parentUri, "test1", newDirUriTest1); + result = g_fah->Mkdir(parentUri, "test1", newDirUriTest1); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - Uri newFileUri(""); - result = fah->CreateFile(newDirUriTest1, "file_extension_helper_OpenFile_0000.txt", newFileUri); + result = g_fah->CreateFile(newDirUriTest1, "external_file_access_OpenFile_0000.txt", newFileUri); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - int fd; - result = fah->OpenFile(newFileUri, 0, fd); + result = g_fah->OpenFile(newFileUri, WRITE_READ, fd); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "OpenFile_0000 result:" << result << endl; - - result = fah->Delete(newDirUriTest1); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + close(fd); + result = g_fah->Delete(newDirUriTest1); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); } } catch (...) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-an exception occurred."; + GTEST_LOG_(ERROR) << "external_file_access_OpenFile_0000 occurs an exception."; } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end file_extension_helper_OpenFile_0000"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_OpenFile_0000"; } /** - * @tc.number: SUB_user_file_service_file_extension_helper_OpenFile_0001 - * @tc.name: file_extension_helper_OpenFile_0001 + * @tc.number: user_file_service_external_file_access_OpenFile_0001 + * @tc.name: external_file_access_OpenFile_0001 * @tc.desc: Test function of OpenFile interface for ERROR which Uri is null. * @tc.size: MEDIUM * @tc.type: FUNC * @tc.level Level 1 * @tc.require: SR000H0386 */ -HWTEST_F(FileExtensionHelperTest, file_extension_helper_OpenFile_0001, testing::ext::TestSize.Level1) +HWTEST_F(FileExtensionHelperTest, external_file_access_OpenFile_0001, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_OpenFile_0001"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_OpenFile_0001"; try { Uri uri(""); int fd; - int result = fah->OpenFile(uri, 0, fd); + int result = g_fah->OpenFile(uri, WRITE_READ, fd); EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "OpenFile_0001 result:" << result << endl; } catch (...) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-an exception occurred."; + GTEST_LOG_(ERROR) << "external_file_access_OpenFile_0001 occurs an exception."; } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end file_extension_helper_OpenFile_0001"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_OpenFile_0001"; } /** - * @tc.number: SUB_user_file_service_file_extension_helper_OpenFile_0002 - * @tc.name: file_extension_helper_OpenFile_0002 + * @tc.number: user_file_service_external_file_access_OpenFile_0002 + * @tc.name: external_file_access_OpenFile_0002 * @tc.desc: Test function of OpenFile interface for ERROR which Uri is absolute path. * @tc.size: MEDIUM * @tc.type: FUNC * @tc.level Level 1 * @tc.require: SR000H0386 */ -HWTEST_F(FileExtensionHelperTest, file_extension_helper_OpenFile_0002, testing::ext::TestSize.Level1) +HWTEST_F(FileExtensionHelperTest, external_file_access_OpenFile_0002, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_OpenFile_0002"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_OpenFile_0002"; try { vector info; - int result = fah->GetRoots(info); + int result = g_fah->GetRoots(info); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri(info[i].uri); Uri newFileUri(""); - result = fah->CreateFile(parentUri, "file_extension_helper_OpenFile_0002.txt", newFileUri); + result = g_fah->CreateFile(parentUri, "external_file_access_OpenFile_0002.txt", newFileUri); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - Uri uri("storage/media/100/local/files/Download/file_extension_helper_OpenFile_0002.txt"); + Uri uri("storage/media/100/local/files/Download/external_file_access_OpenFile_0002.txt"); int fd; - result = fah->OpenFile(uri, 0, fd); + result = g_fah->OpenFile(uri, WRITE_READ, fd); EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "OpenFile_0002 result:" << result << endl; - - result = fah->Delete(newFileUri); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Delete(newFileUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); } } catch (...) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-an exception occurred."; + GTEST_LOG_(ERROR) << "external_file_access_OpenFile_0002 occurs an exception."; } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end file_extension_helper_OpenFile_0002"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_OpenFile_0002"; } /** - * @tc.number: SUB_user_file_service_file_extension_helper_OpenFile_0003 - * @tc.name: file_extension_helper_OpenFile_0003 + * @tc.number: user_file_service_external_file_access_OpenFile_0003 + * @tc.name: external_file_access_OpenFile_0003 * @tc.desc: Test function of OpenFile interface for ERROR which Uri is special symbols. * @tc.size: MEDIUM * @tc.type: FUNC * @tc.level Level 1 * @tc.require: SR000H0386 */ -HWTEST_F(FileExtensionHelperTest, file_extension_helper_OpenFile_0003, testing::ext::TestSize.Level1) +HWTEST_F(FileExtensionHelperTest, external_file_access_OpenFile_0003, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_OpenFile_0003"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_OpenFile_0003"; try { Uri uri("~!@#$%^&*()_"); int fd; - int result = fah->OpenFile(uri, 0, fd); + int result = g_fah->OpenFile(uri, WRITE_READ, fd); EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "OpenFile_0003 result:" << result << endl; } catch (...) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-an exception occurred."; + GTEST_LOG_(ERROR) << "external_file_access_OpenFile_0003 occurs an exception."; } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end file_extension_helper_OpenFile_0003"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_OpenFile_0003"; } /** - * @tc.number: SUB_user_file_service_file_extension_helper_OpenFile_0004 - * @tc.name: file_extension_helper_OpenFile_0004 + * @tc.number: user_file_service_external_file_access_OpenFile_0004 + * @tc.name: external_file_access_OpenFile_0004 * @tc.desc: Test function of OpenFile interface for ERROR which flag is -1. * @tc.size: MEDIUM * @tc.type: FUNC * @tc.level Level 1 * @tc.require: SR000H0386 */ -HWTEST_F(FileExtensionHelperTest, file_extension_helper_OpenFile_0004, testing::ext::TestSize.Level1) +HWTEST_F(FileExtensionHelperTest, external_file_access_OpenFile_0004, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_OpenFile_0004"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_OpenFile_0004"; try { vector info; - int result = fah->GetRoots(info); + int result = g_fah->GetRoots(info); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri(info[i].uri); Uri newFileUri(""); - result = fah->CreateFile(parentUri, "file_extension_helper_OpenFile_0004.txt", newFileUri); + result = g_fah->CreateFile(parentUri, "external_file_access_OpenFile_0004.txt", newFileUri); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - int fd; - result = fah->OpenFile(newFileUri, -1, fd); + int flag = -1; + result = g_fah->OpenFile(newFileUri, flag, fd); EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "OpenFile_0004 result:" << result << endl; - - result = fah->Delete(newFileUri); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Delete(newFileUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); } } catch (...) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-an exception occurred."; + GTEST_LOG_(ERROR) << "external_file_access_OpenFile_0004 occurs an exception."; } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end file_extension_helper_OpenFile_0004"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_OpenFile_0004"; } /** - * @tc.number: SUB_user_file_service_file_extension_helper_OpenFile_0005 - * @tc.name: file_extension_helper_OpenFile_0005 - * @tc.desc: Test function of OpenFile interface for SUCCESS which flag is 1. + * @tc.number: user_file_service_external_file_access_OpenFile_0005 + * @tc.name: external_file_access_OpenFile_0005 + * @tc.desc: Test function of OpenFile interface for SUCCESS which flag is 0. * @tc.size: MEDIUM * @tc.type: FUNC * @tc.level Level 1 * @tc.require: SR000H0386 */ -HWTEST_F(FileExtensionHelperTest, file_extension_helper_OpenFile_0005, testing::ext::TestSize.Level1) +HWTEST_F(FileExtensionHelperTest, external_file_access_OpenFile_0005, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_OpenFile_0005"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_OpenFile_0005"; try { vector info; - int result = fah->GetRoots(info); + int result = g_fah->GetRoots(info); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri(info[i].uri); Uri newFileUri(""); - result = fah->CreateFile(parentUri, "file_extension_helper_OpenFile_0005.txt", newFileUri); + result = g_fah->CreateFile(parentUri, "external_file_access_OpenFile_0005.txt", newFileUri); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - int fd; - result = fah->OpenFile(newFileUri, 1, fd); + result = g_fah->OpenFile(newFileUri, READ, fd); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "OpenFile_0005 result:" << result << endl; + close(fd); + result = g_fah->Delete(newFileUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + } + } catch (...) { + GTEST_LOG_(ERROR) << "external_file_access_OpenFile_0005 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_OpenFile_0005"; +} - result = fah->Delete(newFileUri); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); +/** + * @tc.number: user_file_service_external_file_access_OpenFile_0006 + * @tc.name: external_file_access_OpenFile_0006 + * @tc.desc: Test function of OpenFile interface for SUCCESS which flag is 1. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileExtensionHelperTest, external_file_access_OpenFile_0006, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_OpenFile_0006"; + try { + vector info; + int result = g_fah->GetRoots(info); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + for (size_t i = 0; i < info.size(); i++) { + Uri parentUri(info[i].uri); + Uri newFileUri(""); + result = g_fah->CreateFile(parentUri, "external_file_access_OpenFile_0006.txt", newFileUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + int fd; + result = g_fah->OpenFile(newFileUri, WRITE, fd); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + GTEST_LOG_(INFO) << "OpenFile_0006 result:" << result << endl; + close(fd); + result = g_fah->Delete(newFileUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); } } catch (...) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-an exception occurred."; + GTEST_LOG_(ERROR) << "external_file_access_OpenFile_0006 occurs an exception."; } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end file_extension_helper_OpenFile_0005"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_OpenFile_0006"; } /** - * @tc.number: SUB_user_file_service_file_extension_helper_OpenFile_0006 - * @tc.name: file_extension_helper_OpenFile_0006 + * @tc.number: user_file_service_external_file_access_OpenFile_0007 + * @tc.name: external_file_access_OpenFile_0007 * @tc.desc: Test function of OpenFile interface for SUCCESS which flag is 2. * @tc.size: MEDIUM * @tc.type: FUNC * @tc.level Level 1 * @tc.require: SR000H0386 */ -HWTEST_F(FileExtensionHelperTest, file_extension_helper_OpenFile_0006, testing::ext::TestSize.Level1) +HWTEST_F(FileExtensionHelperTest, external_file_access_OpenFile_0007, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_OpenFile_0006"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_OpenFile_0007"; try { vector info; - int result = fah->GetRoots(info); + int result = g_fah->GetRoots(info); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri(info[i].uri); Uri newFileUri(""); - result = fah->CreateFile(parentUri, "file_extension_helper_OpenFile_0006.txt", newFileUri); + result = g_fah->CreateFile(parentUri, "external_file_access_OpenFile_0007.txt", newFileUri); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - int fd; - result = fah->OpenFile(newFileUri, 2, fd); + result = g_fah->OpenFile(newFileUri, WRITE_READ, fd); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "OpenFile_0006 result:" << result << endl; + GTEST_LOG_(INFO) << "OpenFile_0007 result:" << result << endl; + close(fd); + result = g_fah->Delete(newFileUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + } + } catch (...) { + GTEST_LOG_(ERROR) << "external_file_access_OpenFile_0007 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_OpenFile_0007"; +} - result = fah->Delete(newFileUri); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); +void OpenFileTdd(shared_ptr fahs, Uri uri, int flag, int fd) +{ + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_OpenFileTdd"; + int ret = fahs->OpenFile(uri, flag, fd); + if (ret != OHOS::FileAccessFwk::ERR_OK) { + GTEST_LOG_(ERROR) << "OpenFile get result error, code:" << ret; + return; + } + EXPECT_EQ(ret, OHOS::FileAccessFwk::ERR_OK); + EXPECT_GE(fd, OHOS::FileAccessFwk::ERR_OK); + g_num++; + close(fd); + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_OpenFileTdd"; +} + +/** + * @tc.number: user_file_service_external_file_access_OpenFile_0008 + * @tc.name: external_file_access_OpenFile_0008 + * @tc.desc: Test function of OpenFile interface for SUCCESS which Concurrent. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileExtensionHelperTest, external_file_access_OpenFile_0008, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_OpenFile_0008"; + try { + vector info; + int result = g_fah->GetRoots(info); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + for (size_t i = 0; i < info.size(); i++) { + Uri parentUri(info[i].uri); + Uri newFileUri(""); + int fd; + std::string displayName = "test1.txt"; + g_num = 0; + result = g_fah->CreateFile(parentUri, displayName, newFileUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + for (size_t j = 0; j < INIT_THREADS_NUMBER; j++) { + std::thread execthread(OpenFileTdd, g_fah, newFileUri, WRITE_READ, fd); + execthread.join(); + } + EXPECT_EQ(g_num, INIT_THREADS_NUMBER); + result = g_fah->Delete(newFileUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); } } catch (...) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-an exception occurred."; + GTEST_LOG_(ERROR) << "external_file_access_OpenFile_0008 occurs an exception."; } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end file_extension_helper_OpenFile_0006"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_OpenFile_0008"; } /** - * @tc.number: SUB_user_file_service_file_extension_helper_CreateFile_0000 - * @tc.name: file_extension_helper_CreateFile_0000 + * @tc.number: user_file_service_external_file_access_CreateFile_0000 + * @tc.name: external_file_access_CreateFile_0000 * @tc.desc: Test function of CreateFile interface for SUCCESS. * @tc.size: MEDIUM * @tc.type: FUNC * @tc.level Level 1 * @tc.require: SR000H0386 */ -HWTEST_F(FileExtensionHelperTest, file_extension_helper_CreateFile_0000, testing::ext::TestSize.Level1) +HWTEST_F(FileExtensionHelperTest, external_file_access_CreateFile_0000, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_CreateFile_0000"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_CreateFile_0000"; try { vector info; - int result = fah->GetRoots(info); + int result = g_fah->GetRoots(info); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri(info[i].uri); Uri newFileUri(""); - result = fah->CreateFile(parentUri, "file_extension_helper_CreateFile_0000.txt", newFileUri); + result = g_fah->CreateFile(parentUri, "external_file_access_CreateFile_0000.txt", newFileUri); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "CreateFile_0000 result:" << result << endl; - - result = fah->Delete(newFileUri); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Delete(newFileUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); } } catch (...) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-an exception occurred."; + GTEST_LOG_(ERROR) << "external_file_access_CreateFile_0000 occurs an exception."; } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end file_extension_helper_CreateFile_0000"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_CreateFile_0000"; } /** - * @tc.number: SUB_user_file_service_file_extension_helper_CreateFile_0001 - * @tc.name: file_extension_helper_CreateFile_0001 + * @tc.number: user_file_service_external_file_access_CreateFile_0001 + * @tc.name: external_file_access_CreateFile_0001 * @tc.desc: Test function of CreateFile interface for ERROR which parentUri is null. * @tc.size: MEDIUM * @tc.type: FUNC * @tc.level Level 1 * @tc.require: SR000H0386 */ -HWTEST_F(FileExtensionHelperTest, file_extension_helper_CreateFile_0001, testing::ext::TestSize.Level1) +HWTEST_F(FileExtensionHelperTest, external_file_access_CreateFile_0001, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_CreateFile_0001"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_CreateFile_0001"; try { Uri newFileUri(""); Uri parentUri(""); - int result = fah->CreateFile(parentUri, "file_extension_helper_CreateFile_0001.txt", newFileUri); + int result = g_fah->CreateFile(parentUri, "external_file_access_CreateFile_0001.txt", newFileUri); EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "CreateFile_0001 result:" << result << endl; } catch (...) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-an exception occurred."; + GTEST_LOG_(ERROR) << "external_file_access_CreateFile_0001 occurs an exception."; } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end file_extension_helper_CreateFile_0001"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_CreateFile_0001"; } /** - * @tc.number: SUB_user_file_service_file_extension_helper_CreateFile_0002 - * @tc.name: file_extension_helper_CreateFile_0002 + * @tc.number: user_file_service_external_file_access_CreateFile_0002 + * @tc.name: external_file_access_CreateFile_0002 * @tc.desc: Test function of CreateFile interface for ERROR which parentUri is absolute path. * @tc.size: MEDIUM * @tc.type: FUNC * @tc.level Level 1 * @tc.require: SR000H0386 */ -HWTEST_F(FileExtensionHelperTest, file_extension_helper_CreateFile_0002, testing::ext::TestSize.Level1) +HWTEST_F(FileExtensionHelperTest, external_file_access_CreateFile_0002, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_CreateFile_0002"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_CreateFile_0002"; try { Uri newFileUri(""); Uri parentUri("storage/media/100/local/files/Download"); - int result = fah->CreateFile(parentUri, "file_extension_helper_CreateFile_0002.txt", newFileUri); + int result = g_fah->CreateFile(parentUri, "external_file_access_CreateFile_0002.txt", newFileUri); EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "CreateFile_0002 result:" << result << endl; } catch (...) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-an exception occurred."; + GTEST_LOG_(ERROR) << "external_file_access_CreateFile_0002 occurs an exception."; } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end file_extension_helper_CreateFile_0002"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_CreateFile_0002"; } /** - * @tc.number: SUB_user_file_service_file_extension_helper_CreateFile_0003 - * @tc.name: file_extension_helper_CreateFile_0003 + * @tc.number: user_file_service_external_file_access_CreateFile_0003 + * @tc.name: external_file_access_CreateFile_0003 * @tc.desc: Test function of CreateFile interface for ERROR which parentUri is special symbols. * @tc.size: MEDIUM * @tc.type: FUNC * @tc.level Level 1 * @tc.require: SR000H0386 */ -HWTEST_F(FileExtensionHelperTest, file_extension_helper_CreateFile_0003, testing::ext::TestSize.Level1) +HWTEST_F(FileExtensionHelperTest, external_file_access_CreateFile_0003, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_CreateFile_0002"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_CreateFile_0002"; try { Uri newFileUri(""); Uri parentUri("~!@#$%^&*()_"); - int result = fah->CreateFile(parentUri, "file_extension_helper_CreateFile_0003.txt", newFileUri); + int result = g_fah->CreateFile(parentUri, "external_file_access_CreateFile_0003.txt", newFileUri); EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "CreateFile_0003 result:" << result << endl; } catch (...) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-an exception occurred."; + GTEST_LOG_(ERROR) << "external_file_access_CreateFile_0003 occurs an exception."; } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end file_extension_helper_CreateFile_0003"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_CreateFile_0003"; } /** - * @tc.number: SUB_user_file_service_file_extension_helper_CreateFile_0004 - * @tc.name: file_extension_helper_CreateFile_0004 + * @tc.number: user_file_service_external_file_access_CreateFile_0004 + * @tc.name: external_file_access_CreateFile_0004 * @tc.desc: Test function of CreateFile interface for ERROR which displayName is null. * @tc.size: MEDIUM * @tc.type: FUNC * @tc.level Level 1 * @tc.require: SR000H0386 */ -HWTEST_F(FileExtensionHelperTest, file_extension_helper_CreateFile_0004, testing::ext::TestSize.Level1) +HWTEST_F(FileExtensionHelperTest, external_file_access_CreateFile_0004, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_CreateFile_0004"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_CreateFile_0004"; try { vector info; - int result = fah->GetRoots(info); + int result = g_fah->GetRoots(info); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri(info[i].uri); Uri newFileUri(""); string displayName = ""; - result = fah->CreateFile(parentUri, displayName, newFileUri); + result = g_fah->CreateFile(parentUri, displayName, newFileUri); EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "CreateFile_0004 result:" << result << endl; } } catch (...) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-an exception occurred."; + GTEST_LOG_(ERROR) << "external_file_access_CreateFile_0004 occurs an exception."; } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end file_extension_helper_CreateFile_0004"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_CreateFile_0004"; +} + +void CreateFileTdd(shared_ptr fahs, Uri uri, std::string displayName, Uri newFile) +{ + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_CreateFileTdd"; + int ret = fahs->CreateFile(uri, displayName, newFile); + if (ret != OHOS::FileAccessFwk::ERR_OK) { + GTEST_LOG_(ERROR) << "CreateFileTdd get result error, code:" << ret; + return; + } + EXPECT_EQ(ret, OHOS::FileAccessFwk::ERR_OK); + EXPECT_NE(newFile.ToString(), ""); + g_num++; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_CreateFileTdd"; } /** - * @tc.number: SUB_user_file_service_file_extension_helper_Mkdir_0000 - * @tc.name: file_extension_helper_Mkdir_0000 + * @tc.number: user_file_service_external_file_access_CreateFile_0005 + * @tc.name: external_file_access_CreateFile_0005 + * @tc.desc: Test function of CreateFile interface for ERROR which Concurrent. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileExtensionHelperTest, external_file_access_CreateFile_0005, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_CreateFile_0005"; + try { + vector info; + int result = g_fah->GetRoots(info); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + for (size_t i = 0; i < info.size(); i++) { + Uri parentUri(info[i].uri); + Uri newFileUri(""); + std::string displayName = "test1.txt"; + g_num = 0; + for (int j = 0; j < INIT_THREADS_NUMBER; j++) { + std::thread execthread(CreateFileTdd, g_fah, parentUri, displayName, newFileUri); + execthread.join(); + } + EXPECT_EQ(g_num, ACTUAL_SUCCESS_THREADS_NUMBER); + Uri newDelete(info[i].uri + "/" +displayName); + result = g_fah->Delete(newDelete); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + } + } catch (...) { + GTEST_LOG_(ERROR) << "external_file_access_CreateFile_0005 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_CreateFile_0005"; +} + +/** + * @tc.number: user_file_service_external_file_access_Mkdir_0000 + * @tc.name: external_file_access_Mkdir_0000 * @tc.desc: Test function of Mkdir interface for SUCCESS. * @tc.size: MEDIUM * @tc.type: FUNC * @tc.level Level 1 * @tc.require: SR000H0386 */ -HWTEST_F(FileExtensionHelperTest, file_extension_helper_Mkdir_0000, testing::ext::TestSize.Level1) +HWTEST_F(FileExtensionHelperTest, external_file_access_Mkdir_0000, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Mkdir_0000"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Mkdir_0000"; try { vector info; - int result = fah->GetRoots(info); + int result = g_fah->GetRoots(info); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri(info[i].uri); Uri newDirUriTest(""); - result = fah->Mkdir(parentUri, "file_extension_helper_Mkdir_0000", newDirUriTest); + result = g_fah->Mkdir(parentUri, "external_file_access_Mkdir_0000", newDirUriTest); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "Mkdir_0000 result:" << result << endl; - - result = fah->Delete(newDirUriTest); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Delete(newDirUriTest); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); } } catch (...) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-an exception occurred."; + GTEST_LOG_(ERROR) << "external_file_access_Mkdir_0000 occurs an exception."; } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end file_extension_helper_Mkdir_0000"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Mkdir_0000"; } /** - * @tc.number: SUB_user_file_service_file_extension_helper_Mkdir_0001 - * @tc.name: file_extension_helper_Mkdir_0001 + * @tc.number: user_file_service_external_file_access_Mkdir_0001 + * @tc.name: external_file_access_Mkdir_0001 * @tc.desc: Test function of Mkdir interface for ERROR which parentUri is null. * @tc.size: MEDIUM * @tc.type: FUNC * @tc.level Level 1 * @tc.require: SR000H0386 */ -HWTEST_F(FileExtensionHelperTest, file_extension_helper_Mkdir_0001, testing::ext::TestSize.Level1) +HWTEST_F(FileExtensionHelperTest, external_file_access_Mkdir_0001, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Mkdir_0001"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Mkdir_0001"; try { Uri newDirUriTest(""); Uri parentUri(""); - int result = fah->Mkdir(parentUri, "file_extension_helper_Mkdir_0001", newDirUriTest); + int result = g_fah->Mkdir(parentUri, "external_file_access_Mkdir_0001", newDirUriTest); EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "Mkdir_0001 result:" << result << endl; } catch (...) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-an exception occurred."; + GTEST_LOG_(ERROR) << "external_file_access_Mkdir_0001 occurs an exception."; } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end file_extension_helper_Mkdir_0001"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Mkdir_0001"; } /** - * @tc.number: SUB_user_file_service_file_extension_helper_Mkdir_0002 - * @tc.name: file_extension_helper_Mkdir_0002 + * @tc.number: user_file_service_external_file_access_Mkdir_0002 + * @tc.name: external_file_access_Mkdir_0002 * @tc.desc: Test function of Mkdir interface for ERROR which parentUri is absolute path. * @tc.size: MEDIUM * @tc.type: FUNC * @tc.level Level 1 * @tc.require: SR000H0386 */ -HWTEST_F(FileExtensionHelperTest, file_extension_helper_Mkdir_0002, testing::ext::TestSize.Level1) +HWTEST_F(FileExtensionHelperTest, external_file_access_Mkdir_0002, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Mkdir_0002"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Mkdir_0002"; try { Uri newDirUriTest(""); Uri parentUri("storage/media/100/local/files/Download"); - int result = fah->Mkdir(parentUri, "file_extension_helper_Mkdir_0002", newDirUriTest); + int result = g_fah->Mkdir(parentUri, "external_file_access_Mkdir_0002", newDirUriTest); EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "Mkdir_0002 result:" << result << endl; } catch (...) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-an exception occurred."; + GTEST_LOG_(ERROR) << "external_file_access_Mkdir_0002 occurs an exception."; } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end file_extension_helper_Mkdir_0002"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Mkdir_0002"; } /** - * @tc.number: SUB_user_file_service_file_extension_helper_Mkdir_0003 - * @tc.name: file_extension_helper_Mkdir_0003 + * @tc.number: user_file_service_external_file_access_Mkdir_0003 + * @tc.name: external_file_access_Mkdir_0003 * @tc.desc: Test function of Mkdir interface for ERROR which parentUri is special symbols. * @tc.size: MEDIUM * @tc.type: FUNC * @tc.level Level 1 * @tc.require: SR000H0386 */ -HWTEST_F(FileExtensionHelperTest, file_extension_helper_Mkdir_0003, testing::ext::TestSize.Level1) +HWTEST_F(FileExtensionHelperTest, external_file_access_Mkdir_0003, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Mkdir_0002"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Mkdir_0002"; try { Uri newDirUriTest(""); Uri parentUri("~!@#$%^&*()_"); - int result = fah->Mkdir(parentUri, "file_extension_helper_Mkdir_0003", newDirUriTest); + int result = g_fah->Mkdir(parentUri, "external_file_access_Mkdir_0003", newDirUriTest); EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "Mkdir_0003 result:" << result << endl; } catch (...) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-an exception occurred."; + GTEST_LOG_(ERROR) << "external_file_access_Mkdir_0003 occurs an exception."; } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end file_extension_helper_Mkdir_0003"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Mkdir_0003"; } /** - * @tc.number: SUB_user_file_service_file_extension_helper_Mkdir_0004 - * @tc.name: file_extension_helper_Mkdir_0004 + * @tc.number: user_file_service_external_file_access_Mkdir_0004 + * @tc.name: external_file_access_Mkdir_0004 * @tc.desc: Test function of Mkdir interface for ERROR which displayName is null. * @tc.size: MEDIUM * @tc.type: FUNC * @tc.level Level 1 * @tc.require: SR000H0386 */ -HWTEST_F(FileExtensionHelperTest, file_extension_helper_Mkdir_0004, testing::ext::TestSize.Level1) +HWTEST_F(FileExtensionHelperTest, external_file_access_Mkdir_0004, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Mkdir_0004"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Mkdir_0004"; try { vector info; - int result = fah->GetRoots(info); + int result = g_fah->GetRoots(info); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri(info[i].uri); Uri newDirUriTest(""); string displayName = ""; - result = fah->Mkdir(parentUri, displayName, newDirUriTest); + result = g_fah->Mkdir(parentUri, displayName, newDirUriTest); EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "Mkdir_0004 result:" << result << endl; } } catch (...) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-an exception occurred."; + GTEST_LOG_(ERROR) << "external_file_access_Mkdir_0004 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Mkdir_0004"; +} + +void MkdirTdd(shared_ptr fahs, Uri uri, std::string displayName, Uri newFile) +{ + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_MkdirTdd"; + int ret = fahs->Mkdir(uri, displayName, newFile); + if (ret != OHOS::FileAccessFwk::ERR_OK) { + GTEST_LOG_(ERROR) << "MkdirTdd get result error, code:" << ret; + return; + } + EXPECT_EQ(ret, OHOS::FileAccessFwk::ERR_OK); + EXPECT_NE(newFile.ToString(), ""); + g_num++; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_MkdirTdd"; +} + +/** + * @tc.number: user_file_service_external_file_access_Mkdir_0005 + * @tc.name: external_file_access_Mkdir_0005 + * @tc.desc: Test function of Mkdir interface for SUCCESS which Concurrent. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileExtensionHelperTest, external_file_access_Mkdir_0005, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Mkdir_0005"; + try { + vector info; + int result = g_fah->GetRoots(info); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + for (size_t i = 0; i < info.size(); i++) { + Uri parentUri(info[i].uri); + Uri newDirUriTest(""); + std::string displayName = "test1"; + g_num = 0; + for (int j = 0; j < INIT_THREADS_NUMBER; j++) { + std::thread execthread(MkdirTdd, g_fah, parentUri, displayName, newDirUriTest); + execthread.join(); + } + EXPECT_EQ(g_num, ACTUAL_SUCCESS_THREADS_NUMBER); + Uri newDelete(info[i].uri + "/" + displayName); + result = g_fah->Delete(newDelete); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + } + } catch (...) { + GTEST_LOG_(ERROR) << "external_file_access_Mkdir_0005 occurs an exception."; } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end file_extension_helper_Mkdir_0004"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Mkdir_0005"; } /** - * @tc.number: SUB_user_file_service_file_extension_helper_Delete_0000 - * @tc.name: file_extension_helper_Delete_0000 + * @tc.number: user_file_service_external_file_access_Delete_0000 + * @tc.name: external_file_access_Delete_0000 * @tc.desc: Test function of Delete interface for SUCCESS which delete file. * @tc.size: MEDIUM * @tc.type: FUNC * @tc.level Level 1 * @tc.require: SR000H0386 */ -HWTEST_F(FileExtensionHelperTest, file_extension_helper_Delete_0000, testing::ext::TestSize.Level1) +HWTEST_F(FileExtensionHelperTest, external_file_access_Delete_0000, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Delete_0000"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Delete_0000"; try { vector info; - int result = fah->GetRoots(info); + int result = g_fah->GetRoots(info); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri(info[i].uri); Uri newDirUriTest(""); - result = fah->Mkdir(parentUri, "test", newDirUriTest); + result = g_fah->Mkdir(parentUri, "test", newDirUriTest); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - Uri newFileUri(""); - result = fah->CreateFile(newDirUriTest, "file_extension_helper_Delete_0000.txt", newFileUri); + result = g_fah->CreateFile(newDirUriTest, "external_file_access_Delete_0000.txt", newFileUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Delete(newFileUri); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - result = fah->Delete(newFileUri); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "Delete_0000 result:" << result << endl; - - result = fah->Delete(newDirUriTest); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Delete(newDirUriTest); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); } } catch (...) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-an exception occurred."; + GTEST_LOG_(ERROR) << "external_file_access_Delete_0000 occurs an exception."; } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end file_extension_helper_Delete_0000"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Delete_0000"; } /** - * @tc.number: SUB_user_file_service_file_extension_helper_Delete_0001 - * @tc.name: file_extension_helper_Delete_0001 + * @tc.number: user_file_service_external_file_access_Delete_0001 + * @tc.name: external_file_access_Delete_0001 * @tc.desc: Test function of Delete interface for SUCCESS which delete folder. * @tc.size: MEDIUM * @tc.type: FUNC * @tc.level Level 1 * @tc.require: SR000H0386 */ -HWTEST_F(FileExtensionHelperTest, file_extension_helper_Delete_0001, testing::ext::TestSize.Level1) +HWTEST_F(FileExtensionHelperTest, external_file_access_Delete_0001, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Delete_0001"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Delete_0001"; try { vector info; - int result = fah->GetRoots(info); + int result = g_fah->GetRoots(info); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri(info[i].uri); Uri newDirUriTest(""); - result = fah->Mkdir(parentUri, "test", newDirUriTest); + result = g_fah->Mkdir(parentUri, "test", newDirUriTest); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Delete(newDirUriTest); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - result = fah->Delete(newDirUriTest); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "Delete_0001 result:" << result << endl; } } catch (...) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-an exception occurred."; + GTEST_LOG_(ERROR) << "external_file_access_Delete_0001 occurs an exception."; } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end file_extension_helper_Delete_0001"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Delete_0001"; } /** - * @tc.number: SUB_user_file_service_file_extension_helper_Delete_0002 - * @tc.name: file_extension_helper_Delete_0002 + * @tc.number: user_file_service_external_file_access_Delete_0002 + * @tc.name: external_file_access_Delete_0002 * @tc.desc: Test function of Delete interface for ERROR which selectFileUri is null. * @tc.size: MEDIUM * @tc.type: FUNC * @tc.level Level 1 * @tc.require: SR000H0386 */ -HWTEST_F(FileExtensionHelperTest, file_extension_helper_Delete_0002, testing::ext::TestSize.Level1) +HWTEST_F(FileExtensionHelperTest, external_file_access_Delete_0002, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Delete_0002"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Delete_0002"; try { Uri selectFileUri(""); - int result = fah->Delete(selectFileUri); + int result = g_fah->Delete(selectFileUri); EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "Delete_0002 result:" << result << endl; } catch (...) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-an exception occurred."; + GTEST_LOG_(ERROR) << "external_file_access_Delete_0002 occurs an exception."; } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end file_extension_helper_Delete_0002"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Delete_0002"; } /** - * @tc.number: SUB_user_file_service_file_extension_helper_Delete_0003 - * @tc.name: file_extension_helper_Delete_0003 + * @tc.number: user_file_service_external_file_access_Delete_0003 + * @tc.name: external_file_access_Delete_0003 * @tc.desc: Test function of Delete interface for ERROR which selectFileUri is absolute path. * @tc.size: MEDIUM * @tc.type: FUNC * @tc.level Level 1 * @tc.require: SR000H0386 */ -HWTEST_F(FileExtensionHelperTest, file_extension_helper_Delete_0003, testing::ext::TestSize.Level1) +HWTEST_F(FileExtensionHelperTest, external_file_access_Delete_0003, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Delete_0003"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Delete_0003"; try { vector info; - int result = fah->GetRoots(info); + int result = g_fah->GetRoots(info); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri(info[i].uri); Uri newDirUriTest(""); - result = fah->Mkdir(parentUri, "test", newDirUriTest); + result = g_fah->Mkdir(parentUri, "test", newDirUriTest); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - Uri selectFileUri("storage/media/100/local/files/Download/test"); - result = fah->Delete(selectFileUri); + result = g_fah->Delete(selectFileUri); EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); - - result = fah->Delete(newDirUriTest); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Delete(newDirUriTest); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "Delete_0003 result:" << result << endl; } - } catch (...) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-an exception occurred."; + GTEST_LOG_(ERROR) << "external_file_access_Delete_0003 occurs an exception."; } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end file_extension_helper_Delete_0003"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Delete_0003"; } /** - * @tc.number: SUB_user_file_service_file_extension_helper_Delete_0004 - * @tc.name: file_extension_helper_Delete_0004 + * @tc.number: user_file_service_external_file_access_Delete_0004 + * @tc.name: external_file_access_Delete_0004 * @tc.desc: Test function of Delete interface for ERROR which selectFileUri is special symbols. * @tc.size: MEDIUM * @tc.type: FUNC * @tc.level Level 1 * @tc.require: SR000H0386 */ -HWTEST_F(FileExtensionHelperTest, file_extension_helper_Delete_0004, testing::ext::TestSize.Level1) +HWTEST_F(FileExtensionHelperTest, external_file_access_Delete_0004, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Delete_0004"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Delete_0004"; try { Uri selectFileUri("!@#$%^&*()"); - int result = fah->Delete(selectFileUri); + int result = g_fah->Delete(selectFileUri); EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "Delete_0004 result:" << result << endl; } catch (...) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-an exception occurred."; + GTEST_LOG_(ERROR) << "external_file_access_Delete_0004 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Delete_0004"; +} + +void DeleteTdd(shared_ptr fahs, Uri selectFile) +{ + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_DeleteTdd"; + int ret = fahs->Delete(selectFile); + if (ret != OHOS::FileAccessFwk::ERR_OK) { + GTEST_LOG_(ERROR) << "DeleteTdd get result error, code:" << ret; + return; } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end file_extension_helper_Delete_0004"; + EXPECT_EQ(ret, OHOS::FileAccessFwk::ERR_OK); + g_num++; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_DeleteTdd"; } /** - * @tc.number: SUB_user_file_service_file_extension_helper_Move_0000 - * @tc.name: file_extension_helper_Move_0000 - * @tc.desc: Test function of Move interface for SUCCESS which move file. + * @tc.number: user_file_service_external_file_access_Delete_0005 + * @tc.name: external_file_access_Delete_0005 + * @tc.desc: Test function of Delete interface for SUCCESS which Concurrent. * @tc.size: MEDIUM * @tc.type: FUNC * @tc.level Level 1 * @tc.require: SR000H0386 */ -HWTEST_F(FileExtensionHelperTest, file_extension_helper_Move_0000, testing::ext::TestSize.Level1) +HWTEST_F(FileExtensionHelperTest, external_file_access_Delete_0005, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Delete_0005"; + try { + vector info; + int result = g_fah->GetRoots(info); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + for (size_t i = 0; i < info.size(); i++) { + Uri parentUri(info[i].uri); + Uri newDirUriTest(""); + result = g_fah->Mkdir(parentUri, "test", newDirUriTest); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri newFileUri(""); + std::string displayName = "test1.txt"; + result = g_fah->CreateFile(newDirUriTest, displayName, newFileUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + g_num = 0; + for (int j = 0; j < INIT_THREADS_NUMBER; j++) { + std::thread execthread(DeleteTdd, g_fah, newFileUri); + execthread.join(); + } + EXPECT_EQ(g_num, ACTUAL_SUCCESS_THREADS_NUMBER); + result = g_fah->Delete(newDirUriTest); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + } + } catch (...) { + GTEST_LOG_(ERROR) << "external_file_access_Delete_0005 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Delete_0005"; +} + +/** + * @tc.number: user_file_service_external_file_access_Move_0000 + * @tc.name: external_file_access_Move_0000 + * @tc.desc: Test function of Move interface for SUCCESS which move file. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0387 + */ +HWTEST_F(FileExtensionHelperTest, external_file_access_Move_0000, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Move_0000"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Move_0000"; try { vector info; - int result = fah->GetRoots(info); + int result = g_fah->GetRoots(info); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri(info[i].uri); Uri newDirUriTest1(""); Uri newDirUriTest2(""); - result = fah->Mkdir(parentUri, "test1", newDirUriTest1); + result = g_fah->Mkdir(parentUri, "test1", newDirUriTest1); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - result = fah->Mkdir(parentUri, "test2", newDirUriTest2); + result = g_fah->Mkdir(parentUri, "test2", newDirUriTest2); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - Uri testUri(""); - result = fah->CreateFile(newDirUriTest1, "test.txt", testUri); + result = g_fah->CreateFile(newDirUriTest1, "test.txt", testUri); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - Uri testUri2(""); - result = fah->Move(testUri, newDirUriTest2, testUri2); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Move(testUri, newDirUriTest2, testUri2); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "Move_0000 result:" << result << endl; - - result = fah->Delete(newDirUriTest1); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); - - result = fah->Delete(newDirUriTest2); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Delete(newDirUriTest1); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Delete(newDirUriTest2); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); } } catch (...) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-an exception occurred."; + GTEST_LOG_(ERROR) << "external_file_access_Move_0000 occurs an exception."; } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end file_extension_helper_Move_0000"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Move_0000"; } /** - * @tc.number: SUB_user_file_service_file_extension_helper_Move_0001 - * @tc.name: file_extension_helper_Move_0001 + * @tc.number: user_file_service_external_file_access_Move_0001 + * @tc.name: external_file_access_Move_0001 * @tc.desc: Test function of Move interface for SUCCESS which move folder. * @tc.size: MEDIUM * @tc.type: FUNC * @tc.level Level 1 - * @tc.require: SR000H0386 + * @tc.require: SR000H0387 */ -HWTEST_F(FileExtensionHelperTest, file_extension_helper_Move_0001, testing::ext::TestSize.Level1) +HWTEST_F(FileExtensionHelperTest, external_file_access_Move_0001, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Move_0001"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Move_0001"; try { vector info; - int result = fah->GetRoots(info); + int result = g_fah->GetRoots(info); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri(info[i].uri); Uri newDirUriTest1(""); Uri newDirUriTest2(""); - result = fah->Mkdir(parentUri, "test1", newDirUriTest1); + result = g_fah->Mkdir(parentUri, "test1", newDirUriTest1); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - result = fah->Mkdir(parentUri, "test2", newDirUriTest2); + result = g_fah->Mkdir(parentUri, "test2", newDirUriTest2); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - Uri testUri(""); - result = fah->CreateFile(newDirUriTest1, "test.txt", testUri); + result = g_fah->CreateFile(newDirUriTest1, "test.txt", testUri); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - Uri testUri2(""); - result = fah->Move(newDirUriTest1, newDirUriTest2, testUri2); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Move(newDirUriTest1, newDirUriTest2, testUri2); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "Move_0001 result:" << result << endl; - - result = fah->Delete(newDirUriTest2); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Delete(newDirUriTest2); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); } } catch (...) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-an exception occurred."; + GTEST_LOG_(ERROR) << "external_file_access_Move_0001 occurs an exception."; } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end file_extension_helper_Move_0001"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Move_0001"; } /** - * @tc.number: SUB_user_file_service_file_extension_helper_Move_0002 - * @tc.name: file_extension_helper_Move_0002 + * @tc.number: user_file_service_external_file_access_Move_0002 + * @tc.name: external_file_access_Move_0002 * @tc.desc: Test function of Move interface for ERROR which sourceFileUri is null. * @tc.size: MEDIUM * @tc.type: FUNC * @tc.level Level 1 - * @tc.require: SR000H0386 + * @tc.require: SR000H0387 */ -HWTEST_F(FileExtensionHelperTest, file_extension_helper_Move_0002, testing::ext::TestSize.Level1) +HWTEST_F(FileExtensionHelperTest, external_file_access_Move_0002, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Move_0002"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Move_0002"; try { vector info; - int result = fah->GetRoots(info); + int result = g_fah->GetRoots(info); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri(info[i].uri); Uri newDirUriTest(""); - result = fah->Mkdir(parentUri, "test", newDirUriTest); + result = g_fah->Mkdir(parentUri, "test", newDirUriTest); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - Uri testUri(""); Uri sourceFileUri(""); - result = fah->Move(sourceFileUri, newDirUriTest, testUri); + result = g_fah->Move(sourceFileUri, newDirUriTest, testUri); EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "Move_0002 result:" << result << endl; - - result = fah->Delete(newDirUriTest); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Delete(newDirUriTest); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); } } catch (...) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-an exception occurred."; + GTEST_LOG_(ERROR) << "external_file_access_Move_0002 occurs an exception."; } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end file_extension_helper_Move_0002"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Move_0002"; } /** - * @tc.number: SUB_user_file_service_file_extension_helper_Move_0003 - * @tc.name: file_extension_helper_Move_0003 + * @tc.number: user_file_service_external_file_access_Move_0003 + * @tc.name: external_file_access_Move_0003 * @tc.desc: Test function of Move interface for ERROR which sourceFileUri is absolute path. * @tc.size: MEDIUM * @tc.type: FUNC * @tc.level Level 1 * @tc.require: SR000H0386 */ -HWTEST_F(FileExtensionHelperTest, file_extension_helper_Move_0003, testing::ext::TestSize.Level1) +HWTEST_F(FileExtensionHelperTest, external_file_access_Move_0003, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Move_0003"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Move_0003"; try { vector info; - int result = fah->GetRoots(info); + int result = g_fah->GetRoots(info); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri(info[i].uri); Uri newDirUriTest1(""); Uri newDirUriTest2(""); - result = fah->Mkdir(parentUri, "test1", newDirUriTest1); + result = g_fah->Mkdir(parentUri, "test1", newDirUriTest1); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - result = fah->Mkdir(parentUri, "test2", newDirUriTest2); + result = g_fah->Mkdir(parentUri, "test2", newDirUriTest2); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - Uri testUri(""); - result = fah->CreateFile(newDirUriTest1, "test.txt", testUri); + result = g_fah->CreateFile(newDirUriTest1, "test.txt", testUri); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - Uri testUri2(""); Uri sourceFileUri("storage/media/100/local/files/Download/test1/test.txt"); - result = fah->Move(sourceFileUri, newDirUriTest2, testUri2); + result = g_fah->Move(sourceFileUri, newDirUriTest2, testUri2); EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "Move_0003 result:" << result << endl; - - result = fah->Delete(newDirUriTest1); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); - - result = fah->Delete(newDirUriTest2); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Delete(newDirUriTest1); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Delete(newDirUriTest2); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); } } catch (...) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-an exception occurred."; + GTEST_LOG_(ERROR) << "external_file_access_Move_0003 occurs an exception."; } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end file_extension_helper_Move_0003"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Move_0003"; } /** - * @tc.number: SUB_user_file_service_file_extension_helper_Move_0004 - * @tc.name: file_extension_helper_Move_0004 + * @tc.number: user_file_service_external_file_access_Move_0004 + * @tc.name: external_file_access_Move_0004 * @tc.desc: Test function of Move interface for ERROR which sourceFileUri is special symbols. * @tc.size: MEDIUM * @tc.type: FUNC * @tc.level Level 1 - * @tc.require: SR000H0386 + * @tc.require: SR000H0387 */ -HWTEST_F(FileExtensionHelperTest, file_extension_helper_Move_0004, testing::ext::TestSize.Level1) +HWTEST_F(FileExtensionHelperTest, external_file_access_Move_0004, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Move_0004"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Move_0004"; try { vector info; - int result = fah->GetRoots(info); + int result = g_fah->GetRoots(info); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri(info[i].uri); Uri newDirUriTest(""); - result = fah->Mkdir(parentUri, "test", newDirUriTest); + result = g_fah->Mkdir(parentUri, "test", newDirUriTest); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - Uri testUri(""); Uri sourceFileUri("~!@#$%^&*()_"); - result = fah->Move(sourceFileUri, newDirUriTest, testUri); + result = g_fah->Move(sourceFileUri, newDirUriTest, testUri); EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "Move_0004 result:" << result << endl; - - result = fah->Delete(newDirUriTest); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Delete(newDirUriTest); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); } } catch (...) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-an exception occurred."; + GTEST_LOG_(ERROR) << "external_file_access_Move_0004 occurs an exception."; } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end file_extension_helper_Move_0004"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Move_0004"; } /** - * @tc.number: SUB_user_file_service_file_extension_helper_Move_0005 - * @tc.name: file_extension_helper_Move_0005 + * @tc.number: user_file_service_external_file_access_Move_0005 + * @tc.name: external_file_access_Move_0005 * @tc.desc: Test function of Move interface for ERROR which targetParentUri is null. * @tc.size: MEDIUM * @tc.type: FUNC * @tc.level Level 1 - * @tc.require: SR000H0386 + * @tc.require: SR000H0387 */ -HWTEST_F(FileExtensionHelperTest, file_extension_helper_Move_0005, testing::ext::TestSize.Level1) +HWTEST_F(FileExtensionHelperTest, external_file_access_Move_0005, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Move_0005"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Move_0005"; try { vector info; - int result = fah->GetRoots(info); + int result = g_fah->GetRoots(info); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri(info[i].uri); Uri newDirUriTest(""); - result = fah->Mkdir(parentUri, "test1", newDirUriTest); + result = g_fah->Mkdir(parentUri, "test1", newDirUriTest); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - Uri testUri(""); - result = fah->CreateFile(newDirUriTest, "test.txt", testUri); + result = g_fah->CreateFile(newDirUriTest, "test.txt", testUri); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - Uri testUri2(""); Uri targetParentUri(""); - result = fah->Move(testUri, targetParentUri, testUri2); + result = g_fah->Move(testUri, targetParentUri, testUri2); EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "Move_0005 result:" << result << endl; - - result = fah->Delete(newDirUriTest); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Delete(newDirUriTest); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); } } catch (...) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-an exception occurred."; + GTEST_LOG_(ERROR) << "external_file_access_Move_0005 occurs an exception."; } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end file_extension_helper_Move_0005"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Move_0005"; } /** - * @tc.number: SUB_user_file_service_file_extension_helper_Move_0006 - * @tc.name: file_extension_helper_Move_0006 + * @tc.number: user_file_service_external_file_access_Move_0006 + * @tc.name: external_file_access_Move_0006 * @tc.desc: Test function of Move interface for ERROR which targetParentUri is absolute path. * @tc.size: MEDIUM * @tc.type: FUNC * @tc.level Level 1 - * @tc.require: SR000H0386 + * @tc.require: SR000H0387 */ -HWTEST_F(FileExtensionHelperTest, file_extension_helper_Move_0006, testing::ext::TestSize.Level1) +HWTEST_F(FileExtensionHelperTest, external_file_access_Move_0006, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Move_0006"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Move_0006"; try { vector info; - int result = fah->GetRoots(info); + int result = g_fah->GetRoots(info); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri(info[i].uri); Uri newDirUriTest1(""); Uri newDirUriTest2(""); - result = fah->Mkdir(parentUri, "test1", newDirUriTest1); + result = g_fah->Mkdir(parentUri, "test1", newDirUriTest1); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - result = fah->Mkdir(parentUri, "test2", newDirUriTest2); + result = g_fah->Mkdir(parentUri, "test2", newDirUriTest2); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - Uri testUri(""); - result = fah->CreateFile(newDirUriTest1, "test.txt", testUri); + result = g_fah->CreateFile(newDirUriTest1, "test.txt", testUri); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - Uri testUri2(""); Uri targetParentUri("storage/media/100/local/files/Download/test2"); - result = fah->Move(testUri, targetParentUri, testUri2); + result = g_fah->Move(testUri, targetParentUri, testUri2); EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "Move_0006 result:" << result << endl; - - result = fah->Delete(newDirUriTest1); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); - - result = fah->Delete(newDirUriTest2); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Delete(newDirUriTest1); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Delete(newDirUriTest2); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); } } catch (...) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-an exception occurred."; + GTEST_LOG_(ERROR) << "external_file_access_Move_0006 occurs an exception."; } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end file_extension_helper_Move_0006"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Move_0006"; } /** - * @tc.number: SUB_user_file_service_file_extension_helper_Move_0007 - * @tc.name: file_extension_helper_Move_0007 + * @tc.number: user_file_service_external_file_access_Move_0007 + * @tc.name: external_file_access_Move_0007 * @tc.desc: Test function of Move interface for ERROR which targetParentUri is special symbols. * @tc.size: MEDIUM * @tc.type: FUNC * @tc.level Level 1 - * @tc.require: SR000H0386 + * @tc.require: SR000H0387 */ -HWTEST_F(FileExtensionHelperTest, file_extension_helper_Move_0007, testing::ext::TestSize.Level1) +HWTEST_F(FileExtensionHelperTest, external_file_access_Move_0007, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Move_0007"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Move_0007"; try { vector info; - int result = fah->GetRoots(info); + int result = g_fah->GetRoots(info); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri(info[i].uri); Uri newDirUriTest1(""); Uri newDirUriTest2(""); - result = fah->Mkdir(parentUri, "test1", newDirUriTest1); + result = g_fah->Mkdir(parentUri, "test1", newDirUriTest1); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - result = fah->Mkdir(parentUri, "test2", newDirUriTest2); + result = g_fah->Mkdir(parentUri, "test2", newDirUriTest2); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - Uri testUri(""); - result = fah->CreateFile(newDirUriTest1, "test.txt", testUri); + result = g_fah->CreateFile(newDirUriTest1, "test.txt", testUri); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - Uri testUri2(""); Uri targetParentUri("~!@#$^%&*()_"); - result = fah->Move(testUri, targetParentUri, testUri2); + result = g_fah->Move(testUri, targetParentUri, testUri2); EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "Move_0007 result:" << result << endl; - - result = fah->Delete(newDirUriTest1); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); - - result = fah->Delete(newDirUriTest2); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Delete(newDirUriTest1); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Delete(newDirUriTest2); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); } } catch (...) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-an exception occurred."; + GTEST_LOG_(ERROR) << "external_file_access_Move_0007 occurs an exception."; } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end file_extension_helper_Move_0007"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Move_0007"; } /** - * @tc.number: SUB_user_file_service_file_extension_helper_Move_0008 - * @tc.name: file_extension_helper_Move_0008 + * @tc.number: user_file_service_external_file_access_Move_0008 + * @tc.name: external_file_access_Move_0008 * @tc.desc: Test function of Move interface for SUCCESS which move empty folder. * @tc.size: MEDIUM * @tc.type: FUNC * @tc.level Level 1 - * @tc.require: SR000H0386 + * @tc.require: SR000H0387 */ -HWTEST_F(FileExtensionHelperTest, file_extension_helper_Move_0008, testing::ext::TestSize.Level1) +HWTEST_F(FileExtensionHelperTest, external_file_access_Move_0008, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Move_0008"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Move_0008"; try { vector info; - int result = fah->GetRoots(info); + int result = g_fah->GetRoots(info); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri(info[i].uri); Uri newDirUriTest1(""); Uri newDirUriTest2(""); - result = fah->Mkdir(parentUri, "test1", newDirUriTest1); + result = g_fah->Mkdir(parentUri, "test1", newDirUriTest1); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - result = fah->Mkdir(parentUri, "test2", newDirUriTest2); + result = g_fah->Mkdir(parentUri, "test2", newDirUriTest2); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - Uri testUri(""); - result = fah->Move(newDirUriTest1, newDirUriTest2, testUri); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Move(newDirUriTest1, newDirUriTest2, testUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "Move_0008 result:" << result << endl; - - result = fah->Delete(newDirUriTest2); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Delete(newDirUriTest2); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); } } catch (...) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-an exception occurred."; + GTEST_LOG_(ERROR) << "external_file_access_Move_0008 occurs an exception."; } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end file_extension_helper_Move_0008"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Move_0008"; } /** - * @tc.number: SUB_user_file_service_file_extension_helper_Move_0009 - * @tc.name: file_extension_helper_Move_0009 + * @tc.number: user_file_service_external_file_access_Move_0009 + * @tc.name: external_file_access_Move_0009 * @tc.desc: Test function of Move interface for SUCCESS which move more file in folder. * @tc.size: MEDIUM * @tc.type: FUNC * @tc.level Level 1 - * @tc.require: SR000H0386 + * @tc.require: SR000H0387 */ -HWTEST_F(FileExtensionHelperTest, file_extension_helper_Move_0009, testing::ext::TestSize.Level1) +HWTEST_F(FileExtensionHelperTest, external_file_access_Move_0009, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Move_0009"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Move_0009"; try { vector info; - int result = fah->GetRoots(info); + int result = g_fah->GetRoots(info); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri(info[i].uri); Uri newDirUriTest1(""); Uri newDirUriTest2(""); - result = fah->Mkdir(parentUri, "test1", newDirUriTest1); + result = g_fah->Mkdir(parentUri, "test1", newDirUriTest1); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - result = fah->Mkdir(parentUri, "test2", newDirUriTest2); + result = g_fah->Mkdir(parentUri, "test2", newDirUriTest2); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - Uri testUri(""); - for (size_t j = 0; j < 2000; j++) - { + int fileNumbers = 2000; + for (size_t j = 0; j < fileNumbers; j++) { string fileName = "test" + ToString(j) + ".txt"; - fah->CreateFile(newDirUriTest1, fileName, testUri); + result = g_fah->CreateFile(newDirUriTest1, fileName, testUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); } - Uri testUri2(""); - result = fah->Move(newDirUriTest1, newDirUriTest2, testUri2); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Move(newDirUriTest1, newDirUriTest2, testUri2); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "Move_0009 result:" << result << endl; - - result = fah->Delete(newDirUriTest2); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Delete(newDirUriTest2); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); } } catch (...) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-an exception occurred."; + GTEST_LOG_(ERROR) << "external_file_access_Move_0009 occurs an exception."; } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end file_extension_helper_Move_0009"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Move_0009"; } /** - * @tc.number: SUB_user_file_service_file_extension_helper_Move_0010 - * @tc.name: file_extension_helper_Move_0010 + * @tc.number: user_file_service_external_file_access_Move_0010 + * @tc.name: external_file_access_Move_0010 * @tc.desc: Test function of Move interface for SUCCESS which move Multilevel directory folder. * @tc.size: MEDIUM * @tc.type: FUNC * @tc.level Level 1 - * @tc.require: SR000H0386 + * @tc.require: SR000H0387 */ -HWTEST_F(FileExtensionHelperTest, file_extension_helper_Move_0010, testing::ext::TestSize.Level1) +HWTEST_F(FileExtensionHelperTest, external_file_access_Move_0010, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Move_0010"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Move_0010"; try { vector info; - int result = fah->GetRoots(info); + int result = g_fah->GetRoots(info); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri(info[i].uri); Uri newDirUriTest1(""); Uri newDirUriTest2(""); - result = fah->Mkdir(parentUri, "test1", newDirUriTest1); + result = g_fah->Mkdir(parentUri, "test1", newDirUriTest1); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - result = fah->Mkdir(parentUri, "test2", newDirUriTest2); + result = g_fah->Mkdir(parentUri, "test2", newDirUriTest2); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - Uri testUri(""); - fah->Mkdir(newDirUriTest1, "test", testUri); - for (size_t j = 0; j < 64; j++) + result = g_fah->Mkdir(newDirUriTest1, "test", testUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + int directoryNumbers = 64; + for (size_t j = 0; j < directoryNumbers; j++) { - fah->Mkdir(testUri, "test", testUri); + result = g_fah->Mkdir(testUri, "test", testUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); } - Uri testUri2(""); - result = fah->Move(newDirUriTest1, newDirUriTest2, testUri2); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Move(newDirUriTest1, newDirUriTest2, testUri2); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "Move_0010 result:" << result << endl; - - result = fah->Delete(newDirUriTest2); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Delete(newDirUriTest2); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); } } catch (...) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-an exception occurred."; + GTEST_LOG_(ERROR) << "external_file_access_Move_0010 occurs an exception."; } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end file_extension_helper_Move_0010"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Move_0010"; } /** - * @tc.number: SUB_user_file_service_file_extension_helper_Move_0011 - * @tc.name: file_extension_helper_Move_0011 + * @tc.number: user_file_service_external_file_access_Move_0011 + * @tc.name: external_file_access_Move_0011 * @tc.desc: Test function of Move interface for SUCCESS which move other equipment file. * @tc.size: MEDIUM * @tc.type: FUNC * @tc.level Level 1 - * @tc.require: SR000H0386 + * @tc.require: SR000H0387 */ -HWTEST_F(FileExtensionHelperTest, file_extension_helper_Move_0011, testing::ext::TestSize.Level1) +HWTEST_F(FileExtensionHelperTest, external_file_access_Move_0011, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Move_0011"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Move_0011"; try { vector info; - int result = fah->GetRoots(info); + int result = g_fah->GetRoots(info); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri(info[i].uri); Uri newDirUriTest1(""); Uri newDirUriTest2(""); - result = fah->Mkdir(parentUri, "test1", newDirUriTest1); + result = g_fah->Mkdir(parentUri, "test1", newDirUriTest1); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - Uri testUri(""); - fah->CreateFile(newDirUriTest1, "test.txt", testUri); - + result = g_fah->CreateFile(newDirUriTest1, "test.txt", testUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t j = i + 1; j < info.size(); j++) { Uri otherUri(info[j].uri); - result = fah->Mkdir(otherUri, "test2", newDirUriTest2); + result = g_fah->Mkdir(otherUri, "test2", newDirUriTest2); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Move(testUri, newDirUriTest2, testUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Move(testUri, newDirUriTest1, testUri); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - result = fah->Move(testUri, newDirUriTest2, testUri); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); - - result = fah->Move(testUri, newDirUriTest1, testUri); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "Move_0011 result:" << result << endl; - - result = fah->Delete(newDirUriTest2); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Delete(newDirUriTest2); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); } + result = g_fah->Delete(newDirUriTest1); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + } + } catch (...) { + GTEST_LOG_(ERROR) << "external_file_access_Move_0011 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Move_0011"; +} - result = fah->Delete(newDirUriTest1); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); +void MoveTdd(shared_ptr fahs, Uri sourceFile, Uri targetParent, Uri newFile) +{ + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_MoveTdd"; + int ret = fahs->Move(sourceFile, targetParent, newFile); + if (ret != OHOS::FileAccessFwk::ERR_OK) { + GTEST_LOG_(ERROR) << "MoveTdd get result error, code:" << ret; + return; + } + EXPECT_EQ(ret, OHOS::FileAccessFwk::ERR_OK); + g_num++; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_MoveTdd"; +} + +/** + * @tc.number: user_file_service_external_file_access_Move_0012 + * @tc.name: external_file_access_Move_0012 + * @tc.desc: Test function of Move interface for SUCCESS which Concurrent. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileExtensionHelperTest, external_file_access_Move_0012, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Move_0012"; + try { + vector info; + int result = g_fah->GetRoots(info); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + for (size_t i = 0; i < info.size(); i++) { + Uri parentUri(info[i].uri); + Uri newDirUriTest1(""); + Uri newDirUriTest2(""); + result = g_fah->Mkdir(parentUri, "test1", newDirUriTest1); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Mkdir(parentUri, "test2", newDirUriTest2); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri testUri(""); + std::string displayName = "test3.txt"; + result = g_fah->CreateFile(newDirUriTest1, displayName, testUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri testUri2(""); + g_num = 0; + for (int j = 0; j < INIT_THREADS_NUMBER; j++) { + std::thread execthread(MoveTdd, g_fah, testUri, newDirUriTest2, testUri2); + execthread.join(); + } + EXPECT_EQ(g_num, ACTUAL_SUCCESS_THREADS_NUMBER); + result = g_fah->Delete(newDirUriTest1); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Delete(newDirUriTest2); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); } } catch (...) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-an exception occurred."; + GTEST_LOG_(ERROR) << "external_file_access_Move_0012 occurs an exception."; } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end file_extension_helper_Move_0011"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Move_0012"; } /** - * @tc.number: SUB_user_file_service_file_extension_helper_Rename_0000 - * @tc.name: file_extension_helper_Rename_0000 + * @tc.number: user_file_service_external_file_access_Rename_0000 + * @tc.name: external_file_access_Rename_0000 * @tc.desc: Test function of Rename interface for SUCCESS which rename file. * @tc.size: MEDIUM * @tc.type: FUNC * @tc.level Level 1 - * @tc.require: SR000H0386 + * @tc.require: SR000H0387 */ -HWTEST_F(FileExtensionHelperTest, file_extension_helper_Rename_0000, testing::ext::TestSize.Level1) +HWTEST_F(FileExtensionHelperTest, external_file_access_Rename_0000, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Rename_0000"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Rename_0000"; try { vector info; - int result = fah->GetRoots(info); + int result = g_fah->GetRoots(info); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri(info[i].uri); Uri newDirUriTest(""); - result = fah->Mkdir(parentUri, "test", newDirUriTest); + result = g_fah->Mkdir(parentUri, "test", newDirUriTest); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - Uri testUri(""); - result = fah->CreateFile(newDirUriTest, "test.txt", testUri); + result = g_fah->CreateFile(newDirUriTest, "test.txt", testUri); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - Uri renameUri(""); - result = fah->Rename(testUri, "test2.txt", renameUri); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Rename(testUri, "test2.txt", renameUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "Rename_0000 result:" << result << endl; - - result = fah->Delete(newDirUriTest); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Delete(newDirUriTest); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); } } catch (...) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-an exception occurred."; + GTEST_LOG_(ERROR) << "external_file_access_Rename_0000 occurs an exception."; } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end file_extension_helper_Rename_0000"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Rename_0000"; } /** - * @tc.number: SUB_user_file_service_file_extension_helper_Rename_0001 - * @tc.name: file_extension_helper_Rename_0001 + * @tc.number: user_file_service_external_file_access_Rename_0001 + * @tc.name: external_file_access_Rename_0001 * @tc.desc: Test function of Rename interface for SUCCESS which rename folder. * @tc.size: MEDIUM * @tc.type: FUNC * @tc.level Level 1 - * @tc.require: SR000H0386 + * @tc.require: SR000H0387 */ -HWTEST_F(FileExtensionHelperTest, file_extension_helper_Rename_0001, testing::ext::TestSize.Level1) +HWTEST_F(FileExtensionHelperTest, external_file_access_Rename_0001, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Rename_0001"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Rename_0001"; try { vector info; - int result = fah->GetRoots(info); + int result = g_fah->GetRoots(info); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri(info[i].uri); Uri newDirUriTest(""); - result = fah->Mkdir(parentUri, "test", newDirUriTest); + result = g_fah->Mkdir(parentUri, "test", newDirUriTest); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - Uri renameUri(""); - result = fah->Rename(newDirUriTest, "testRename", renameUri); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Rename(newDirUriTest, "testRename", renameUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "Rename_0001 result:" << result << endl; - - result = fah->Delete(renameUri); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Delete(renameUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); } } catch (...) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-an exception occurred."; + GTEST_LOG_(ERROR) << "external_file_access_Rename_0001 occurs an exception."; } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end file_extension_helper_Rename_0001"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Rename_0001"; } /** - * @tc.number: SUB_user_file_service_file_extension_helper_Rename_0002 - * @tc.name: file_extension_helper_Rename_0002 + * @tc.number: user_file_service_external_file_access_Rename_0002 + * @tc.name: external_file_access_Rename_0002 * @tc.desc: Test function of Rename interface for ERROR which sourceFileUri is null. * @tc.size: MEDIUM * @tc.type: FUNC * @tc.level Level 1 - * @tc.require: SR000H0386 + * @tc.require: SR000H0387 */ -HWTEST_F(FileExtensionHelperTest, file_extension_helper_Rename_0002, testing::ext::TestSize.Level1) +HWTEST_F(FileExtensionHelperTest, external_file_access_Rename_0002, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Rename_0002"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Rename_0002"; try { Uri renameUri(""); Uri sourceFileUri(""); - int result = fah->Rename(sourceFileUri, "testRename.txt", renameUri); + int result = g_fah->Rename(sourceFileUri, "testRename.txt", renameUri); EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "Rename_0002 result:" << result << endl; } catch (...) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-an exception occurred."; + GTEST_LOG_(ERROR) << "external_file_access_Rename_0002 occurs an exception."; } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end file_extension_helper_Rename_0002"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Rename_0002"; } /** - * @tc.number: SUB_user_file_service_file_extension_helper_Rename_0003 - * @tc.name: file_extension_helper_Rename_0003 + * @tc.number: user_file_service_external_file_access_Rename_0003 + * @tc.name: external_file_access_Rename_0003 * @tc.desc: Test function of Rename interface for ERROR which sourceFileUri is absolute path. * @tc.size: MEDIUM * @tc.type: FUNC * @tc.level Level 1 - * @tc.require: SR000H0386 + * @tc.require: SR000H0387 */ -HWTEST_F(FileExtensionHelperTest, file_extension_helper_Rename_0003, testing::ext::TestSize.Level1) +HWTEST_F(FileExtensionHelperTest, external_file_access_Rename_0003, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Rename_0003"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Rename_0003"; try { vector info; - int result = fah->GetRoots(info); + int result = g_fah->GetRoots(info); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri(info[i].uri); Uri newDirUriTest(""); - result = fah->Mkdir(parentUri, "test", newDirUriTest); + result = g_fah->Mkdir(parentUri, "test", newDirUriTest); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - Uri testUri(""); - result = fah->CreateFile(newDirUriTest, "test.txt", testUri); + result = g_fah->CreateFile(newDirUriTest, "test.txt", testUri); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - Uri renameUri(""); Uri sourceFileUri("storage/media/100/local/files/Download/test/test.txt"); - result = fah->Rename(sourceFileUri, "testRename.txt", renameUri); + result = g_fah->Rename(sourceFileUri, "testRename.txt", renameUri); EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "Rename_0003 result:" << result << endl; - - result = fah->Delete(newDirUriTest); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Delete(newDirUriTest); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); } } catch (...) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-an exception occurred."; + GTEST_LOG_(ERROR) << "external_file_access_Rename_0003 occurs an exception."; } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end file_extension_helper_Rename_0003"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Rename_0003"; } /** - * @tc.number: SUB_user_file_service_file_extension_helper_Rename_0004 - * @tc.name: file_extension_helper_Rename_0004 + * @tc.number: user_file_service_external_file_access_Rename_0004 + * @tc.name: external_file_access_Rename_0004 * @tc.desc: Test function of Rename interface for ERROR which sourceFileUri is special symbols. * @tc.size: MEDIUM * @tc.type: FUNC * @tc.level Level 1 - * @tc.require: SR000H0386 + * @tc.require: SR000H0387 */ -HWTEST_F(FileExtensionHelperTest, file_extension_helper_Rename_0004, testing::ext::TestSize.Level1) +HWTEST_F(FileExtensionHelperTest, external_file_access_Rename_0004, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Rename_0004"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Rename_0004"; try { Uri renameUri(""); Uri sourceFileUri("~!@#$%^&*()_"); - int result = fah->Rename(sourceFileUri, "testRename.txt", renameUri); + int result = g_fah->Rename(sourceFileUri, "testRename.txt", renameUri); EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "Rename_0004 result:" << result << endl; } catch (...) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-an exception occurred."; + GTEST_LOG_(ERROR) << "external_file_access_Rename_0004 occurs an exception."; } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end file_extension_helper_Rename_0004"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Rename_0004"; } /** - * @tc.number: SUB_user_file_service_file_extension_helper_Rename_0005 - * @tc.name: file_extension_helper_Rename_0005 + * @tc.number: user_file_service_external_file_access_Rename_0005 + * @tc.name: external_file_access_Rename_0005 * @tc.desc: Test function of Rename interface for ERROR which displayName is null. * @tc.size: MEDIUM * @tc.type: FUNC * @tc.level Level 1 - * @tc.require: SR000H0386 + * @tc.require: SR000H0387 */ -HWTEST_F(FileExtensionHelperTest, file_extension_helper_Rename_0005, testing::ext::TestSize.Level1) +HWTEST_F(FileExtensionHelperTest, external_file_access_Rename_0005, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Rename_0005"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Rename_0005"; try { vector info; - int result = fah->GetRoots(info); + int result = g_fah->GetRoots(info); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri(info[i].uri); Uri newDirUriTest(""); - result = fah->Mkdir(parentUri, "test", newDirUriTest); + result = g_fah->Mkdir(parentUri, "test", newDirUriTest); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - Uri testUri(""); - result = fah->CreateFile(newDirUriTest, "test.txt", testUri); + result = g_fah->CreateFile(newDirUriTest, "test.txt", testUri); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - Uri renameUri(""); - result = fah->Rename(testUri, "", renameUri); + result = g_fah->Rename(testUri, "", renameUri); EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "Rename_0005 result:" << result << endl; - - result = fah->Delete(newDirUriTest); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Delete(newDirUriTest); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); } } catch (...) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-an exception occurred."; + GTEST_LOG_(ERROR) << "external_file_access_Rename_0005 occurs an exception."; } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end file_extension_helper_Rename_0005"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Rename_0005"; +} + +void RenameTdd(shared_ptr fahs, Uri sourceFile, std::string displayName, Uri newFile) +{ + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_RenameTdd"; + int ret = fahs->Rename(sourceFile, displayName, newFile); + if (ret != OHOS::FileAccessFwk::ERR_OK) { + GTEST_LOG_(ERROR) << "RenameTdd get result error, code:" << ret; + return; + } + EXPECT_EQ(ret, OHOS::FileAccessFwk::ERR_OK); + g_num++; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_RenameTdd"; } /** - * @tc.number: SUB_user_file_service_file_extension_helper_ListFile_0000 - * @tc.name: file_extension_helper_ListFile_0000 - * @tc.desc: Test function of ListFile interface for SUCCESS. + * @tc.number: user_file_service_external_file_access_Rename_0006 + * @tc.name: external_file_access_Rename_0006 + * @tc.desc: Test function of Rename interface for SUCCESS which Concurrent. * @tc.size: MEDIUM * @tc.type: FUNC * @tc.level Level 1 * @tc.require: SR000H0386 */ -HWTEST_F(FileExtensionHelperTest, file_extension_helper_ListFile_0000, testing::ext::TestSize.Level1) +HWTEST_F(FileExtensionHelperTest, external_file_access_Rename_0006, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_ListFile_0000"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Rename_0006"; try { vector info; - int result = fah->GetRoots(info); + int result = g_fah->GetRoots(info); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri(info[i].uri); Uri newDirUriTest(""); - result = fah->Mkdir(parentUri, "test", newDirUriTest); + result = g_fah->Mkdir(parentUri, "test", newDirUriTest); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - Uri testUri(""); - result = fah->CreateFile(newDirUriTest, "file_extension_helper_ListFile_0000.txt", testUri); + std::string displayName1 = "test1.txt"; + std::string displayName2 = "test2.txt"; + Uri renameUri(""); + result = g_fah->CreateFile(newDirUriTest, displayName1, testUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + g_num = 0; + for (int j = 0; j < INIT_THREADS_NUMBER; j++) { + std::thread execthread(RenameTdd, g_fah, testUri, displayName2, renameUri); + execthread.join(); + } + EXPECT_EQ(g_num, ACTUAL_SUCCESS_THREADS_NUMBER); + result = g_fah->Delete(newDirUriTest); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + } + } catch (...) { + GTEST_LOG_(ERROR) << "external_file_access_Rename_0006 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Rename_0006"; +} +/** + * @tc.number: user_file_service_external_file_access_ListFile_0000 + * @tc.name: external_file_access_ListFile_0000 + * @tc.desc: Test function of ListFile interface for SUCCESS. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0387 + */ +HWTEST_F(FileExtensionHelperTest, external_file_access_ListFile_0000, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_ListFile_0000"; + try { + vector info; + int result = g_fah->GetRoots(info); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + for (size_t i = 0; i < info.size(); i++) { + Uri parentUri(info[i].uri); + Uri newDirUriTest(""); + result = g_fah->Mkdir(parentUri, "test", newDirUriTest); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri testUri(""); + result = g_fah->CreateFile(newDirUriTest, "external_file_access_ListFile_0000.txt", testUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); FileInfo fileInfo; fileInfo.uri = newDirUriTest.ToString(); int64_t offset = 0; int64_t maxCount = 1000; std::vector fileInfoVec; - fah->ListFile(fileInfo, offset, maxCount, fileInfoVec); - EXPECT_GT(fileInfoVec.size(), 0); - - result = fah->Delete(newDirUriTest); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + FileFilter filter; + result = g_fah->ListFile(fileInfo, offset, maxCount, filter, fileInfoVec); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + EXPECT_GT(fileInfoVec.size(), OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Delete(newDirUriTest); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); } } catch (...) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-an exception occurred."; + GTEST_LOG_(ERROR) << "external_file_access_ListFile_0000 occurs an exception."; } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end file_extension_helper_ListFile_0000"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_ListFile_0000"; } /** - * @tc.number: SUB_user_file_service_file_extension_helper_ListFile_0001 - * @tc.name: file_extension_helper_ListFile_0001 + * @tc.number: user_file_service_external_file_access_ListFile_0001 + * @tc.name: external_file_access_ListFile_0001 * @tc.desc: Test function of ListFile interface for ERROR which Uri is nullptr. * @tc.size: MEDIUM * @tc.type: FUNC * @tc.level Level 1 - * @tc.require: SR000H0386 + * @tc.require: SR000H0387 */ -HWTEST_F(FileExtensionHelperTest, file_extension_helper_ListFile_0001, testing::ext::TestSize.Level1) +HWTEST_F(FileExtensionHelperTest, external_file_access_ListFile_0001, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_ListFile_0001"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_ListFile_0001"; try { Uri sourceFileUri(""); FileInfo fileInfo; @@ -1604,40 +1905,40 @@ HWTEST_F(FileExtensionHelperTest, file_extension_helper_ListFile_0001, testing:: int64_t offset = 0; int64_t maxCount = 1000; std::vector fileInfoVec; - fah->ListFile(fileInfo, offset, maxCount, fileInfoVec); - EXPECT_EQ(fileInfoVec.size(), 0); + FileFilter filter; + int result = g_fah->ListFile(fileInfo, offset, maxCount, filter, fileInfoVec); + EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); + EXPECT_EQ(fileInfoVec.size(), OHOS::FileAccessFwk::ERR_OK); } catch (...) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-an exception occurred."; + GTEST_LOG_(ERROR) << "external_file_access_ListFile_0001 occurs an exception."; } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end file_extension_helper_ListFile_0001"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_ListFile_0001"; } /** - * @tc.number: SUB_user_file_service_file_extension_helper_ListFile_0002 - * @tc.name: file_extension_helper_ListFile_0002 + * @tc.number: user_file_service_external_file_access_ListFile_0002 + * @tc.name: external_file_access_ListFile_0002 * @tc.desc: Test function of ListFile interface for ERROR which sourceFileUri is absolute path. * @tc.size: MEDIUM * @tc.type: FUNC * @tc.level Level 1 - * @tc.require: SR000H0386 + * @tc.require: SR000H0387 */ -HWTEST_F(FileExtensionHelperTest, file_extension_helper_ListFile_0002, testing::ext::TestSize.Level1) +HWTEST_F(FileExtensionHelperTest, external_file_access_ListFile_0002, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_ListFile_0002"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_ListFile_0002"; try { vector info; - int result = fah->GetRoots(info); + int result = g_fah->GetRoots(info); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri(info[i].uri); Uri newDirUriTest(""); - result = fah->Mkdir(parentUri, "test", newDirUriTest); + result = g_fah->Mkdir(parentUri, "test", newDirUriTest); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - Uri testUri(""); - result = fah->CreateFile(newDirUriTest, "test.txt", testUri); + result = g_fah->CreateFile(newDirUriTest, "test.txt", testUri); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - Uri sourceFileUri("storage/media/100/local/files/Download/test/test.txt"); FileInfo fileInfo; fileInfo.uri = sourceFileUri.ToString(); @@ -1645,30 +1946,31 @@ HWTEST_F(FileExtensionHelperTest, file_extension_helper_ListFile_0002, testing:: int64_t offset = 0; int64_t maxCount = 1000; std::vector fileInfoVec; - fah->ListFile(fileInfo, offset, maxCount, fileInfoVec); - EXPECT_EQ(fileInfoVec.size(), 0); - - result = fah->Delete(newDirUriTest); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + FileFilter filter; + result = g_fah->ListFile(fileInfo, offset, maxCount, filter, fileInfoVec); + EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); + EXPECT_EQ(fileInfoVec.size(), OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Delete(newDirUriTest); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); } } catch (...) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-an exception occurred."; + GTEST_LOG_(ERROR) << "external_file_access_ListFile_0002 occurs an exception."; } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end file_extension_helper_ListFile_0002"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_ListFile_0002"; } /** - * @tc.number: SUB_user_file_service_file_extension_helper_ListFile_0003 - * @tc.name: file_extension_helper_ListFile_0003 + * @tc.number: user_file_service_external_file_access_ListFile_0003 + * @tc.name: external_file_access_ListFile_0003 * @tc.desc: Test function of ListFile interface for ERROR which sourceFileUri is special symbols. * @tc.size: MEDIUM * @tc.type: FUNC * @tc.level Level 1 - * @tc.require: SR000H0386 + * @tc.require: SR000H0387 */ -HWTEST_F(FileExtensionHelperTest, file_extension_helper_ListFile_0003, testing::ext::TestSize.Level1) +HWTEST_F(FileExtensionHelperTest, external_file_access_ListFile_0003, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_ListFile_0003"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_ListFile_0003"; try { Uri sourceFileUri("~!@#$%^&*()_"); FileInfo fileInfo; @@ -1677,165 +1979,218 @@ HWTEST_F(FileExtensionHelperTest, file_extension_helper_ListFile_0003, testing:: int64_t offset = 0; int64_t maxCount = 1000; std::vector fileInfoVec; - fah->ListFile(fileInfo, offset, maxCount, fileInfoVec); - EXPECT_EQ(fileInfoVec.size(), 0); + FileFilter filter; + int result = g_fah->ListFile(fileInfo, offset, maxCount, filter, fileInfoVec); + EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); + EXPECT_EQ(fileInfoVec.size(), OHOS::FileAccessFwk::ERR_OK); + } catch (...) { + GTEST_LOG_(ERROR) << "external_file_access_ListFile_0003 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_ListFile_0003"; +} + +void ListFileTdd(shared_ptr fahs, FileInfo fileInfo, int offset, int maxCount, + FileFilter filter, std::vector fileInfoVec) +{ + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_ListFileTdd"; + int ret = fahs->ListFile(fileInfo, offset, maxCount, filter, fileInfoVec); + if (ret != OHOS::FileAccessFwk::ERR_OK) { + GTEST_LOG_(ERROR) << "ListFile get result error, code:" << ret; + return; + } + EXPECT_EQ(ret, OHOS::FileAccessFwk::ERR_OK); + g_num++; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_ListFileTdd"; +} + +/** + * @tc.number: user_file_service_external_file_access_ListFile_0004 + * @tc.name: external_file_access_ListFile_0004 + * @tc.desc: Test function of ListFile interface for SUCCESS which Concurrent. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileExtensionHelperTest, external_file_access_ListFile_0004, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_ListFile_0004"; + try { + vector info; + int result = g_fah->GetRoots(info); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + for (size_t i = 0; i < info.size(); i++) { + Uri parentUri(info[i].uri); + Uri newDirUriTest(""); + result = g_fah->Mkdir(parentUri, "test", newDirUriTest); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri testUri(""); + result = g_fah->CreateFile(newDirUriTest, "external_file_access_ListFile_0004.txt", testUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + FileInfo fileInfo; + fileInfo.uri = newDirUriTest.ToString(); + int offset = 0; + int maxCount = 1000; + std::vector fileInfoVec; + FileFilter filter; + g_num = 0; + for (int j = 0; j < INIT_THREADS_NUMBER; j++) { + std::thread execthread(ListFileTdd, g_fah, fileInfo, offset, maxCount, filter, fileInfoVec); + execthread.join(); + } + EXPECT_EQ(g_num, INIT_THREADS_NUMBER); + result = g_fah->Delete(newDirUriTest); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + } } catch (...) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-an exception occurred."; + GTEST_LOG_(ERROR) << "external_file_access_ListFile_0004 occurs an exception."; } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end file_extension_helper_ListFile_0003"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_ListFile_0004"; } /** - * @tc.number: SUB_user_file_service_file_extension_helper_GetRoots_0000 - * @tc.name: file_extension_helper_GetRoots_0000 + * @tc.number: user_file_service_external_file_access_GetRoots_0000 + * @tc.name: external_file_access_GetRoots_0000 * @tc.desc: Test function of GetRoots interface for SUCCESS. * @tc.size: MEDIUM * @tc.type: FUNC * @tc.level Level 1 - * @tc.require: SR000H0386 + * @tc.require: SR000H0387 */ -HWTEST_F(FileExtensionHelperTest, file_extension_helper_GetRoots_0000, testing::ext::TestSize.Level1) +HWTEST_F(FileExtensionHelperTest, external_file_access_GetRoots_0000, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_GetRoots_0000"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_GetRoots_0000"; try { vector info; - int result = fah->GetRoots(info); + int result = g_fah->GetRoots(info); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - EXPECT_GT(info.size(), 0); + EXPECT_GT(info.size(), OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "GetRoots_0000 result:" << info.size() << endl; - for (size_t i = 0; i < info.size(); i++) { GTEST_LOG_(INFO) << info[i].uri; GTEST_LOG_(INFO) << info[i].displayName; GTEST_LOG_(INFO) << info[i].deviceFlags; GTEST_LOG_(INFO) << info[i].deviceType; } + string uri = "datashare:///com.ohos.UserFile.ExternalFileManager/data/storage/el1/bundle/storage_daemon"; + string displayName = "shared_disk"; + EXPECT_EQ(info[0].uri, uri); + EXPECT_EQ(info[0].displayName, displayName); + EXPECT_EQ(info[0].deviceType, DEVICE_SHARED_DISK); + EXPECT_EQ(info[0].deviceFlags, DEVICE_FLAG_SUPPORTS_READ | DEVICE_FLAG_SUPPORTS_WRITE); } catch (...) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-an exception occurred."; + GTEST_LOG_(ERROR) << "external_file_access_GetRoots_0000 occurs an exception."; } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end file_extension_helper_GetRoots_0000"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_GetRoots_0000"; } /** - * @tc.number: SUB_user_file_service_file_extension_helper_allInterface_0000 - * @tc.name: file_extension_helper_allInterface_0000 + * @tc.number: user_file_service_external_file_access_allInterface_0000 + * @tc.name: external_file_access_allInterface_0000 * @tc.desc: Test function of allInterface interface for SUCCESS. * @tc.size: MEDIUM * @tc.type: FUNC * @tc.level Level 1 * @tc.require: SR000H0386 */ -HWTEST_F(FileExtensionHelperTest, file_extension_helper_allInterface_0000, testing::ext::TestSize.Level1) +HWTEST_F(FileExtensionHelperTest, external_file_access_allInterface_0000, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_allInterface_0000"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_allInterface_0000"; try { auto saManager = SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager(); auto remoteObj = saManager->GetSystemAbility(ABILITY_ID); vector wants; + setuid(UID_TRANSFORM_TMP); int ret = FileAccessHelper::GetRegisteredFileAccessExtAbilityInfo(wants); + setuid(UID_DEFAULT); EXPECT_EQ(ret, OHOS::FileAccessFwk::ERR_OK); shared_ptr fahs = FileAccessHelper::Creator(remoteObj, wants); - vector info; - int result = fah->GetRoots(info); + int result = g_fah->GetRoots(info); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri(info[i].uri); string uri = parentUri.ToString(); GTEST_LOG_(INFO) << uri; - - Uri documentUri(""); - result = fahs->Mkdir(parentUri, "Documents", documentUri); + string document = uri + "/Documents"; + Uri documentUri(document); + bool isExist = false; + result = fahs->Access(documentUri, isExist); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - + if (!isExist) { + result = fahs->Mkdir(parentUri, "Documents", documentUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + } Uri newDirUriTest1(""); Uri newDirUriTest2(""); result = fahs->Mkdir(documentUri, "test1", newDirUriTest1); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - result = fahs->Mkdir(documentUri, "test2", newDirUriTest2); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - Uri newFileUri(""); - result = fahs->CreateFile(newDirUriTest1, "file_extension_helper_allInterface_0000.txt", newFileUri); + result = fahs->CreateFile(newDirUriTest1, "external_file_access_allInterface_0000.txt", newFileUri); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - result = fahs->Rename(newFileUri, "test1.txt", newFileUri); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - Uri moveUri(""); result = fahs->Move(newFileUri, newDirUriTest2, moveUri); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - int fd; - result = fah->OpenFile(moveUri, 0, fd); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); - + result = g_fah->OpenFile(moveUri, WRITE_READ, fd); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "OpenFile_0000 result:" << result << endl; - - result = fahs->Delete(newDirUriTest1); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); - - result = fahs->Delete(newDirUriTest2); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + result = fahs->Delete(documentUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); } } catch (...) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-an exception occurred."; + GTEST_LOG_(ERROR) << "external_file_access_allInterface_0000 occurs an exception."; } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end file_extension_helper_allInterface_0000"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_allInterface_0000"; } /** - * @tc.number: SUB_user_file_service_file_extension_helper_Access_0000 - * @tc.name: file_extension_helper_Access_0000 + * @tc.number: user_file_service_external_file_access_Access_0000 + * @tc.name: external_file_access_Access_0000 * @tc.desc: Test function of Access interface for SUCCESS. * @tc.size: MEDIUM * @tc.type: FUNC * @tc.level Level 1 * @tc.require: SR000H0386 */ -HWTEST_F(FileExtensionHelperTest, file_extension_helper_Access_0000, testing::ext::TestSize.Level1) +HWTEST_F(FileExtensionHelperTest, external_file_access_Access_0000, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Access_0000"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Access_0000"; try { - uint64_t selfTokenId_ = GetSelfTokenID(); - + uint64_t selfTokenId = GetSelfTokenID(); vector info; - int result = fah->GetRoots(info); + int result = g_fah->GetRoots(info); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri(info[i].uri); GTEST_LOG_(INFO) << parentUri.ToString(); - Uri newDirUriTest(""); - result = fah->Mkdir(parentUri, "test1", newDirUriTest); + result = g_fah->Mkdir(parentUri, "test1", newDirUriTest); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - Uri newFileUri(""); - result = fah->CreateFile(newDirUriTest, "file_extension_helper_Access_0000.txt", newFileUri); + result = g_fah->CreateFile(newDirUriTest, "external_file_access_Access_0000.txt", newFileUri); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - bool isExist = false; - result = fah->Access(newDirUriTest, isExist); + result = g_fah->Access(newDirUriTest, isExist); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); EXPECT_TRUE(isExist); - - result = fah->Access(newFileUri, isExist); + result = g_fah->Access(newFileUri, isExist); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); EXPECT_TRUE(isExist); - - result = fah->Delete(newDirUriTest); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); - - result = fah->Access(newDirUriTest, isExist); + result = g_fah->Delete(newDirUriTest); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Access(newDirUriTest, isExist); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); EXPECT_FALSE(isExist); } - - SetSelfTokenID(selfTokenId_); + SetSelfTokenID(selfTokenId); } catch (...) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-an exception occurred."; + GTEST_LOG_(ERROR) << "external_file_access_Access_0000 occurs an exception."; } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end file_extension_helper_Access_0000"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Access_0000"; } } // namespace \ No newline at end of file diff --git a/frameworks/innerkits/file_access/test/file_access_helper_test.cpp b/frameworks/innerkits/file_access/test/file_access_helper_test.cpp deleted file mode 100644 index 86dbc2c41a431ef7f0600f5a89200f2c3f371b22..0000000000000000000000000000000000000000 --- a/frameworks/innerkits/file_access/test/file_access_helper_test.cpp +++ /dev/null @@ -1,1514 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include -#include - -#include - -#include "base/security/access_token/interfaces/innerkits/accesstoken/include/accesstoken_kit.h" -#include "base/security/access_token/interfaces/innerkits/token_setproc/include/token_setproc.h" -#include "file_access_framework_errno.h" -#include "file_access_helper.h" -#include "iservice_registry.h" - - -namespace { -using namespace std; -using namespace OHOS; -using namespace FileAccessFwk; -int ABILITY_ID = 5003; -shared_ptr fah = nullptr; -Uri newDirUri(""); - -class FileAccessHelperTest : public testing::Test { -public: - static void SetUpTestCase(void) - { - cout << "FileAccessHelperTest code test" << endl; - - auto saManager = SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager(); - auto remoteObj = saManager->GetSystemAbility(ABILITY_ID); - AAFwk::Want want; - vector wantVec; - int ret = FileAccessHelper::GetRegisteredFileAccessExtAbilityInfo(wantVec); - EXPECT_EQ(ret, OHOS::FileAccessFwk::ERR_OK); - bool sus = false; - for (size_t i = 0; i < wantVec.size(); i++) { - auto element = wantVec[i].GetElement(); - if (element.GetBundleName() == "com.ohos.medialibrary.medialibrarydata" && - element.GetAbilityName() == "FileExtensionAbility") { - want = wantVec[i]; - sus = true; - break; - } - } - EXPECT_TRUE(sus); - vector wants {want}; - fah = FileAccessHelper::Creator(remoteObj, wants); - } - static void TearDownTestCase() {}; - void SetUp() {}; - void TearDown() {}; - - // permission state - OHOS::Security::AccessToken::PermissionStateFull g_infoManagerTestState = { - .permissionName = "ohos.permission.FILE_ACCESS_MANAGER", - .isGeneral = true, - .resDeviceID = {"local"}, - .grantStatus = {OHOS::Security::AccessToken::PermissionState::PERMISSION_GRANTED}, - .grantFlags = {1} - }; - - OHOS::Security::AccessToken::PermissionStateFull g_infoManagerTestState1 = { - .permissionName = "ohos.permission.READ_MEDIA", - .isGeneral = true, - .resDeviceID = {"local"}, - .grantStatus = {OHOS::Security::AccessToken::PermissionState::PERMISSION_GRANTED}, - .grantFlags = {1} - }; - - OHOS::Security::AccessToken::PermissionStateFull g_infoManagerTestState2 = { - .permissionName = "ohos.permission.WRITE_MEDIA", - .isGeneral = true, - .resDeviceID = {"local"}, - .grantStatus = {OHOS::Security::AccessToken::PermissionState::PERMISSION_GRANTED}, - .grantFlags = {1} - }; - - // permission define - OHOS::Security::AccessToken::PermissionDef g_infoManagerTestPermDef = { - .permissionName = "ohos.permission.FILE_ACCESS_MANAGER", - .bundleName = "ohos.acts.multimedia.mediaLibrary", - .grantMode = 1, - .availableLevel = OHOS::Security::AccessToken::APL_NORMAL, - .label = "label", - .labelId = 1, - .description = "FILE_ACCESS_MANAGER", - .descriptionId = 1 - }; - - OHOS::Security::AccessToken::PermissionDef g_infoManagerTestPermDef1 = { - .permissionName = "ohos.permission.READ_MEDIA", - .bundleName = "ohos.acts.multimedia.mediaLibrary", - .grantMode = 1, - .availableLevel = OHOS::Security::AccessToken::APL_NORMAL, - .label = "label", - .labelId = 1, - .description = "READ_MEDIA", - .descriptionId = 1 - }; - - OHOS::Security::AccessToken::PermissionDef g_infoManagerTestPermDef2 = { - .permissionName = "ohos.permission.WRITE_MEDIA", - .bundleName = "ohos.acts.multimedia.mediaLibrary", - .grantMode = 1, - .availableLevel = OHOS::Security::AccessToken::APL_NORMAL, - .label = "label", - .labelId = 1, - .description = "WRITE_MEDIA", - .descriptionId = 1 - }; - - // permission info - OHOS::Security::AccessToken::HapPolicyParams g_infoManagerTestPolicyPrams = { - .apl = OHOS::Security::AccessToken::APL_NORMAL, - .domain = "test.domain", - .permList = {g_infoManagerTestPermDef, g_infoManagerTestPermDef1, g_infoManagerTestPermDef2}, - .permStateList = {g_infoManagerTestState, g_infoManagerTestState1, g_infoManagerTestState2} - }; - - // hap info - OHOS::Security::AccessToken::HapInfoParams g_infoManagerTestInfoParms = { - .userID = 1, - .bundleName = "fileAccessHelperTest", - .instIndex = 0, - .appIDDesc = "testtesttesttest" - }; -}; - -/** - * @tc.number: SUB_user_file_service_file_access_helper_OpenFile_0000 - * @tc.name: file_access_helper_OpenFile_0000 - * @tc.desc: Test function of OpenFile interface for SUCCESS. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileAccessHelperTest, file_access_helper_OpenFile_0000, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileAccessHelperTest-begin file_access_helper_OpenFile_0000"; - try { - OHOS::Security::AccessToken::AccessTokenIDEx tokenIdEx = {0}; - tokenIdEx = OHOS::Security::AccessToken::AccessTokenKit::AllocHapToken - (g_infoManagerTestInfoParms, g_infoManagerTestPolicyPrams); - OHOS::Security::AccessToken::AccessTokenID tokenId = tokenIdEx.tokenIdExStruct.tokenID; - SetSelfTokenID(tokenId); - - vector info; - int result = fah->GetRoots(info); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - Uri parentUri(""); - if (info.size() > 0) { - parentUri = Uri(info[0].uri + "/file"); - GTEST_LOG_(INFO) << parentUri.ToString(); - } - - result = fah->Mkdir(parentUri, "Download", newDirUri); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - Uri newDirUriTest(""); - result = fah->Mkdir(newDirUri, "test1", newDirUriTest); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - Uri newFileUri(""); - result = fah->CreateFile(newDirUriTest, "file_access_helper_OpenFile_0000.txt", newFileUri); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - int fd; - result = fah->OpenFile(newFileUri, 0, fd); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - GTEST_LOG_(INFO) << "OpenFile_0000 result:" << result << endl; - - result = fah->Delete(newDirUriTest); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); - } catch (...) { - GTEST_LOG_(INFO) << "FileAccessHelperTest-an exception occurred."; - } - GTEST_LOG_(INFO) << "FileAccessHelperTest-end file_access_helper_OpenFile_0000"; -} - -/** - * @tc.number: SUB_user_file_service_file_access_helper_OpenFile_0001 - * @tc.name: file_access_helper_OpenFile_0001 - * @tc.desc: Test function of OpenFile interface for ERROR which Uri is null. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileAccessHelperTest, file_access_helper_OpenFile_0001, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileAccessHelperTest-begin file_access_helper_OpenFile_0001"; - try { - Uri uri(""); - int fd; - int result = fah->OpenFile(uri, 0, fd); - EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "OpenFile_0001 result:" << result << endl; - } catch (...) { - GTEST_LOG_(INFO) << "FileAccessHelperTest-an exception occurred."; - } - GTEST_LOG_(INFO) << "FileAccessHelperTest-end file_access_helper_OpenFile_0001"; -} - -/** - * @tc.number: SUB_user_file_service_file_access_helper_OpenFile_0002 - * @tc.name: file_access_helper_OpenFile_0002 - * @tc.desc: Test function of OpenFile interface for ERROR which Uri is absolute path. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileAccessHelperTest, file_access_helper_OpenFile_0002, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileAccessHelperTest-begin file_access_helper_OpenFile_0002"; - try { - Uri newFileUri(""); - int result = fah->CreateFile(newDirUri, "file_access_helper_OpenFile_0002.txt", newFileUri); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - Uri uri("storage/media/100/local/files/Download/file_access_helper_OpenFile_0002.txt"); - int fd; - result = fah->OpenFile(uri, 0, fd); - EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "OpenFile_0002 result:" << result << endl; - - result = fah->Delete(newFileUri); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); - } catch (...) { - GTEST_LOG_(INFO) << "FileAccessHelperTest-an exception occurred."; - } - GTEST_LOG_(INFO) << "FileAccessHelperTest-end file_access_helper_OpenFile_0002"; -} - -/** - * @tc.number: SUB_user_file_service_file_access_helper_OpenFile_0003 - * @tc.name: file_access_helper_OpenFile_0003 - * @tc.desc: Test function of OpenFile interface for ERROR which Uri is special symbols. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileAccessHelperTest, file_access_helper_OpenFile_0003, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileAccessHelperTest-begin file_access_helper_OpenFile_0003"; - try { - Uri uri("~!@#$%^&*()_"); - int fd; - int result = fah->OpenFile(uri, 0, fd); - EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "OpenFile_0003 result:" << result << endl; - } catch (...) { - GTEST_LOG_(INFO) << "FileAccessHelperTest-an exception occurred."; - } - GTEST_LOG_(INFO) << "FileAccessHelperTest-end file_access_helper_OpenFile_0003"; -} - -/** - * @tc.number: SUB_user_file_service_file_access_helper_OpenFile_0004 - * @tc.name: file_access_helper_OpenFile_0004 - * @tc.desc: Test function of OpenFile interface for ERROR which flag is -1. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileAccessHelperTest, file_access_helper_OpenFile_0004, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileAccessHelperTest-begin file_access_helper_OpenFile_0004"; - try { - Uri newFileUri(""); - int result = fah->CreateFile(newDirUri, "file_access_helper_OpenFile_0004.txt", newFileUri); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - int fd; - result = fah->OpenFile(newFileUri, -1, fd); - EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "OpenFile_0004 result:" << result << endl; - - result = fah->Delete(newFileUri); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); - } catch (...) { - GTEST_LOG_(INFO) << "FileAccessHelperTest-an exception occurred."; - } - GTEST_LOG_(INFO) << "FileAccessHelperTest-end file_access_helper_OpenFile_0004"; -} - -/** - * @tc.number: SUB_user_file_service_file_access_helper_OpenFile_0005 - * @tc.name: file_access_helper_OpenFile_0005 - * @tc.desc: Test function of OpenFile interface for SUCCESS which flag is 1. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileAccessHelperTest, file_access_helper_OpenFile_0005, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileAccessHelperTest-begin file_access_helper_OpenFile_0005"; - try { - Uri newFileUri(""); - int result = fah->CreateFile(newDirUri, "file_access_helper_OpenFile_0005.txt", newFileUri); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - int fd; - result = fah->OpenFile(newFileUri, 1, fd); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "OpenFile_0005 result:" << result << endl; - - result = fah->Delete(newFileUri); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); - } catch (...) { - GTEST_LOG_(INFO) << "FileAccessHelperTest-an exception occurred."; - } - GTEST_LOG_(INFO) << "FileAccessHelperTest-end file_access_helper_OpenFile_0005"; -} - -/** - * @tc.number: SUB_user_file_service_file_access_helper_OpenFile_0006 - * @tc.name: file_access_helper_OpenFile_0006 - * @tc.desc: Test function of OpenFile interface for SUCCESS which flag is 2. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileAccessHelperTest, file_access_helper_OpenFile_0006, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileAccessHelperTest-begin file_access_helper_OpenFile_0006"; - try { - Uri newFileUri(""); - int result = fah->CreateFile(newDirUri, "file_access_helper_OpenFile_0006.txt", newFileUri); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - int fd; - result = fah->OpenFile(newFileUri, 2, fd); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "OpenFile_0006 result:" << result << endl; - - result = fah->Delete(newFileUri); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); - } catch (...) { - GTEST_LOG_(INFO) << "FileAccessHelperTest-an exception occurred."; - } - GTEST_LOG_(INFO) << "FileAccessHelperTest-end file_access_helper_OpenFile_0006"; -} - -/** - * @tc.number: SUB_user_file_service_file_access_helper_CreateFile_0000 - * @tc.name: file_access_helper_CreateFile_0000 - * @tc.desc: Test function of CreateFile interface for SUCCESS. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileAccessHelperTest, file_access_helper_CreateFile_0000, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileAccessHelperTest-begin file_access_helper_CreateFile_0000"; - try { - Uri newFileUri(""); - int result = fah->CreateFile(newDirUri, "file_access_helper_CreateFile_0000.txt", newFileUri); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "CreateFile_0000 result:" << result << endl; - - result = fah->Delete(newFileUri); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); - } catch (...) { - GTEST_LOG_(INFO) << "FileAccessHelperTest-an exception occurred."; - } - GTEST_LOG_(INFO) << "FileAccessHelperTest-end file_access_helper_CreateFile_0000"; -} - -/** - * @tc.number: SUB_user_file_service_file_access_helper_CreateFile_0001 - * @tc.name: file_access_helper_CreateFile_0001 - * @tc.desc: Test function of CreateFile interface for ERROR which parentUri is null. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileAccessHelperTest, file_access_helper_CreateFile_0001, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileAccessHelperTest-begin file_access_helper_CreateFile_0001"; - try { - Uri newFileUri(""); - Uri parentUri(""); - int result = fah->CreateFile(parentUri, "file_access_helper_CreateFile_0001.txt", newFileUri); - EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "CreateFile_0001 result:" << result << endl; - } catch (...) { - GTEST_LOG_(INFO) << "FileAccessHelperTest-an exception occurred."; - } - GTEST_LOG_(INFO) << "FileAccessHelperTest-end file_access_helper_CreateFile_0001"; -} - -/** - * @tc.number: SUB_user_file_service_file_access_helper_CreateFile_0002 - * @tc.name: file_access_helper_CreateFile_0002 - * @tc.desc: Test function of CreateFile interface for ERROR which parentUri is absolute path. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileAccessHelperTest, file_access_helper_CreateFile_0002, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileAccessHelperTest-begin file_access_helper_CreateFile_0002"; - try { - Uri newFileUri(""); - Uri parentUri("storage/media/100/local/files/Download"); - int result = fah->CreateFile(parentUri, "file_access_helper_CreateFile_0002.txt", newFileUri); - EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "CreateFile_0002 result:" << result << endl; - } catch (...) { - GTEST_LOG_(INFO) << "FileAccessHelperTest-an exception occurred."; - } - GTEST_LOG_(INFO) << "FileAccessHelperTest-end file_access_helper_CreateFile_0002"; -} - -/** - * @tc.number: SUB_user_file_service_file_access_helper_CreateFile_0003 - * @tc.name: file_access_helper_CreateFile_0003 - * @tc.desc: Test function of CreateFile interface for ERROR which parentUri is special symbols. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileAccessHelperTest, file_access_helper_CreateFile_0003, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileAccessHelperTest-begin file_access_helper_CreateFile_0002"; - try { - Uri newFileUri(""); - Uri parentUri("~!@#$%^&*()_"); - int result = fah->CreateFile(parentUri, "file_access_helper_CreateFile_0003.txt", newFileUri); - EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "CreateFile_0003 result:" << result << endl; - } catch (...) { - GTEST_LOG_(INFO) << "FileAccessHelperTest-an exception occurred."; - } - GTEST_LOG_(INFO) << "FileAccessHelperTest-end file_access_helper_CreateFile_0003"; -} - -/** - * @tc.number: SUB_user_file_service_file_access_helper_CreateFile_0004 - * @tc.name: file_access_helper_CreateFile_0004 - * @tc.desc: Test function of CreateFile interface for ERROR which displayName is null. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileAccessHelperTest, file_access_helper_CreateFile_0004, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileAccessHelperTest-begin file_access_helper_CreateFile_0004"; - try { - Uri newFileUri(""); - string displayName = ""; - int result = fah->CreateFile(newDirUri, displayName, newFileUri); - EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "CreateFile_0004 result:" << result << endl; - } catch (...) { - GTEST_LOG_(INFO) << "FileAccessHelperTest-an exception occurred."; - } - GTEST_LOG_(INFO) << "FileAccessHelperTest-end file_access_helper_CreateFile_0004"; -} - -/** - * @tc.number: SUB_user_file_service_file_access_helper_Mkdir_0000 - * @tc.name: file_access_helper_Mkdir_0000 - * @tc.desc: Test function of Mkdir interface for SUCCESS. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileAccessHelperTest, file_access_helper_Mkdir_0000, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileAccessHelperTest-begin file_access_helper_Mkdir_0000"; - try { - Uri newDirUriTest(""); - int result = fah->Mkdir(newDirUri, "file_access_helper_Mkdir_0000", newDirUriTest); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "Mkdir_0000 result:" << result << endl; - - result = fah->Delete(newDirUriTest); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); - } catch (...) { - GTEST_LOG_(INFO) << "FileAccessHelperTest-an exception occurred."; - } - GTEST_LOG_(INFO) << "FileAccessHelperTest-end file_access_helper_Mkdir_0000"; -} - -/** - * @tc.number: SUB_user_file_service_file_access_helper_Mkdir_0001 - * @tc.name: file_access_helper_Mkdir_0001 - * @tc.desc: Test function of Mkdir interface for ERROR which parentUri is null. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileAccessHelperTest, file_access_helper_Mkdir_0001, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileAccessHelperTest-begin file_access_helper_Mkdir_0001"; - try { - Uri newDirUriTest(""); - Uri parentUri(""); - int result = fah->Mkdir(parentUri, "file_access_helper_Mkdir_0001", newDirUriTest); - EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "Mkdir_0001 result:" << result << endl; - } catch (...) { - GTEST_LOG_(INFO) << "FileAccessHelperTest-an exception occurred."; - } - GTEST_LOG_(INFO) << "FileAccessHelperTest-end file_access_helper_Mkdir_0001"; -} - -/** - * @tc.number: SUB_user_file_service_file_access_helper_Mkdir_0002 - * @tc.name: file_access_helper_Mkdir_0002 - * @tc.desc: Test function of Mkdir interface for ERROR which parentUri is absolute path. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileAccessHelperTest, file_access_helper_Mkdir_0002, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileAccessHelperTest-begin file_access_helper_Mkdir_0002"; - try { - Uri newDirUriTest(""); - Uri parentUri("storage/media/100/local/files/Download"); - int result = fah->Mkdir(parentUri, "file_access_helper_Mkdir_0002", newDirUriTest); - EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "Mkdir_0002 result:" << result << endl; - } catch (...) { - GTEST_LOG_(INFO) << "FileAccessHelperTest-an exception occurred."; - } - GTEST_LOG_(INFO) << "FileAccessHelperTest-end file_access_helper_Mkdir_0002"; -} - -/** - * @tc.number: SUB_user_file_service_file_access_helper_Mkdir_0003 - * @tc.name: file_access_helper_Mkdir_0003 - * @tc.desc: Test function of Mkdir interface for ERROR which parentUri is special symbols. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileAccessHelperTest, file_access_helper_Mkdir_0003, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileAccessHelperTest-begin file_access_helper_Mkdir_0002"; - try { - Uri newDirUriTest(""); - Uri parentUri("~!@#$%^&*()_"); - int result = fah->Mkdir(parentUri, "file_access_helper_Mkdir_0003", newDirUriTest); - EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "Mkdir_0003 result:" << result << endl; - } catch (...) { - GTEST_LOG_(INFO) << "FileAccessHelperTest-an exception occurred."; - } - GTEST_LOG_(INFO) << "FileAccessHelperTest-end file_access_helper_Mkdir_0003"; -} - -/** - * @tc.number: SUB_user_file_service_file_access_helper_Mkdir_0004 - * @tc.name: file_access_helper_Mkdir_0004 - * @tc.desc: Test function of Mkdir interface for ERROR which displayName is null. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileAccessHelperTest, file_access_helper_Mkdir_0004, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileAccessHelperTest-begin file_access_helper_Mkdir_0004"; - try { - Uri newDirUriTest(""); - string displayName = ""; - int result = fah->Mkdir(newDirUri, displayName, newDirUriTest); - EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "Mkdir_0004 result:" << result << endl; - } catch (...) { - GTEST_LOG_(INFO) << "FileAccessHelperTest-an exception occurred."; - } - GTEST_LOG_(INFO) << "FileAccessHelperTest-end file_access_helper_Mkdir_0004"; -} - -/** - * @tc.number: SUB_user_file_service_file_access_helper_Delete_0000 - * @tc.name: file_access_helper_Delete_0000 - * @tc.desc: Test function of Delete interface for SUCCESS which delete file. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileAccessHelperTest, file_access_helper_Delete_0000, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileAccessHelperTest-begin file_access_helper_Delete_0000"; - try { - Uri newDirUriTest(""); - int result = fah->Mkdir(newDirUri, "test", newDirUriTest); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - Uri newFileUri(""); - result = fah->CreateFile(newDirUriTest, "file_access_helper_Delete_0000.txt", newFileUri); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - result = fah->Delete(newFileUri); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "Delete_0000 result:" << result << endl; - - result = fah->Delete(newDirUriTest); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); - } catch (...) { - GTEST_LOG_(INFO) << "FileAccessHelperTest-an exception occurred."; - } - GTEST_LOG_(INFO) << "FileAccessHelperTest-end file_access_helper_Delete_0000"; -} - -/** - * @tc.number: SUB_user_file_service_file_access_helper_Delete_0001 - * @tc.name: file_access_helper_Delete_0001 - * @tc.desc: Test function of Delete interface for SUCCESS which delete folder. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileAccessHelperTest, file_access_helper_Delete_0001, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileAccessHelperTest-begin file_access_helper_Delete_0001"; - try { - Uri newDirUriTest(""); - int result = fah->Mkdir(newDirUri, "test", newDirUriTest); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - result = fah->Delete(newDirUriTest); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "Delete_0001 result:" << result << endl; - } catch (...) { - GTEST_LOG_(INFO) << "FileAccessHelperTest-an exception occurred."; - } - GTEST_LOG_(INFO) << "FileAccessHelperTest-end file_access_helper_Delete_0001"; -} - -/** - * @tc.number: SUB_user_file_service_file_access_helper_Delete_0002 - * @tc.name: file_access_helper_Delete_0002 - * @tc.desc: Test function of Delete interface for ERROR which selectFileUri is null. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileAccessHelperTest, file_access_helper_Delete_0002, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileAccessHelperTest-begin file_access_helper_Delete_0002"; - try { - Uri selectFileUri(""); - int result = fah->Delete(selectFileUri); - EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "Delete_0002 result:" << result << endl; - } catch (...) { - GTEST_LOG_(INFO) << "FileAccessHelperTest-an exception occurred."; - } - GTEST_LOG_(INFO) << "FileAccessHelperTest-end file_access_helper_Delete_0002"; -} - -/** - * @tc.number: SUB_user_file_service_file_access_helper_Delete_0003 - * @tc.name: file_access_helper_Delete_0003 - * @tc.desc: Test function of Delete interface for ERROR which selectFileUri is absolute path. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileAccessHelperTest, file_access_helper_Delete_0003, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileAccessHelperTest-begin file_access_helper_Delete_0003"; - try { - Uri newDirUriTest(""); - int result = fah->Mkdir(newDirUri, "test", newDirUriTest); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - Uri selectFileUri("storage/media/100/local/files/Download/test"); - result = fah->Delete(selectFileUri); - EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); - - result = fah->Delete(newDirUriTest); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "Delete_0003 result:" << result << endl; - } catch (...) { - GTEST_LOG_(INFO) << "FileAccessHelperTest-an exception occurred."; - } - GTEST_LOG_(INFO) << "FileAccessHelperTest-end file_access_helper_Delete_0003"; -} - -/** - * @tc.number: SUB_user_file_service_file_access_helper_Delete_0004 - * @tc.name: file_access_helper_Delete_0004 - * @tc.desc: Test function of Delete interface for ERROR which selectFileUri is special symbols. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileAccessHelperTest, file_access_helper_Delete_0004, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileAccessHelperTest-begin file_access_helper_Delete_0004"; - try { - Uri selectFileUri("!@#$%^&*()"); - int result = fah->Delete(selectFileUri); - EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "Delete_0004 result:" << result << endl; - } catch (...) { - GTEST_LOG_(INFO) << "FileAccessHelperTest-an exception occurred."; - } - GTEST_LOG_(INFO) << "FileAccessHelperTest-end file_access_helper_Delete_0004"; -} - -/** - * @tc.number: SUB_user_file_service_file_access_helper_Move_0000 - * @tc.name: file_access_helper_Move_0000 - * @tc.desc: Test function of Move interface for SUCCESS which move file. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileAccessHelperTest, file_access_helper_Move_0000, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileAccessHelperTest-begin file_access_helper_Move_0000"; - try { - Uri newDirUriTest1(""); - Uri newDirUriTest2(""); - int result = fah->Mkdir(newDirUri, "test1", newDirUriTest1); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - result = fah->Mkdir(newDirUri, "test2", newDirUriTest2); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - Uri testUri(""); - result = fah->CreateFile(newDirUriTest1, "test.txt", testUri); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - Uri testUri2(""); - result = fah->Move(testUri, newDirUriTest2, testUri2); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "Move_0000 result:" << result << endl; - - result = fah->Delete(newDirUriTest1); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); - - result = fah->Delete(newDirUriTest2); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); - } catch (...) { - GTEST_LOG_(INFO) << "FileAccessHelperTest-an exception occurred."; - } - GTEST_LOG_(INFO) << "FileAccessHelperTest-end file_access_helper_Move_0000"; -} - -/** - * @tc.number: SUB_user_file_service_file_access_helper_Move_0001 - * @tc.name: file_access_helper_Move_0001 - * @tc.desc: Test function of Move interface for SUCCESS which move folder. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileAccessHelperTest, file_access_helper_Move_0001, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileAccessHelperTest-begin file_access_helper_Move_0001"; - try { - Uri newDirUriTest1(""); - Uri newDirUriTest2(""); - int result = fah->Mkdir(newDirUri, "test1", newDirUriTest1); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - result = fah->Mkdir(newDirUri, "test2", newDirUriTest2); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - Uri testUri(""); - result = fah->CreateFile(newDirUriTest1, "test.txt", testUri); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - Uri testUri2(""); - result = fah->Move(newDirUriTest1, newDirUriTest2, testUri2); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "Move_0001 result:" << result << endl; - - result = fah->Delete(newDirUriTest2); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); - } catch (...) { - GTEST_LOG_(INFO) << "FileAccessHelperTest-an exception occurred."; - } - GTEST_LOG_(INFO) << "FileAccessHelperTest-end file_access_helper_Move_0001"; -} - -/** - * @tc.number: SUB_user_file_service_file_access_helper_Move_0002 - * @tc.name: file_access_helper_Move_0002 - * @tc.desc: Test function of Move interface for ERROR which sourceFileUri is null. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileAccessHelperTest, file_access_helper_Move_0002, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileAccessHelperTest-begin file_access_helper_Move_0002"; - try { - Uri newDirUriTest(""); - int result = fah->Mkdir(newDirUri, "test", newDirUriTest); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - Uri testUri(""); - Uri sourceFileUri(""); - result = fah->Move(sourceFileUri, newDirUriTest, testUri); - EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "Move_0002 result:" << result << endl; - - result = fah->Delete(newDirUriTest); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); - } catch (...) { - GTEST_LOG_(INFO) << "FileAccessHelperTest-an exception occurred."; - } - GTEST_LOG_(INFO) << "FileAccessHelperTest-end file_access_helper_Move_0002"; -} - -/** - * @tc.number: SUB_user_file_service_file_access_helper_Move_0003 - * @tc.name: file_access_helper_Move_0003 - * @tc.desc: Test function of Move interface for ERROR which sourceFileUri is absolute path. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileAccessHelperTest, file_access_helper_Move_0003, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileAccessHelperTest-begin file_access_helper_Move_0003"; - try { - Uri newDirUriTest1(""); - Uri newDirUriTest2(""); - int result = fah->Mkdir(newDirUri, "test1", newDirUriTest1); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - result = fah->Mkdir(newDirUri, "test2", newDirUriTest2); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - Uri testUri(""); - result = fah->CreateFile(newDirUriTest1, "test.txt", testUri); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - Uri testUri2(""); - Uri sourceFileUri("storage/media/100/local/files/Download/test1/test.txt"); - result = fah->Move(sourceFileUri, newDirUriTest2, testUri2); - EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "Move_0003 result:" << result << endl; - - result = fah->Delete(newDirUriTest1); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); - - result = fah->Delete(newDirUriTest2); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); - } catch (...) { - GTEST_LOG_(INFO) << "FileAccessHelperTest-an exception occurred."; - } - GTEST_LOG_(INFO) << "FileAccessHelperTest-end file_access_helper_Move_0003"; -} - -/** - * @tc.number: SUB_user_file_service_file_access_helper_Move_0004 - * @tc.name: file_access_helper_Move_0004 - * @tc.desc: Test function of Move interface for ERROR which sourceFileUri is special symbols. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileAccessHelperTest, file_access_helper_Move_0004, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileAccessHelperTest-begin file_access_helper_Move_0004"; - try { - Uri newDirUriTest(""); - int result = fah->Mkdir(newDirUri, "test", newDirUriTest); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - Uri testUri(""); - Uri sourceFileUri("~!@#$%^&*()_"); - result = fah->Move(sourceFileUri, newDirUriTest, testUri); - EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "Move_0004 result:" << result << endl; - - result = fah->Delete(newDirUriTest); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); - } catch (...) { - GTEST_LOG_(INFO) << "FileAccessHelperTest-an exception occurred."; - } - GTEST_LOG_(INFO) << "FileAccessHelperTest-end file_access_helper_Move_0004"; -} - -/** - * @tc.number: SUB_user_file_service_file_access_helper_Move_0005 - * @tc.name: file_access_helper_Move_0005 - * @tc.desc: Test function of Move interface for ERROR which targetParentUri is null. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileAccessHelperTest, file_access_helper_Move_0005, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileAccessHelperTest-begin file_access_helper_Move_0005"; - try { - Uri newDirUriTest(""); - int result = fah->Mkdir(newDirUri, "test1", newDirUriTest); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - Uri testUri(""); - result = fah->CreateFile(newDirUriTest, "test.txt", testUri); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - Uri testUri2(""); - Uri targetParentUri(""); - result = fah->Move(testUri, targetParentUri, testUri2); - EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "Move_0005 result:" << result << endl; - - result = fah->Delete(newDirUriTest); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); - } catch (...) { - GTEST_LOG_(INFO) << "FileAccessHelperTest-an exception occurred."; - } - GTEST_LOG_(INFO) << "FileAccessHelperTest-end file_access_helper_Move_0005"; -} - -/** - * @tc.number: SUB_user_file_service_file_access_helper_Move_0006 - * @tc.name: file_access_helper_Move_0006 - * @tc.desc: Test function of Move interface for ERROR which targetParentUri is absolute path. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileAccessHelperTest, file_access_helper_Move_0006, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileAccessHelperTest-begin file_access_helper_Move_0006"; - try { - Uri newDirUriTest1(""); - Uri newDirUriTest2(""); - int result = fah->Mkdir(newDirUri, "test1", newDirUriTest1); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - result = fah->Mkdir(newDirUri, "test2", newDirUriTest2); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - Uri testUri(""); - result = fah->CreateFile(newDirUriTest1, "test.txt", testUri); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - Uri testUri2(""); - Uri targetParentUri("storage/media/100/local/files/Download/test2"); - result = fah->Move(testUri, targetParentUri, testUri2); - EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "Move_0006 result:" << result << endl; - - result = fah->Delete(newDirUriTest1); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); - - result = fah->Delete(newDirUriTest2); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); - } catch (...) { - GTEST_LOG_(INFO) << "FileAccessHelperTest-an exception occurred."; - } - GTEST_LOG_(INFO) << "FileAccessHelperTest-end file_access_helper_Move_0006"; -} - -/** - * @tc.number: SUB_user_file_service_file_access_helper_Move_0007 - * @tc.name: file_access_helper_Move_0007 - * @tc.desc: Test function of Move interface for ERROR which targetParentUri is special symbols. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileAccessHelperTest, file_access_helper_Move_0007, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileAccessHelperTest-begin file_access_helper_Move_0007"; - try { - Uri newDirUriTest1(""); - Uri newDirUriTest2(""); - int result = fah->Mkdir(newDirUri, "test1", newDirUriTest1); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - result = fah->Mkdir(newDirUri, "test2", newDirUriTest2); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - Uri testUri(""); - result = fah->CreateFile(newDirUriTest1, "test.txt", testUri); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - Uri testUri2(""); - Uri targetParentUri("~!@#$^%&*()_"); - result = fah->Move(testUri, targetParentUri, testUri2); - EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "Move_0007 result:" << result << endl; - - result = fah->Delete(newDirUriTest1); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); - - result = fah->Delete(newDirUriTest2); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); - } catch (...) { - GTEST_LOG_(INFO) << "FileAccessHelperTest-an exception occurred."; - } - GTEST_LOG_(INFO) << "FileAccessHelperTest-end file_access_helper_Move_0007"; -} - -/** - * @tc.number: SUB_user_file_service_file_access_helper_Move_0008 - * @tc.name: file_access_helper_Move_0008 - * @tc.desc: Test function of Move interface for SUCCESS which move empty folder. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileAccessHelperTest, file_access_helper_Move_0008, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileAccessHelperTest-begin file_access_helper_Move_0008"; - try { - Uri newDirUriTest1(""); - Uri newDirUriTest2(""); - int result = fah->Mkdir(newDirUri, "test1", newDirUriTest1); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - result = fah->Mkdir(newDirUri, "test2", newDirUriTest2); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - Uri testUri2(""); - result = fah->Move(newDirUriTest1, newDirUriTest2, testUri2); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "Move_0008 result:" << result << endl; - - result = fah->Delete(newDirUriTest2); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); - } catch (...) { - GTEST_LOG_(INFO) << "FileAccessHelperTest-an exception occurred."; - } - GTEST_LOG_(INFO) << "FileAccessHelperTest-end file_access_helper_Move_0008"; -} - -/** - * @tc.number: SUB_user_file_service_file_access_helper_Move_0009 - * @tc.name: file_access_helper_Move_0009 - * @tc.desc: Test function of Move interface for SUCCESS which move more file in folder. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileAccessHelperTest, file_access_helper_Move_0009, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileAccessHelperTest-begin file_access_helper_Move_0009"; - try { - Uri newDirUriTest1(""); - Uri newDirUriTest2(""); - int result = fah->Mkdir(newDirUri, "test1", newDirUriTest1); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - result = fah->Mkdir(newDirUri, "test2", newDirUriTest2); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - Uri testUri(""); - for (size_t i = 0; i < 2000; i++) { - string fileName = "test" + ToString(i) + ".txt"; - fah->CreateFile(newDirUriTest1, fileName, testUri); - } - - Uri testUri2(""); - result = fah->Move(newDirUriTest1, newDirUriTest2, testUri2); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "Move_0009 result:" << result << endl; - - result = fah->Delete(newDirUriTest2); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); - } catch (...) { - GTEST_LOG_(INFO) << "FileAccessHelperTest-an exception occurred."; - } - GTEST_LOG_(INFO) << "FileAccessHelperTest-end file_access_helper_Move_0009"; -} - -/** - * @tc.number: SUB_user_file_service_file_access_helper_Move_0010 - * @tc.name: file_access_helper_Move_0010 - * @tc.desc: Test function of Move interface for SUCCESS which move Multilevel directory folder. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileAccessHelperTest, file_access_helper_Move_0010, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileAccessHelperTest-begin file_access_helper_Move_0010"; - try { - Uri newDirUriTest1(""); - Uri newDirUriTest2(""); - int result = fah->Mkdir(newDirUri, "test1", newDirUriTest1); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - result = fah->Mkdir(newDirUri, "test2", newDirUriTest2); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - Uri testUri(""); - fah->Mkdir(newDirUriTest1, "test", testUri); - for (size_t i = 0; i < 50; i++) { - fah->Mkdir(testUri, "test", testUri); - } - - Uri testUri2(""); - result = fah->Move(newDirUriTest1, newDirUriTest2, testUri2); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "Move_0010 result:" << result << endl; - - result = fah->Delete(newDirUriTest2); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); - } catch (...) { - GTEST_LOG_(INFO) << "FileAccessHelperTest-an exception occurred."; - } - GTEST_LOG_(INFO) << "FileAccessHelperTest-end file_access_helper_Move_0010"; -} - -/** - * @tc.number: SUB_user_file_service_file_access_helper_Rename_0000 - * @tc.name: file_access_helper_Rename_0000 - * @tc.desc: Test function of Rename interface for SUCCESS which rename file. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileAccessHelperTest, file_access_helper_Rename_0000, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileAccessHelperTest-begin file_access_helper_Rename_0000"; - try { - Uri newDirUriTest(""); - int result = fah->Mkdir(newDirUri, "test", newDirUriTest); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - Uri testUri(""); - result = fah->CreateFile(newDirUriTest, "test.txt", testUri); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - Uri renameUri(""); - result = fah->Rename(testUri, "test2.txt", renameUri); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "Rename_0000 result:" << result << endl; - - result = fah->Delete(newDirUriTest); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); - } catch (...) { - GTEST_LOG_(INFO) << "FileAccessHelperTest-an exception occurred."; - } - GTEST_LOG_(INFO) << "FileAccessHelperTest-end file_access_helper_Rename_0000"; -} - -/** - * @tc.number: SUB_user_file_service_file_access_helper_Rename_0001 - * @tc.name: file_access_helper_Rename_0001 - * @tc.desc: Test function of Rename interface for SUCCESS which rename folder. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileAccessHelperTest, file_access_helper_Rename_0001, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileAccessHelperTest-begin file_access_helper_Rename_0001"; - try { - Uri newDirUriTest(""); - int result = fah->Mkdir(newDirUri, "test", newDirUriTest); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - Uri renameUri(""); - result = fah->Rename(newDirUriTest, "testRename", renameUri); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "Rename_0001 result:" << result << endl; - - result = fah->Delete(newDirUriTest); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); - } catch (...) { - GTEST_LOG_(INFO) << "FileAccessHelperTest-an exception occurred."; - } - GTEST_LOG_(INFO) << "FileAccessHelperTest-end file_access_helper_Rename_0001"; -} - -/** - * @tc.number: SUB_user_file_service_file_access_helper_Rename_0002 - * @tc.name: file_access_helper_Rename_0002 - * @tc.desc: Test function of Rename interface for ERROR which sourceFileUri is null. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileAccessHelperTest, file_access_helper_Rename_0002, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileAccessHelperTest-begin file_access_helper_Rename_0002"; - try { - Uri renameUri(""); - Uri sourceFileUri(""); - int result = fah->Rename(sourceFileUri, "testRename.txt", renameUri); - EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "Rename_0002 result:" << result << endl; - } catch (...) { - GTEST_LOG_(INFO) << "FileAccessHelperTest-an exception occurred."; - } - GTEST_LOG_(INFO) << "FileAccessHelperTest-end file_access_helper_Rename_0002"; -} - -/** - * @tc.number: SUB_user_file_service_file_access_helper_Rename_0003 - * @tc.name: file_access_helper_Rename_0003 - * @tc.desc: Test function of Rename interface for ERROR which sourceFileUri is absolute path. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileAccessHelperTest, file_access_helper_Rename_0003, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileAccessHelperTest-begin file_access_helper_Rename_0003"; - try { - Uri newDirUriTest(""); - int result = fah->Mkdir(newDirUri, "test", newDirUriTest); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - Uri testUri(""); - result = fah->CreateFile(newDirUriTest, "test.txt", testUri); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - Uri renameUri(""); - Uri sourceFileUri("storage/media/100/local/files/Download/test/test.txt"); - result = fah->Rename(sourceFileUri, "testRename.txt", renameUri); - EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "Rename_0003 result:" << result << endl; - - result = fah->Delete(newDirUriTest); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); - } catch (...) { - GTEST_LOG_(INFO) << "FileAccessHelperTest-an exception occurred."; - } - GTEST_LOG_(INFO) << "FileAccessHelperTest-end file_access_helper_Rename_0003"; -} - -/** - * @tc.number: SUB_user_file_service_file_access_helper_Rename_0004 - * @tc.name: file_access_helper_Rename_0004 - * @tc.desc: Test function of Rename interface for ERROR which sourceFileUri is special symbols. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileAccessHelperTest, file_access_helper_Rename_0004, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileAccessHelperTest-begin file_access_helper_Rename_0004"; - try { - Uri renameUri(""); - Uri sourceFileUri("~!@#$%^&*()_"); - int result = fah->Rename(sourceFileUri, "testRename.txt", renameUri); - EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "Rename_0004 result:" << result << endl; - } catch (...) { - GTEST_LOG_(INFO) << "FileAccessHelperTest-an exception occurred."; - } - GTEST_LOG_(INFO) << "FileAccessHelperTest-end file_access_helper_Rename_0004"; -} - -/** - * @tc.number: SUB_user_file_service_file_access_helper_Rename_0005 - * @tc.name: file_access_helper_Rename_0005 - * @tc.desc: Test function of Rename interface for ERROR which displayName is null. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileAccessHelperTest, file_access_helper_Rename_0005, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileAccessHelperTest-begin file_access_helper_Rename_0005"; - try { - Uri newDirUriTest(""); - int result = fah->Mkdir(newDirUri, "test", newDirUriTest); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - Uri testUri(""); - result = fah->CreateFile(newDirUriTest, "test.txt", testUri); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - Uri renameUri(""); - result = fah->Rename(testUri, "", renameUri); - EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "Rename_0005 result:" << result << endl; - - result = fah->Delete(newDirUriTest); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); - } catch (...) { - GTEST_LOG_(INFO) << "FileAccessHelperTest-an exception occurred."; - } - GTEST_LOG_(INFO) << "FileAccessHelperTest-end file_access_helper_Rename_0005"; -} - -/** - * @tc.number: SUB_user_file_service_file_access_helper_ListFile_0000 - * @tc.name: file_access_helper_ListFile_0000 - * @tc.desc: Test function of ListFile interface for SUCCESS. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileAccessHelperTest, file_access_helper_ListFile_0000, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileAccessHelperTest-begin file_access_helper_ListFile_0000"; - try { - Uri newDirUriTest(""); - int result = fah->Mkdir(newDirUri, "test", newDirUriTest); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - Uri testUri(""); - result = fah->CreateFile(newDirUriTest, "file_access_helper_ListFile_0000.txt", testUri); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - FileInfo fileInfo; - fileInfo.uri = newDirUriTest.ToString(); - int64_t offset = 0; - int64_t maxCount = 1000; - std::vector fileInfoVec; - fah->ListFile(fileInfo, offset, maxCount, fileInfoVec); - EXPECT_GT(fileInfoVec.size(), 0); - GTEST_LOG_(INFO) << "ListFile_0000 result:" << fileInfoVec.size() << endl; - - result = fah->Delete(newDirUriTest); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); - } catch (...) { - GTEST_LOG_(INFO) << "FileAccessHelperTest-an exception occurred."; - } - GTEST_LOG_(INFO) << "FileAccessHelperTest-end file_access_helper_ListFile_0000"; -} - -/** - * @tc.number: SUB_user_file_service_file_access_helper_ListFile_0001 - * @tc.name: file_access_helper_ListFile_0001 - * @tc.desc: Test function of ListFile interface for ERROR which Uri is nullptr. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileAccessHelperTest, file_access_helper_ListFile_0001, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileAccessHelperTest-begin file_access_helper_ListFile_0001"; - try { - Uri sourceFileUri(""); - FileInfo fileInfo; - fileInfo.uri = sourceFileUri.ToString(); - int64_t offset = 0; - int64_t maxCount = 1000; - vector fileInfoVec; - fah->ListFile(fileInfo, offset, maxCount, fileInfoVec); - EXPECT_EQ(fileInfoVec.size(), 0); - GTEST_LOG_(INFO) << "ListFile_0001 result:" << fileInfoVec.size() << endl; - } catch (...) { - GTEST_LOG_(INFO) << "FileAccessHelperTest-an exception occurred."; - } - GTEST_LOG_(INFO) << "FileAccessHelperTest-end file_access_helper_ListFile_0001"; -} - -/** - * @tc.number: SUB_user_file_service_file_access_helper_ListFile_0002 - * @tc.name: file_access_helper_ListFile_0002 - * @tc.desc: Test function of ListFile interface for ERROR which sourceFileUri is absolute path. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileAccessHelperTest, file_access_helper_ListFile_0002, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileAccessHelperTest-begin file_access_helper_ListFile_0002"; - try { - Uri newDirUriTest(""); - int result = fah->Mkdir(newDirUri, "test", newDirUriTest); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - Uri testUri(""); - result = fah->CreateFile(newDirUriTest, "test.txt", testUri); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - Uri sourceFileUri("storage/media/100/local/files/Download/test/test.txt"); - FileInfo fileInfo; - fileInfo.uri = sourceFileUri.ToString(); - int64_t offset = 0; - int64_t maxCount = 1000; - vector fileInfoVec; - fah->ListFile(fileInfo, offset, maxCount, fileInfoVec); - EXPECT_EQ(fileInfoVec.size(), 0); - GTEST_LOG_(INFO) << "ListFile_0002 result:" << fileInfoVec.size() << endl; - - result = fah->Delete(newDirUriTest); - EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); - } catch (...) { - GTEST_LOG_(INFO) << "FileAccessHelperTest-an exception occurred."; - } - GTEST_LOG_(INFO) << "FileAccessHelperTest-end file_access_helper_ListFile_0002"; -} - -/** - * @tc.number: SUB_user_file_service_file_access_helper_ListFile_0003 - * @tc.name: file_access_helper_ListFile_0003 - * @tc.desc: Test function of ListFile interface for ERROR which sourceFileUri is special symbols. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileAccessHelperTest, file_access_helper_ListFile_0003, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileAccessHelperTest-begin file_access_helper_ListFile_0003"; - try { - Uri sourceFileUri("~!@#$%^&*()_"); - FileInfo fileInfo; - fileInfo.uri = sourceFileUri.ToString(); - int64_t offset = 0; - int64_t maxCount = 1000; - vector fileInfoVec; - fah->ListFile(fileInfo, offset, maxCount, fileInfoVec); - EXPECT_EQ(fileInfoVec.size(), 0); - GTEST_LOG_(INFO) << "ListFile_0003 result:" << fileInfoVec.size() << endl; - } catch (...) { - GTEST_LOG_(INFO) << "FileAccessHelperTest-an exception occurred."; - } - GTEST_LOG_(INFO) << "FileAccessHelperTest-end file_access_helper_ListFile_0003"; -} - -/** - * @tc.number: SUB_user_file_service_file_access_helper_GetRoots_0000 - * @tc.name: file_access_helper_GetRoots_0000 - * @tc.desc: Test function of GetRoots interface for SUCCESS. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileAccessHelperTest, file_access_helper_GetRoots_0000, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileAccessHelperTest-begin file_access_helper_GetRoots_0000"; - try { - uint64_t selfTokenId_ = GetSelfTokenID(); - - vector info; - int result = fah->GetRoots(info); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - EXPECT_GT(info.size(), 0); - - if (info.size() > 0) { - GTEST_LOG_(INFO) << info[0].uri; - GTEST_LOG_(INFO) << info[0].displayName; - GTEST_LOG_(INFO) << info[0].deviceType; - GTEST_LOG_(INFO) << info[0].deviceFlags; - } - - string uri = "datashare:///media/root"; - string displayName = "LOCAL"; - - EXPECT_EQ(info[0].uri, uri); - EXPECT_EQ(info[0].displayName, displayName); - EXPECT_EQ(info[0].deviceType, DEVICE_LOCAL_DISK); - - SetSelfTokenID(selfTokenId_); - } catch (...) { - GTEST_LOG_(INFO) << "FileAccessHelperTest-an exception occurred."; - } - GTEST_LOG_(INFO) << "FileAccessHelperTest-end file_access_helper_GetRoots_0000"; -} -} // namespace \ No newline at end of file diff --git a/frameworks/innerkits/file_access/test/medialibrary_file_access_test.cpp b/frameworks/innerkits/file_access/test/medialibrary_file_access_test.cpp new file mode 100644 index 0000000000000000000000000000000000000000..d364930d7d957d0a0ea6b1483e614edb179b0ef2 --- /dev/null +++ b/frameworks/innerkits/file_access/test/medialibrary_file_access_test.cpp @@ -0,0 +1,2130 @@ +/* + * Copyright (c) 2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include +#include + +#include + +#include "base/security/access_token/interfaces/innerkits/accesstoken/include/accesstoken_kit.h" +#include "base/security/access_token/interfaces/innerkits/token_setproc/include/token_setproc.h" +#include "file_access_framework_errno.h" +#include "file_access_helper.h" +#include "iservice_registry.h" + +namespace { +using namespace std; +using namespace OHOS; +using namespace FileAccessFwk; +const int32_t READ = 0; +const int32_t WRITE = 1; +const int32_t WRITE_READ = 2; +const int ABILITY_ID = 5003; +const int INIT_THREADS_NUMBER = 4; +const int ACTUAL_SUCCESS_THREADS_NUMBER = 1; +int g_num = 0; +shared_ptr g_fah = nullptr; +OHOS::Security::AccessToken::AccessTokenID g_tokenId; +Uri g_newDirUri(""); +const int UID_TRANSFORM_TMP = 20000000; +const int UID_DEFAULT = 0; + +// permission state +OHOS::Security::AccessToken::PermissionStateFull g_infoManagerTestState = { + .permissionName = "ohos.permission.FILE_ACCESS_MANAGER", + .isGeneral = true, + .resDeviceID = {"local"}, + .grantStatus = {OHOS::Security::AccessToken::PermissionState::PERMISSION_GRANTED}, + .grantFlags = {1} +}; + +OHOS::Security::AccessToken::PermissionStateFull g_infoManagerTestState1 = { + .permissionName = "ohos.permission.READ_MEDIA", + .isGeneral = true, + .resDeviceID = {"local"}, + .grantStatus = {OHOS::Security::AccessToken::PermissionState::PERMISSION_GRANTED}, + .grantFlags = {1} +}; + +OHOS::Security::AccessToken::PermissionStateFull g_infoManagerTestState2 = { + .permissionName = "ohos.permission.WRITE_MEDIA", + .isGeneral = true, + .resDeviceID = {"local"}, + .grantStatus = {OHOS::Security::AccessToken::PermissionState::PERMISSION_GRANTED}, + .grantFlags = {1} +}; + +// permission define +OHOS::Security::AccessToken::PermissionDef g_infoManagerTestPermDef = { + .permissionName = "ohos.permission.FILE_ACCESS_MANAGER", + .bundleName = "ohos.acts.multimedia.mediaLibrary", + .grantMode = 1, + .availableLevel = OHOS::Security::AccessToken::APL_NORMAL, + .label = "label", + .labelId = 1, + .description = "FILE_ACCESS_MANAGER", + .descriptionId = 1 +}; + +OHOS::Security::AccessToken::PermissionDef g_infoManagerTestPermDef1 = { + .permissionName = "ohos.permission.READ_MEDIA", + .bundleName = "ohos.acts.multimedia.mediaLibrary", + .grantMode = 1, + .availableLevel = OHOS::Security::AccessToken::APL_NORMAL, + .label = "label", + .labelId = 1, + .description = "READ_MEDIA", + .descriptionId = 1 +}; + +OHOS::Security::AccessToken::PermissionDef g_infoManagerTestPermDef2 = { + .permissionName = "ohos.permission.WRITE_MEDIA", + .bundleName = "ohos.acts.multimedia.mediaLibrary", + .grantMode = 1, + .availableLevel = OHOS::Security::AccessToken::APL_NORMAL, + .label = "label", + .labelId = 1, + .description = "WRITE_MEDIA", + .descriptionId = 1 +}; + +// permission info +OHOS::Security::AccessToken::HapPolicyParams g_infoManagerTestPolicyPrams = { + .apl = OHOS::Security::AccessToken::APL_NORMAL, + .domain = "test.domain", + .permList = {g_infoManagerTestPermDef, g_infoManagerTestPermDef1, g_infoManagerTestPermDef2}, + .permStateList = {g_infoManagerTestState, g_infoManagerTestState1, g_infoManagerTestState2} +}; + +// hap info +OHOS::Security::AccessToken::HapInfoParams const g_infoManagerTestInfoParms = { + .userID = 1, + .bundleName = "fileAccessHelperTest", + .instIndex = 0, + .appIDDesc = "testtesttesttest" +}; + +class FileAccessHelperTest : public testing::Test { +public: + static void SetUpTestCase(void) + { + cout << "FileAccessHelperTest code test" << endl; + auto saManager = SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager(); + auto remoteObj = saManager->GetSystemAbility(ABILITY_ID); + AAFwk::Want want; + vector wantVec; + setuid(UID_TRANSFORM_TMP); + int ret = FileAccessHelper::GetRegisteredFileAccessExtAbilityInfo(wantVec); + setuid(UID_DEFAULT); + EXPECT_EQ(ret, OHOS::FileAccessFwk::ERR_OK); + bool sus = false; + for (size_t i = 0; i < wantVec.size(); i++) { + auto element = wantVec[i].GetElement(); + if (element.GetBundleName() == "com.ohos.medialibrary.medialibrarydata" && + element.GetAbilityName() == "FileExtensionAbility") { + want = wantVec[i]; + sus = true; + break; + } + } + EXPECT_TRUE(sus); + vector wants {want}; + bool temp = false; + g_fah = FileAccessHelper::Creator(remoteObj, wants); + if (g_fah == nullptr) { + GTEST_LOG_(ERROR) << "external_file_access_test g_fah is nullptr"; + EXPECT_TRUE(temp); + } + OHOS::Security::AccessToken::AccessTokenIDEx tokenIdEx = {0}; + tokenIdEx = OHOS::Security::AccessToken::AccessTokenKit::AllocHapToken( + g_infoManagerTestInfoParms, g_infoManagerTestPolicyPrams); + g_tokenId = tokenIdEx.tokenIdExStruct.tokenID; + SetSelfTokenID(g_tokenId); + } + static void TearDownTestCase() + { + g_fah->Release(); + g_fah = nullptr; + OHOS::Security::AccessToken::AccessTokenKit::DeleteToken(g_tokenId); + }; + void SetUp() {}; + void TearDown() {}; +}; + +/** + * @tc.number: user_file_service_medialibrary_file_access_OpenFile_0000 + * @tc.name: medialibrary_file_access_OpenFile_0000 + * @tc.desc: Test function of OpenFile interface for SUCCESS. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_OpenFile_0000, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_OpenFile_0000"; + try { + vector info; + int result = g_fah->GetRoots(info); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri parentUri(""); + if (info.size() > OHOS::FileAccessFwk::ERR_OK) { + parentUri = Uri(info[0].uri + "/file"); + GTEST_LOG_(ERROR) << parentUri.ToString(); + } + bool isExist = false; + result = g_fah->Access(g_newDirUri, isExist); + EXPECT_LE(result, OHOS::FileAccessFwk::ERR_OK); + if (!isExist) { + result = g_fah->Mkdir(parentUri, "Download", g_newDirUri); + EXPECT_LE(result, OHOS::FileAccessFwk::ERR_OK); + } + Uri newDirUriTest("datashare:///media/root/file"); + FileInfo fileInfo; + fileInfo.uri = newDirUriTest.ToString(); + int64_t offset = 0; + int64_t maxCount = 1000; + std::vector fileInfoVec; + FileFilter filter; + result = g_fah->ListFile(fileInfo, offset, maxCount, filter, fileInfoVec); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + EXPECT_GE(fileInfoVec.size(), OHOS::FileAccessFwk::ERR_OK); + for (size_t i = 0; i < fileInfoVec.size(); i++) { + if (fileInfoVec[i].fileName.compare("Download") == 0) { + g_newDirUri = Uri(fileInfoVec[i].uri); + break; + } + } + result = g_fah->Mkdir(g_newDirUri, "test1", newDirUriTest); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri newFileUri(""); + result = g_fah->CreateFile(newDirUriTest, "medialibrary_file_access_OpenFile_0000.txt", newFileUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + int fd; + result = g_fah->OpenFile(newFileUri, WRITE_READ, fd); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + GTEST_LOG_(INFO) << "OpenFile_0000 result:" << result << endl; + close(fd); + result = g_fah->Delete(newDirUriTest); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_accsess_OpenFile_0000 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_OpenFile_0000"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_OpenFile_0001 + * @tc.name: medialibrary_file_access_OpenFile_0001 + * @tc.desc: Test function of OpenFile interface for ERROR which Uri is null. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_OpenFile_0001, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_OpenFile_0001"; + try { + Uri uri(""); + int fd; + int result = g_fah->OpenFile(uri, WRITE_READ, fd); + EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); + GTEST_LOG_(INFO) << "OpenFile_0001 result:" << result << endl; + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_OpenFile_0001 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_OpenFile_0001"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_OpenFile_0002 + * @tc.name: medialibrary_file_access_OpenFile_0002 + * @tc.desc: Test function of OpenFile interface for ERROR which Uri is absolute path. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_OpenFile_0002, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_OpenFile_0002"; + try { + Uri uri("storage/media/100/local/files/Download/medialibrary_file_access_OpenFile_0002.txt"); + int fd; + int result = g_fah->OpenFile(uri, WRITE_READ, fd); + EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); + GTEST_LOG_(INFO) << "OpenFile_0002 result:" << result << endl; + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_OpenFile_0002 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_OpenFile_0002"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_OpenFile_0003 + * @tc.name: medialibrary_file_access_OpenFile_0003 + * @tc.desc: Test function of OpenFile interface for ERROR which Uri is special symbols. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_OpenFile_0003, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_OpenFile_0003"; + try { + Uri uri("~!@#$%^&*()_"); + int fd; + int result = g_fah->OpenFile(uri, WRITE_READ, fd); + EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); + GTEST_LOG_(INFO) << "OpenFile_0003 result:" << result << endl; + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_OpenFile_0003 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_OpenFile_0003"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_OpenFile_0004 + * @tc.name: medialibrary_file_access_OpenFile_0004 + * @tc.desc: Test function of OpenFile interface for ERROR which flag is -1. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_OpenFile_0004, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_OpenFile_0004"; + try { + Uri newFileUri(""); + int result = g_fah->CreateFile(g_newDirUri, "medialibrary_file_access_OpenFile_0004.txt", newFileUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + int fd; + int flag = -1; + result = g_fah->OpenFile(newFileUri, flag, fd); + EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); + GTEST_LOG_(INFO) << "OpenFile_0004 result:" << result << endl; + result = g_fah->Delete(newFileUri); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_OpenFile_0004 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_OpenFile_0004"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_OpenFile_0005 + * @tc.name: medialibrary_file_access_OpenFile_0005 + * @tc.desc: Test function of OpenFile interface for SUCCESS which flag is 0. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_OpenFile_0005, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_OpenFile_0005"; + try { + Uri newFileUri(""); + int result = g_fah->CreateFile(g_newDirUri, "medialibrary_file_access_OpenFile_0005.txt", newFileUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + int fd; + result = g_fah->OpenFile(newFileUri, READ, fd); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + GTEST_LOG_(INFO) << "OpenFile_0005 result:" << result << endl; + close(fd); + result = g_fah->Delete(newFileUri); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_OpenFile_0005 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_OpenFile_0005"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_OpenFile_0006 + * @tc.name: medialibrary_file_access_OpenFile_0006 + * @tc.desc: Test function of OpenFile interface for SUCCESS which flag is 1. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_OpenFile_0006, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_OpenFile_0006"; + try { + Uri newFileUri(""); + int result = g_fah->CreateFile(g_newDirUri, "medialibrary_file_access_OpenFile_0006.txt", newFileUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + int fd; + result = g_fah->OpenFile(newFileUri, WRITE, fd); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + GTEST_LOG_(INFO) << "OpenFile_0006 result:" << result << endl; + close(fd); + result = g_fah->Delete(newFileUri); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_OpenFile_0006 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_OpenFile_0006"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_OpenFile_0007 + * @tc.name: medialibrary_file_access_OpenFile_0007 + * @tc.desc: Test function of OpenFile interface for SUCCESS which flag is 2. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_OpenFile_0007, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_OpenFile_0007"; + try { + Uri newFileUri(""); + int result = g_fah->CreateFile(g_newDirUri, "medialibrary_file_access_OpenFile_0007.txt", newFileUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + int fd; + result = g_fah->OpenFile(newFileUri, WRITE_READ, fd); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + GTEST_LOG_(INFO) << "OpenFile_0007 result:" << result << endl; + close(fd); + result = g_fah->Delete(newFileUri); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_OpenFile_0007 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_OpenFile_0007"; +} + +void OpenFileTdd(shared_ptr fahs, Uri uri, int flag, int fd) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_OpenFileTdd"; + int ret = fahs->OpenFile(uri, flag, fd); + if (ret != OHOS::FileAccessFwk::ERR_OK) { + GTEST_LOG_(ERROR) << "OpenFileTdd get result error, code:" << ret; + return; + } + EXPECT_EQ(ret, OHOS::FileAccessFwk::ERR_OK); + EXPECT_GE(fd, OHOS::FileAccessFwk::ERR_OK); + g_num++; + close(fd); + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_OpenFileTdd"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_OpenFile_0008 + * @tc.name: medialibrary_file_access_OpenFile_0008 + * @tc.desc: Test function of OpenFile interface for SUCCESS which Concurrent. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_OpenFile_0008, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_OpenFile_0008"; + try { + Uri newFileUri(""); + int fd; + g_num = 0; + std::string displayName = "test1.txt"; + int result = g_fah->CreateFile(g_newDirUri, displayName, newFileUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + for (int j = 0; j < INIT_THREADS_NUMBER; j++) { + std::thread execthread(OpenFileTdd, g_fah, newFileUri, WRITE_READ, fd); + execthread.join(); + } + EXPECT_EQ(g_num, INIT_THREADS_NUMBER); + result = g_fah->Delete(newFileUri); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_OpenFile_0008 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_OpenFile_0008"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_CreateFile_0000 + * @tc.name: medialibrary_file_access_CreateFile_0000 + * @tc.desc: Test function of CreateFile interface for SUCCESS. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_CreateFile_0000, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_CreateFile_0000"; + try { + Uri newFileUri(""); + int result = g_fah->CreateFile(g_newDirUri, "medialibrary_file_access_CreateFile_0000.txt", newFileUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + GTEST_LOG_(INFO) << "CreateFile_0000 result:" << result << endl; + result = g_fah->Delete(newFileUri); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_CreateFile_0000 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_CreateFile_0000"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_CreateFile_0001 + * @tc.name: medialibrary_file_access_CreateFile_0001 + * @tc.desc: Test function of CreateFile interface for ERROR which parentUri is null. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_CreateFile_0001, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_CreateFile_0001"; + try { + Uri newFileUri(""); + Uri parentUri(""); + int result = g_fah->CreateFile(parentUri, "medialibrary_file_access_CreateFile_0001.txt", newFileUri); + EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); + GTEST_LOG_(INFO) << "CreateFile_0001 result:" << result << endl; + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_CreateFile_0001 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_CreateFile_0001"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_CreateFile_0002 + * @tc.name: medialibrary_file_access_CreateFile_0002 + * @tc.desc: Test function of CreateFile interface for ERROR which parentUri is absolute path. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_CreateFile_0002, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_CreateFile_0002"; + try { + Uri newFileUri(""); + Uri parentUri("storage/media/100/local/files/Download"); + int result = g_fah->CreateFile(parentUri, "medialibrary_file_access_CreateFile_0002.txt", newFileUri); + EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); + GTEST_LOG_(INFO) << "CreateFile_0002 result:" << result << endl; + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_CreateFile_0002 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_CreateFile_0002"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_CreateFile_0003 + * @tc.name: medialibrary_file_access_CreateFile_0003 + * @tc.desc: Test function of CreateFile interface for ERROR which parentUri is special symbols. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_CreateFile_0003, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_CreateFile_0002"; + try { + Uri newFileUri(""); + Uri parentUri("~!@#$%^&*()_"); + int result = g_fah->CreateFile(parentUri, "medialibrary_file_access_CreateFile_0003.txt", newFileUri); + EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); + GTEST_LOG_(INFO) << "CreateFile_0003 result:" << result << endl; + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_CreateFile_0003 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_CreateFile_0003"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_CreateFile_0004 + * @tc.name: medialibrary_file_access_CreateFile_0004 + * @tc.desc: Test function of CreateFile interface for ERROR which displayName is null. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_CreateFile_0004, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_CreateFile_0004"; + try { + Uri newFileUri(""); + string displayName = ""; + int result = g_fah->CreateFile(g_newDirUri, displayName, newFileUri); + EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); + GTEST_LOG_(INFO) << "CreateFile_0004 result:" << result << endl; + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_CreateFile_0004 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_CreateFile_0004"; +} + +void CreateFileTdd(shared_ptr fahs, Uri parent, std::string displayName, Uri newDir) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_CreateFileTdd"; + int ret = fahs->CreateFile(parent, displayName, newDir); + if (ret < OHOS::FileAccessFwk::ERR_OK) { + GTEST_LOG_(ERROR) << "CreateFileTdd get result error, code:" << ret; + return; + } + EXPECT_EQ(ret, OHOS::FileAccessFwk::ERR_OK); + EXPECT_NE(newDir.ToString(), ""); + g_num++; + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_CreateFileTdd"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_CreateFile_0005 + * @tc.name: medialibrary_file_access_CreateFile_0005 + * @tc.desc: Test function of CreateFile interface for SUCCESS while Concurrent. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_CreateFile_0005, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_CreateFile_0005"; + try { + Uri newFileUri1(""); + Uri newFileUri2(""); + Uri newFileUri3(""); + std::string displayName1 = "test1"; + std::string displayName2 = "test2"; + int result = g_fah->Mkdir(g_newDirUri, displayName1, newFileUri1); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Mkdir(newFileUri1, displayName2, newFileUri2); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + g_num = 0; + for (int j = 0; j < INIT_THREADS_NUMBER; j++) { + std::thread execthread(CreateFileTdd, g_fah, newFileUri2, displayName2, newFileUri3); + execthread.join(); + } + EXPECT_GE(g_num, ACTUAL_SUCCESS_THREADS_NUMBER); + GTEST_LOG_(INFO) << "g_newDirUri.ToString() =" << g_newDirUri.ToString() ; + result = g_fah->Delete(newFileUri1); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_CreateFile_0005 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_CreateFile_0005"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_Mkdir_0000 + * @tc.name: medialibrary_file_access_Mkdir_0000 + * @tc.desc: Test function of Mkdir interface for SUCCESS. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_Mkdir_0000, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_Mkdir_0000"; + try { + Uri newDirUriTest(""); + int result = g_fah->Mkdir(g_newDirUri, "medialibrary_file_access_Mkdir_0000", newDirUriTest); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + GTEST_LOG_(INFO) << "Mkdir_0000 result:" << result << endl; + result = g_fah->Delete(newDirUriTest); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_Mkdir_0000 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_Mkdir_0000"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_Mkdir_0001 + * @tc.name: medialibrary_file_access_Mkdir_0001 + * @tc.desc: Test function of Mkdir interface for ERROR which parentUri is null. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_Mkdir_0001, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_Mkdir_0001"; + try { + Uri newDirUriTest(""); + Uri parentUri(""); + int result = g_fah->Mkdir(parentUri, "medialibrary_file_access_Mkdir_0001", newDirUriTest); + EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); + GTEST_LOG_(INFO) << "Mkdir_0001 result:" << result << endl; + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_Mkdir_0001 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_Mkdir_0001"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_Mkdir_0002 + * @tc.name: medialibrary_file_access_Mkdir_0002 + * @tc.desc: Test function of Mkdir interface for ERROR which parentUri is absolute path. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_Mkdir_0002, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_Mkdir_0002"; + try { + Uri newDirUriTest(""); + Uri parentUri("storage/media/100/local/files/Download"); + int result = g_fah->Mkdir(parentUri, "medialibrary_file_access_Mkdir_0002", newDirUriTest); + EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); + GTEST_LOG_(INFO) << "Mkdir_0002 result:" << result << endl; + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_Mkdir_0002 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_Mkdir_0002"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_Mkdir_0003 + * @tc.name: medialibrary_file_access_Mkdir_0003 + * @tc.desc: Test function of Mkdir interface for ERROR which parentUri is special symbols. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_Mkdir_0003, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_Mkdir_0002"; + try { + Uri newDirUriTest(""); + Uri parentUri("~!@#$%^&*()_"); + int result = g_fah->Mkdir(parentUri, "medialibrary_file_access_Mkdir_0003", newDirUriTest); + EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); + GTEST_LOG_(INFO) << "Mkdir_0003 result:" << result << endl; + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_Mkdir_0003 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_Mkdir_0003"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_Mkdir_0004 + * @tc.name: medialibrary_file_access_Mkdir_0004 + * @tc.desc: Test function of Mkdir interface for ERROR which displayName is null. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_Mkdir_0004, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_Mkdir_0004"; + try { + Uri newDirUriTest(""); + string displayName = ""; + int result = g_fah->Mkdir(g_newDirUri, displayName, newDirUriTest); + EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); + GTEST_LOG_(INFO) << "Mkdir_0004 result:" << result << endl; + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_Mkdir_0004 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_Mkdir_0004"; +} + +void MkdirTdd(shared_ptr fahs, Uri parent, std::string displayName, Uri newDir) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_MkdirTdd"; + int ret = fahs->Mkdir(parent, displayName, newDir); + if (ret < OHOS::FileAccessFwk::ERR_OK) { + GTEST_LOG_(ERROR) << "MkdirTdd get result error, code:" << ret; + return; + } + EXPECT_EQ(ret, OHOS::FileAccessFwk::ERR_OK); + EXPECT_NE(newDir.ToString(), ""); + g_num++; + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_MkdirTdd"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_Mkdir_0005 + * @tc.name: medialibrary_file_access_Mkdir_0005 + * @tc.desc: Test function of Mkdir interface for SUCCESS which Concurrent. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_Mkdir_0005, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_Mkdir_0005"; + try { + Uri newFileUri1(""); + Uri newFileUri2(""); + Uri newFileUri3(""); + std::string displayName1 = "test1"; + std::string displayName2 = "test2"; + std::string displayName3 = "test3"; + int result = g_fah->Mkdir(g_newDirUri, displayName1, newFileUri1); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Mkdir(newFileUri1, displayName2, newFileUri2); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + g_num = 0; + for (int j = 0; j < INIT_THREADS_NUMBER; j++) { + std::thread execthread(MkdirTdd, g_fah, newFileUri2, displayName3, newFileUri3); + execthread.join(); + } + EXPECT_GE(g_num, ACTUAL_SUCCESS_THREADS_NUMBER); + result = g_fah->Delete(newFileUri1); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_Mkdir_0005 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_Mkdir_0005"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_Delete_0000 + * @tc.name: medialibrary_file_access_Delete_0000 + * @tc.desc: Test function of Delete interface for SUCCESS which delete file. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_Delete_0000, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_Delete_0000"; + try { + Uri newDirUriTest(""); + int result = g_fah->Mkdir(g_newDirUri, "test", newDirUriTest); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri newFileUri(""); + result = g_fah->CreateFile(newDirUriTest, "medialibrary_file_access_Delete_0000.txt", newFileUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Delete(newFileUri); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + GTEST_LOG_(INFO) << "Delete_0000 result:" << result << endl; + result = g_fah->Delete(newDirUriTest); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_Delete_0000 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_Delete_0000"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_Delete_0001 + * @tc.name: medialibrary_file_access_Delete_0001 + * @tc.desc: Test function of Delete interface for SUCCESS which delete folder. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_Delete_0001, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_Delete_0001"; + try { + Uri newDirUriTest(""); + int result = g_fah->Mkdir(g_newDirUri, "test", newDirUriTest); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Delete(newDirUriTest); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + GTEST_LOG_(INFO) << "Delete_0001 result:" << result << endl; + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_Delete_0001 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_Delete_0001"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_Delete_0002 + * @tc.name: medialibrary_file_access_Delete_0002 + * @tc.desc: Test function of Delete interface for ERROR which selectFileUri is null. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_Delete_0002, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_Delete_0002"; + try { + Uri selectFileUri(""); + int result = g_fah->Delete(selectFileUri); + EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); + GTEST_LOG_(INFO) << "Delete_0002 result:" << result << endl; + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_Delete_0002 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_Delete_0002"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_Delete_0003 + * @tc.name: medialibrary_file_access_Delete_0003 + * @tc.desc: Test function of Delete interface for ERROR which selectFileUri is absolute path. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_Delete_0003, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_Delete_0003"; + try { + Uri newDirUriTest(""); + int result = g_fah->Mkdir(g_newDirUri, "test", newDirUriTest); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri selectFileUri("storage/media/100/local/files/Download/test"); + result = g_fah->Delete(selectFileUri); + EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Delete(newDirUriTest); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + GTEST_LOG_(INFO) << "Delete_0003 result:" << result << endl; + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_Delete_0003 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_Delete_0003"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_Delete_0004 + * @tc.name: medialibrary_file_access_Delete_0004 + * @tc.desc: Test function of Delete interface for ERROR which selectFileUri is special symbols. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_Delete_0004, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_Delete_0004"; + try { + Uri selectFileUri("!@#$%^&*()"); + int result = g_fah->Delete(selectFileUri); + EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); + GTEST_LOG_(INFO) << "Delete_0004 result:" << result << endl; + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_Delete_0004 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_Delete_0004"; +} + +void DeleteTdd(shared_ptr fahs, Uri selectFile) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_DeleteTdd"; + int ret = fahs->Delete(selectFile); + if (ret < OHOS::FileAccessFwk::ERR_OK) { + GTEST_LOG_(ERROR) << "DeleteTdd get result error, code:" << ret; + return; + } + EXPECT_GE(ret, OHOS::FileAccessFwk::ERR_OK); + g_num++; + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_DeleteTdd"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_Delete_0005 + * @tc.name: medialibrary_file_access_Delete_0005 + * @tc.desc: Test function of Delete interface for SUCCESS which Concurrent. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_Delete_0005, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_Delete_0005"; + try { + Uri newDirUriTest(""); + int result = g_fah->Mkdir(g_newDirUri, "test", newDirUriTest); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri newFileUri(""); + result = g_fah->CreateFile(newDirUriTest, "medialibrary_file_access_Delete_0005.txt", newFileUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri testUri(""); + std::string displayName = "test1.txt"; + Uri testUri2(""); + result = g_fah->CreateFile(newDirUriTest, displayName, testUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + g_num = 0; + for (int j = 0; j < INIT_THREADS_NUMBER; j++) { + std::thread execthread(DeleteTdd, g_fah, testUri); + execthread.join(); + } + EXPECT_GE(g_num, ACTUAL_SUCCESS_THREADS_NUMBER); + result = g_fah->Delete(newDirUriTest); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_Delete_0005 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_Delete_0005"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_Move_0000 + * @tc.name: medialibrary_file_access_Move_0000 + * @tc.desc: Test function of Move interface for SUCCESS which move file. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_Move_0000, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_Move_0000"; + try { + Uri newDirUriTest1(""); + Uri newDirUriTest2(""); + int result = g_fah->Mkdir(g_newDirUri, "test1", newDirUriTest1); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Mkdir(g_newDirUri, "test2", newDirUriTest2); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri testUri(""); + result = g_fah->CreateFile(newDirUriTest1, "test.txt", testUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri testUri2(""); + result = g_fah->Move(testUri, newDirUriTest2, testUri2); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + GTEST_LOG_(INFO) << "Move_0000 result:" << result << endl; + result = g_fah->Delete(newDirUriTest1); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Delete(newDirUriTest2); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_Move_0000 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_Move_0000"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_Move_0001 + * @tc.name: medialibrary_file_access_Move_0001 + * @tc.desc: Test function of Move interface for SUCCESS which move folder. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_Move_0001, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_Move_0001"; + try { + Uri newDirUriTest1(""); + Uri newDirUriTest2(""); + int result = g_fah->Mkdir(g_newDirUri, "test1", newDirUriTest1); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Mkdir(g_newDirUri, "test2", newDirUriTest2); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri testUri(""); + result = g_fah->CreateFile(newDirUriTest1, "test.txt", testUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri testUri2(""); + result = g_fah->Move(newDirUriTest1, newDirUriTest2, testUri2); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + GTEST_LOG_(INFO) << "Move_0001 result:" << result << endl; + result = g_fah->Delete(newDirUriTest1); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Delete(newDirUriTest2); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_Move_0001 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_Move_0001"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_Move_0002 + * @tc.name: medialibrary_file_access_Move_0002 + * @tc.desc: Test function of Move interface for ERROR which sourceFileUri is null. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_Move_0002, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_Move_0002"; + try { + Uri newDirUriTest(""); + int result = g_fah->Mkdir(g_newDirUri, "test", newDirUriTest); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri testUri(""); + Uri sourceFileUri(""); + result = g_fah->Move(sourceFileUri, newDirUriTest, testUri); + EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); + GTEST_LOG_(INFO) << "Move_0002 result:" << result << endl; + result = g_fah->Delete(newDirUriTest); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_Move_0002 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_Move_0002"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_Move_0003 + * @tc.name: medialibrary_file_access_Move_0003 + * @tc.desc: Test function of Move interface for ERROR which sourceFileUri is absolute path. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_Move_0003, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_Move_0003"; + try { + Uri newDirUriTest1(""); + Uri newDirUriTest2(""); + int result = g_fah->Mkdir(g_newDirUri, "test1", newDirUriTest1); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Mkdir(g_newDirUri, "test2", newDirUriTest2); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri testUri(""); + result = g_fah->CreateFile(newDirUriTest1, "test.txt", testUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri testUri2(""); + Uri sourceFileUri("storage/media/100/local/files/Download/test1/test.txt"); + result = g_fah->Move(sourceFileUri, newDirUriTest2, testUri2); + EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); + GTEST_LOG_(INFO) << "Move_0003 result:" << result << endl; + result = g_fah->Delete(newDirUriTest1); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Delete(newDirUriTest2); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_Move_0003 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_Move_0003"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_Move_0004 + * @tc.name: medialibrary_file_access_Move_0004 + * @tc.desc: Test function of Move interface for ERROR which sourceFileUri is special symbols. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_Move_0004, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_Move_0004"; + try { + Uri newDirUriTest(""); + int result = g_fah->Mkdir(g_newDirUri, "test", newDirUriTest); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri testUri(""); + Uri sourceFileUri("~!@#$%^&*()_"); + result = g_fah->Move(sourceFileUri, newDirUriTest, testUri); + EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); + GTEST_LOG_(INFO) << "Move_0004 result:" << result << endl; + result = g_fah->Delete(newDirUriTest); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_Move_0004 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_Move_0004"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_Move_0005 + * @tc.name: medialibrary_file_access_Move_0005 + * @tc.desc: Test function of Move interface for ERROR which targetParentUri is null. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_Move_0005, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_Move_0005"; + try { + Uri newDirUriTest(""); + int result = g_fah->Mkdir(g_newDirUri, "test1", newDirUriTest); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri testUri(""); + result = g_fah->CreateFile(newDirUriTest, "test.txt", testUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri testUri2(""); + Uri targetParentUri(""); + result = g_fah->Move(testUri, targetParentUri, testUri2); + EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); + GTEST_LOG_(INFO) << "Move_0005 result:" << result << endl; + result = g_fah->Delete(newDirUriTest); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_Move_0005 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_Move_0005"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_Move_0006 + * @tc.name: medialibrary_file_access_Move_0006 + * @tc.desc: Test function of Move interface for ERROR which targetParentUri is absolute path. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_Move_0006, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_Move_0006"; + try { + Uri newDirUriTest1(""); + Uri newDirUriTest2(""); + int result = g_fah->Mkdir(g_newDirUri, "test1", newDirUriTest1); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Mkdir(g_newDirUri, "test2", newDirUriTest2); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri testUri(""); + result = g_fah->CreateFile(newDirUriTest1, "test.txt", testUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri testUri2(""); + Uri targetParentUri("storage/media/100/local/files/Download/test2"); + result = g_fah->Move(testUri, targetParentUri, testUri2); + EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); + GTEST_LOG_(INFO) << "Move_0006 result:" << result << endl; + result = g_fah->Delete(newDirUriTest1); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Delete(newDirUriTest2); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_Move_0006 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_Move_0006"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_Move_0007 + * @tc.name: medialibrary_file_access_Move_0007 + * @tc.desc: Test function of Move interface for ERROR which targetParentUri is special symbols. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_Move_0007, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_Move_0007"; + try { + Uri newDirUriTest1(""); + Uri newDirUriTest2(""); + int result = g_fah->Mkdir(g_newDirUri, "test1", newDirUriTest1); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Mkdir(g_newDirUri, "test2", newDirUriTest2); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri testUri(""); + result = g_fah->CreateFile(newDirUriTest1, "test.txt", testUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri testUri2(""); + Uri targetParentUri("~!@#$^%&*()_"); + result = g_fah->Move(testUri, targetParentUri, testUri2); + EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); + GTEST_LOG_(INFO) << "Move_0007 result:" << result << endl; + result = g_fah->Delete(newDirUriTest1); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Delete(newDirUriTest2); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_Move_0007 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_Move_0007"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_Move_0008 + * @tc.name: medialibrary_file_access_Move_0008 + * @tc.desc: Test function of Move interface for SUCCESS which move empty folder. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_Move_0008, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_Move_0008"; + try { + Uri newDirUriTest1(""); + Uri newDirUriTest2(""); + int result = g_fah->Mkdir(g_newDirUri, "test1", newDirUriTest1); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Mkdir(g_newDirUri, "test2", newDirUriTest2); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri testUri2(""); + result = g_fah->Move(newDirUriTest1, newDirUriTest2, testUri2); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + GTEST_LOG_(INFO) << "Move_0008 result:" << result << endl; + result = g_fah->Delete(newDirUriTest1); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Delete(newDirUriTest2); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_Move_0008 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_Move_0008"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_Move_0009 + * @tc.name: medialibrary_file_access_Move_0009 + * @tc.desc: Test function of Move interface for SUCCESS which move more file in folder. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_Move_0009, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_Move_0009"; + try { + Uri newDirUriTest1(""); + Uri newDirUriTest2(""); + int result = g_fah->Mkdir(g_newDirUri, "test1", newDirUriTest1); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Mkdir(g_newDirUri, "test2", newDirUriTest2); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri testUri(""); + int fileNumbers = 2000; + for (size_t i = 0; i < fileNumbers; i++) { + string fileName = "test" + ToString(i) + ".txt"; + result = g_fah->CreateFile(newDirUriTest1, fileName, testUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + } + Uri testUri2(""); + result = g_fah->Move(newDirUriTest1, newDirUriTest2, testUri2); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + GTEST_LOG_(INFO) << "Move_0009 result:" << result << endl; + result = g_fah->Delete(newDirUriTest1); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Delete(newDirUriTest2); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_Move_0009 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_Move_0009"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_Move_0010 + * @tc.name: medialibrary_file_access_Move_0010 + * @tc.desc: Test function of Move interface for SUCCESS which move Multilevel directory folder. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_Move_0010, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_Move_0010"; + try { + Uri newDirUriTest1(""); + Uri newDirUriTest2(""); + int result = g_fah->Mkdir(g_newDirUri, "test1", newDirUriTest1); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Mkdir(g_newDirUri, "test2", newDirUriTest2); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri testUri(""); + result = g_fah->Mkdir(newDirUriTest1, "test", testUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + int directoryNumbers = 50; + for (size_t i = 0; i < directoryNumbers; i++) { + result = g_fah->Mkdir(testUri, "test", testUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + } + Uri testUri2(""); + result = g_fah->Move(newDirUriTest1, newDirUriTest2, testUri2); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + GTEST_LOG_(INFO) << "Move_0010 result:" << result << endl; + result = g_fah->Delete(newDirUriTest1); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Delete(newDirUriTest2); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_Move_0010 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_Move_0010"; +} + +void MoveTdd(shared_ptr fahs, Uri sourceFile, Uri targetParent, Uri newFile) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_MoveTdd"; + int ret = fahs->Move(sourceFile, targetParent, newFile); + if (ret != OHOS::FileAccessFwk::ERR_OK) { + GTEST_LOG_(ERROR) << "MoveTdd get result error, code:" << ret; + return; + } + EXPECT_EQ(ret, OHOS::FileAccessFwk::ERR_OK); + EXPECT_NE(newFile.ToString(), ""); + g_num++; + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_MoveTdd"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_Move_0011 + * @tc.name: medialibrary_file_access_Move_0011 + * @tc.desc: Test function of Move interface for SUCCESS which Concurrent. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_Move_0011, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_Move_0011"; + try { + Uri newDirUriTest1(""); + Uri newDirUriTest2(""); + int result = g_fah->Mkdir(g_newDirUri, "test1", newDirUriTest1); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Mkdir(g_newDirUri, "test2", newDirUriTest2); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri testUri{""}; + Uri testUri2(""); + std::string displayName = "test1.txt"; + result = g_fah->CreateFile(newDirUriTest1, displayName, testUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + for (int j = 0; j < INIT_THREADS_NUMBER; j++) { + std::thread execthread(MoveTdd, g_fah, testUri, newDirUriTest2, testUri2); + execthread.join(); + } + EXPECT_GE(g_num, ACTUAL_SUCCESS_THREADS_NUMBER); + result = g_fah->Delete(newDirUriTest1); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->Delete(newDirUriTest2); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_Move_0011 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_Move_0011"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_Rename_0000 + * @tc.name: medialibrary_file_access_Rename_0000 + * @tc.desc: Test function of Rename interface for SUCCESS which rename file. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_Rename_0000, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_Rename_0000"; + try { + Uri newDirUriTest(""); + int result = g_fah->Mkdir(g_newDirUri, "test", newDirUriTest); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri testUri(""); + result = g_fah->CreateFile(newDirUriTest, "test.txt", testUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri renameUri(""); + result = g_fah->Rename(testUri, "test2.txt", renameUri); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + GTEST_LOG_(INFO) << "Rename_0000 result:" << result << endl; + result = g_fah->Delete(newDirUriTest); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_Rename_0000 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_Rename_0000"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_Rename_0001 + * @tc.name: medialibrary_file_access_Rename_0001 + * @tc.desc: Test function of Rename interface for SUCCESS which rename folder. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_Rename_0001, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_Rename_0001"; + try { + Uri newDirUriTest(""); + int result = g_fah->Mkdir(g_newDirUri, "test", newDirUriTest); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri renameUri(""); + result = g_fah->Rename(newDirUriTest, "testRename", renameUri); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + GTEST_LOG_(INFO) << "Rename_0001 result:" << result << endl; + result = g_fah->Delete(newDirUriTest); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_Rename_0001 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_Rename_0001"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_Rename_0002 + * @tc.name: medialibrary_file_access_Rename_0002 + * @tc.desc: Test function of Rename interface for ERROR which sourceFileUri is null. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_Rename_0002, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_Rename_0002"; + try { + Uri renameUri(""); + Uri sourceFileUri(""); + int result = g_fah->Rename(sourceFileUri, "testRename.txt", renameUri); + EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); + GTEST_LOG_(INFO) << "Rename_0002 result:" << result << endl; + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_Rename_0002 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_Rename_0002"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_Rename_0003 + * @tc.name: medialibrary_file_access_Rename_0003 + * @tc.desc: Test function of Rename interface for ERROR which sourceFileUri is absolute path. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_Rename_0003, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_Rename_0003"; + try { + Uri newDirUriTest(""); + int result = g_fah->Mkdir(g_newDirUri, "test", newDirUriTest); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri testUri(""); + result = g_fah->CreateFile(newDirUriTest, "test.txt", testUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri renameUri(""); + Uri sourceFileUri("storage/media/100/local/files/Download/test/test.txt"); + result = g_fah->Rename(sourceFileUri, "testRename.txt", renameUri); + EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); + GTEST_LOG_(INFO) << "Rename_0003 result:" << result << endl; + result = g_fah->Delete(newDirUriTest); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_Rename_0003 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_Rename_0003"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_Rename_0004 + * @tc.name: medialibrary_file_access_Rename_0004 + * @tc.desc: Test function of Rename interface for ERROR which sourceFileUri is special symbols. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_Rename_0004, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_Rename_0004"; + try { + Uri renameUri(""); + Uri sourceFileUri("~!@#$%^&*()_"); + int result = g_fah->Rename(sourceFileUri, "testRename.txt", renameUri); + EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); + GTEST_LOG_(INFO) << "Rename_0004 result:" << result << endl; + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_Rename_0004 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_Rename_0004"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_Rename_0005 + * @tc.name: medialibrary_file_access_Rename_0005 + * @tc.desc: Test function of Rename interface for ERROR which displayName is null. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_Rename_0005, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_Rename_0005"; + try { + Uri newDirUriTest(""); + int result = g_fah->Mkdir(g_newDirUri, "test", newDirUriTest); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri testUri(""); + result = g_fah->CreateFile(newDirUriTest, "test.txt", testUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri renameUri(""); + result = g_fah->Rename(testUri, "", renameUri); + EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); + GTEST_LOG_(INFO) << "Rename_0005 result:" << result << endl; + result = g_fah->Delete(newDirUriTest); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_Rename_0005 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_Rename_0005"; +} + +void RenameTdd(shared_ptr fahs, Uri sourceFile, std::string displayName, Uri newFile) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_RenameTdd"; + int ret = fahs->Rename(sourceFile, displayName, newFile); + if (ret != OHOS::FileAccessFwk::ERR_OK) { + GTEST_LOG_(ERROR) << "RenameTdd get result error, code:" << ret; + return; + } + EXPECT_EQ(ret, OHOS::FileAccessFwk::ERR_OK); + EXPECT_NE(newFile.ToString(), ""); + g_num++; + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_RenameTdd"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_Rename_0006 + * @tc.name: medialibrary_file_access_Rename_0006 + * @tc.desc: Test function of Rename interface for SUCCESS which Concurrent. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_Rename_0006, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_Rename_0006"; + try { + Uri newDirUriTest(""); + int result = g_fah->Mkdir(g_newDirUri, "test", newDirUriTest); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri testUri{""}; + std::string displayName1 = "test1.txt"; + std::string displayName2 = "test2.txt"; + Uri renameUri(""); + result = g_fah->CreateFile(newDirUriTest, displayName1, testUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + for (int j = 0; j < INIT_THREADS_NUMBER; j++) { + std::thread execthread(RenameTdd, g_fah, testUri, displayName2, renameUri); + execthread.join(); + } + EXPECT_GE(g_num, ACTUAL_SUCCESS_THREADS_NUMBER); + result = g_fah->Delete(newDirUriTest); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_Rename_0006 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_Rename_0006"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_ListFile_0000 + * @tc.name: medialibrary_file_access_ListFile_0000 + * @tc.desc: Test function of ListFile interface for SUCCESS. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_ListFile_0000, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_ListFile_0000"; + try { + Uri newDirUriTest(""); + int result = g_fah->Mkdir(g_newDirUri, "test", newDirUriTest); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri testUri(""); + result = g_fah->CreateFile(newDirUriTest, "medialibrary_file_access_ListFile_0000.txt", testUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + FileInfo fileInfo; + fileInfo.uri = newDirUriTest.ToString(); + int64_t offset = 0; + int64_t maxCount = 1000; + std::vector fileInfoVec; + FileFilter filter; + result = g_fah->ListFile(fileInfo, offset, maxCount, filter, fileInfoVec); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + EXPECT_GT(fileInfoVec.size(), OHOS::FileAccessFwk::ERR_OK); + GTEST_LOG_(INFO) << "ListFile_0000 result:" << fileInfoVec.size() << endl; + result = g_fah->Delete(newDirUriTest); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_ListFile_0000 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_ListFile_0000"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_ListFile_0001 + * @tc.name: medialibrary_file_access_ListFile_0001 + * @tc.desc: Test function of ListFile interface for ERROR which Uri is nullptr. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_ListFile_0001, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_ListFile_0001"; + try { + Uri sourceFileUri(""); + FileInfo fileInfo; + fileInfo.uri = sourceFileUri.ToString(); + int64_t offset = 0; + int64_t maxCount = 1000; + vector fileInfoVec; + FileFilter filter({}, {}, {}, 0, 0, false, false); + int result = g_fah->ListFile(fileInfo, offset, maxCount, filter, fileInfoVec); + EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); + EXPECT_EQ(fileInfoVec.size(), OHOS::FileAccessFwk::ERR_OK); + GTEST_LOG_(INFO) << "ListFile_0001 result:" << fileInfoVec.size() << endl; + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_ListFile_0001 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_ListFile_0001"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_ListFile_0002 + * @tc.name: medialibrary_file_access_ListFile_0002 + * @tc.desc: Test function of ListFile interface for ERROR which sourceFileUri is absolute path. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_ListFile_0002, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_ListFile_0002"; + try { + Uri newDirUriTest(""); + int result = g_fah->Mkdir(g_newDirUri, "test", newDirUriTest); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri testUri(""); + result = g_fah->CreateFile(newDirUriTest, "test.txt", testUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri sourceFileUri("storage/media/100/local/files/Download/test/test.txt"); + FileInfo fileInfo; + fileInfo.uri = sourceFileUri.ToString(); + int64_t offset = 0; + int64_t maxCount = 1000; + vector fileInfoVec; + FileFilter filter({}, {}, {}, 0, 0, false, false); + result = g_fah->ListFile(fileInfo, offset, maxCount, filter, fileInfoVec); + EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); + EXPECT_EQ(fileInfoVec.size(), OHOS::FileAccessFwk::ERR_OK); + GTEST_LOG_(INFO) << "ListFile_0002 result:" << fileInfoVec.size() << endl; + result = g_fah->Delete(newDirUriTest); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_ListFile_0002 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_ListFile_0002"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_ListFile_0003 + * @tc.name: medialibrary_file_access_ListFile_0003 + * @tc.desc: Test function of ListFile interface for ERROR which sourceFileUri is special symbols. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_ListFile_0003, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_ListFile_0003"; + try { + Uri sourceFileUri("~!@#$%^&*()_"); + FileInfo fileInfo; + fileInfo.uri = sourceFileUri.ToString(); + int64_t offset = 0; + int64_t maxCount = 1000; + vector fileInfoVec; + FileFilter filter; + int result = g_fah->ListFile(fileInfo, offset, maxCount, filter, fileInfoVec); + EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); + EXPECT_EQ(fileInfoVec.size(), OHOS::FileAccessFwk::ERR_OK); + GTEST_LOG_(INFO) << "ListFile_0003 result:" << fileInfoVec.size() << endl; + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_ListFile_0003 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_ListFile_0003"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_ListFile_0004 + * @tc.name: medialibrary_file_access_ListFile_0004 + * @tc.desc: Test function of ListFile interface for ERROR which add filter. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000HB855 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_ListFile_0004, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_ListFile_0004"; + try { + Uri newDirUriTest(""); + int result = g_fah->Mkdir(g_newDirUri, "test", newDirUriTest); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri testUri1(""); + result = g_fah->CreateFile(newDirUriTest, "medialibrary_file_access_ListFile_0004.txt", testUri1); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri testUri2(""); + result = g_fah->CreateFile(newDirUriTest, "medialibrary_file_access_ListFile_0004.docx", testUri2); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + FileInfo fileInfo; + fileInfo.uri = newDirUriTest.ToString(); + int64_t offset = 0; + int64_t maxCount = 1000; + std::vector fileInfoVec; + FileFilter filter({".txt"}, {}, {}, 0, 0, false, true); + result = g_fah->ListFile(fileInfo, offset, maxCount, filter, fileInfoVec); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + EXPECT_EQ(fileInfoVec.size(), 1); + result = g_fah->Delete(newDirUriTest); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_ListFile_0004 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_ListFile_0004"; +} + +void ListFileTdd(shared_ptr fahs, FileInfo fileInfo, int offset, int maxCount, + FileFilter filter, std::vector fileInfoVec) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_ListFileTdd"; + int ret = fahs->ListFile(fileInfo, offset, maxCount, filter, fileInfoVec); + if (ret != OHOS::FileAccessFwk::ERR_OK) { + GTEST_LOG_(ERROR) << "ListFileTdd get result error, code:" << ret; + return; + } + EXPECT_EQ(ret, OHOS::FileAccessFwk::ERR_OK); + EXPECT_EQ(fileInfoVec.size(), 1); + g_num++; + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_ListFileTdd"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_ListFile_0005 + * @tc.name: medialibrary_file_access_ListFile_0005 + * @tc.desc: Test function of ListFile interface for ERROR which Concurrent. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_ListFile_0005, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_ListFile_0005"; + try { + Uri newDirUriTest(""); + int result = g_fah->Mkdir(g_newDirUri, "test", newDirUriTest); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri testUri1(""); + result = g_fah->CreateFile(newDirUriTest, "medialibrary_file_access_ListFile_0005.txt", testUri1); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri testUri2(""); + result = g_fah->CreateFile(newDirUriTest, "medialibrary_file_access_ListFile_0005.docx", testUri2); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + FileInfo fileInfo; + fileInfo.uri = newDirUriTest.ToString(); + int64_t offset = 0; + int64_t maxCount = 1000; + std::vector fileInfoVec; + g_num = 0; + FileFilter filter({".txt"}, {}, {}, 0, 0, false, true); + for (int j = 0; j < INIT_THREADS_NUMBER; j++) { + std::thread execthread(ListFileTdd, g_fah, fileInfo, offset, maxCount, filter, fileInfoVec); + execthread.join(); + } + EXPECT_GE(g_num, ACTUAL_SUCCESS_THREADS_NUMBER); + result = g_fah->Delete(newDirUriTest); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_ListFile_0005 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_ListFile_0005"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_ScanFile_0000 + * @tc.name: medialibrary_file_access_ScanFile_0000 + * @tc.desc: Test function of ScanFile interface for SUCCESS which scan root directory with filter. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000HB866 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_ScanFile_0000, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_ScanFile_0000"; + try { + Uri newDirUriTest(""); + int result = g_fah->Mkdir(g_newDirUri, "test", newDirUriTest); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri testUri(""); + FileInfo fileInfo; + result = g_fah->CreateFile(newDirUriTest, "medialibrary_file_access_ScanFile_0000.q1w2e3r4", testUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->CreateFile(newDirUriTest, "medialibrary_file_access_ScanFile_0000.txt", testUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + fileInfo.uri = "datashare:///media/root"; + int64_t offset = 0; + int64_t maxCount = 1000; + std::vector fileInfoVec; + FileFilter filter({".q1w2e3r4"}, {}, {}, 0, 0, false, true); + result = g_fah->ScanFile(fileInfo, offset, maxCount, filter, fileInfoVec); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + EXPECT_GE(fileInfoVec.size(), 1); + GTEST_LOG_(INFO) << "ScanFile_0000 result:" << fileInfoVec.size() << endl; + result = g_fah->Delete(newDirUriTest); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_ScanFile_0000 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_ScanFile_0000"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_ScanFile_0001 + * @tc.name: medialibrary_file_access_ScanFile_0001 + * @tc.desc: Test function of ScanFile interface for SUCCESS which scan root directory with no filter. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000HB866 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_ScanFile_0001, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_ScanFile_0001"; + try { + Uri newDirUriTest(""); + int result = g_fah->Mkdir(g_newDirUri, "test", newDirUriTest); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri testUri(""); + FileInfo fileInfo; + fileInfo.uri = "datashare:///media/root"; + result = g_fah->CreateFile(newDirUriTest, "medialibrary_file_access_ScanFile_0001.q1w2e3r4", testUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->CreateFile(newDirUriTest, "medialibrary_file_access_ScanFile_0001.txt", testUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + int64_t offset = 0; + int64_t maxCount = 1000; + std::vector fileInfoVec; + FileFilter filter({}, {}, {}, 0, 0, false, false); + result = g_fah->ScanFile(fileInfo, offset, maxCount, filter, fileInfoVec); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + EXPECT_GE(fileInfoVec.size(), 2); + GTEST_LOG_(INFO) << "ScanFile_0000 result:" << fileInfoVec.size() << endl; + result = g_fah->Delete(newDirUriTest); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_ScanFile_0001 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_ScanFile_0001"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_ScanFile_0002 + * @tc.name: medialibrary_file_access_ScanFile_0002 + * @tc.desc: Test function of ScanFile interface for SUCCESS which self created directory with filter. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000HB866 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_ScanFile_0002, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_ScanFile_0002"; + try { + Uri newDirUriTest(""); + int result = g_fah->Mkdir(g_newDirUri, "test", newDirUriTest); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri testUri(""); + result = g_fah->CreateFile(newDirUriTest, "medialibrary_file_access_ScanFile_0002.q1w2e3r4", testUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->CreateFile(newDirUriTest, "medialibrary_file_access_ScanFile_0000.txt", testUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->CreateFile(newDirUriTest, "medialibrary_file_access_ScanFile_0000.docx", testUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + FileInfo fileInfo; + fileInfo.uri = newDirUriTest.ToString(); + int64_t offset = 0; + int64_t maxCount = 1000; + std::vector fileInfoVec; + FileFilter filter({".q1w2e3r4"}, {}, {}, 0, 0, false, true); + result = g_fah->ScanFile(fileInfo, offset, maxCount, filter, fileInfoVec); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + EXPECT_EQ(fileInfoVec.size(), 1); + FileFilter filter1({".q1w2e3r4", ".txt"}, {}, {}, 0, 0, false, true); + result = g_fah->ScanFile(fileInfo, offset, maxCount, filter1, fileInfoVec); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + EXPECT_EQ(fileInfoVec.size(), 2); + GTEST_LOG_(INFO) << "ScanFile_0002 result:" << fileInfoVec.size() << endl; + result = g_fah->Delete(newDirUriTest); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_ScanFile_0002 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_ScanFile_0002"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_ScanFile_0003 + * @tc.name: medialibrary_file_access_ScanFile_0003 + * @tc.desc: Test function of ScanFile interface for SUCCESS which self created directory with filter. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000HB866 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_ScanFile_0003, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_ScanFile_0003"; + try { + Uri newDirUriTest(""); + int result = g_fah->Mkdir(g_newDirUri, "test", newDirUriTest); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri testUri(""); + result = g_fah->CreateFile(newDirUriTest, "medialibrary_file_access_ScanFile_0003.q1w2e3r4", testUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + FileInfo fileInfo; + fileInfo.uri = newDirUriTest.ToString(); + int64_t offset = 0; + int64_t maxCount = 1000; + std::vector fileInfoVec; + FileFilter filter({".q1w2e3r4"}, {}, {}, 0, 0, false, true); + result = g_fah->ScanFile(fileInfo, offset, maxCount, filter, fileInfoVec); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + EXPECT_EQ(fileInfoVec.size(), 1); + GTEST_LOG_(INFO) << "ScanFile_0003 result:" << fileInfoVec.size() << endl; + result = g_fah->Delete(newDirUriTest); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_ScanFile_0003 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_ScanFile_0003"; +} + +void ScanFileTdd(shared_ptr fahs, FileInfo fileInfo, int offset, int maxCount, + FileFilter filter, std::vector fileInfoVec) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_ScanFileTdd"; + int ret = fahs->ScanFile(fileInfo, offset, maxCount, filter, fileInfoVec); + if (ret != OHOS::FileAccessFwk::ERR_OK) { + GTEST_LOG_(ERROR) << "ScanFileTdd get result error, code:" << ret; + return; + } + EXPECT_EQ(ret, OHOS::FileAccessFwk::ERR_OK); + EXPECT_EQ(fileInfoVec.size(), 1); + g_num++; + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_ScanFileTdd"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_ScanFile_0004 + * @tc.name: medialibrary_file_access_ScanFile_0004 + * @tc.desc: Test function of ScanFile interface for SUCCESS which scan root directory with Concurrent. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000HB866 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_ScanFile_0004, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_ScanFile_0004"; + try { + Uri newDirUriTest(""); + int result = g_fah->Mkdir(g_newDirUri, "test", newDirUriTest); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri testUri(""); + FileInfo fileInfo; + result = g_fah->CreateFile(newDirUriTest, "medialibrary_file_access_ScanFile_0000.q1w2e3r4", testUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + result = g_fah->CreateFile(newDirUriTest, "medialibrary_file_access_ScanFile_0000.txt", testUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + fileInfo.uri = "datashare:///media/root"; + int64_t offset = 0; + int64_t maxCount = 1000; + std::vector fileInfoVec; + FileFilter filter({".q1w2e3r4"}, {}, {}, 0, 0, false, true); + g_num = 0; + for (int j = 0; j < INIT_THREADS_NUMBER; j++) { + std::thread execthread(ScanFileTdd, g_fah, fileInfo, offset, maxCount, filter, fileInfoVec); + execthread.join(); + } + EXPECT_GE(g_num, ACTUAL_SUCCESS_THREADS_NUMBER); + result = g_fah->Delete(newDirUriTest); + EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_ScanFile_0004 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_ScanFile_0004"; +} + +/** + * @tc.number: user_file_service_medialibrary_file_access_GetRoots_0000 + * @tc.name: medialibrary_file_access_GetRoots_0000 + * @tc.desc: Test function of GetRoots interface for SUCCESS. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: SR000H0386 + */ +HWTEST_F(FileAccessHelperTest, medialibrary_file_access_GetRoots_0000, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileAccessHelperTest-begin medialibrary_file_access_GetRoots_0000"; + try { + uint64_t selfTokenId = GetSelfTokenID(); + vector info; + int result = g_fah->GetRoots(info); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + EXPECT_GT(info.size(), OHOS::FileAccessFwk::ERR_OK); + if (info.size() > OHOS::FileAccessFwk::ERR_OK) { + GTEST_LOG_(INFO) << info[0].uri; + GTEST_LOG_(INFO) << info[0].displayName; + GTEST_LOG_(INFO) << info[0].deviceType; + GTEST_LOG_(INFO) << info[0].deviceFlags; + } + string uri = "datashare:///media/root"; + string displayName = "LOCAL"; + EXPECT_EQ(info[0].uri, uri); + EXPECT_EQ(info[0].displayName, displayName); + EXPECT_EQ(info[0].deviceType, DEVICE_LOCAL_DISK); + EXPECT_EQ(info[0].deviceFlags, DEVICE_FLAG_SUPPORTS_READ | DEVICE_FLAG_SUPPORTS_WRITE); + SetSelfTokenID(selfTokenId); + } catch (...) { + GTEST_LOG_(ERROR) << "medialibrary_file_access_GetRoots_0000 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileAccessHelperTest-end medialibrary_file_access_GetRoots_0000"; +} +} // namespace \ No newline at end of file