diff --git a/interfaces/inner_api/file_access/include/file_access_ext_ability.h b/interfaces/inner_api/file_access/include/file_access_ext_ability.h index 783dc1387be3922893c767acf18e123389d0aa21..54ee7dd7b13311d7892f15088cbed32c1d10ef66 100644 --- a/interfaces/inner_api/file_access/include/file_access_ext_ability.h +++ b/interfaces/inner_api/file_access/include/file_access_ext_ability.h @@ -61,6 +61,9 @@ public: virtual int GetRoots(std::vector &rootInfoVec); virtual int Access(const Uri &uri, bool &isExist); static void SetCreator(const CreatorFunc& creator); + virtual int StartWatcher(const Uri &uri); + virtual int StopWatcher(const Uri &uri); + virtual int Notify(Uri &uri, std::string eventType); private: static CreatorFunc creator_; }; diff --git a/interfaces/inner_api/file_access/include/file_access_ext_proxy.h b/interfaces/inner_api/file_access/include/file_access_ext_proxy.h index fb3c6f14940989283cf938a425233cd52dfc593f..9223f9e971787bd6446f7dc13c0ceb9b460a476e 100644 --- a/interfaces/inner_api/file_access/include/file_access_ext_proxy.h +++ b/interfaces/inner_api/file_access/include/file_access_ext_proxy.h @@ -56,6 +56,8 @@ public: virtual int GetFileInfoFromRelativePath(const std::string &selectFile, FileInfo &fileInfo) override; virtual int GetRoots(std::vector &rootInfoVec) override; virtual int Access(const Uri &uri, bool &isExist) override; + virtual int StartWatcher(const Uri &uri) override; + virtual int StopWatcher(const Uri &uri) override; private: static inline BrokerDelegator delegator_; }; diff --git a/interfaces/inner_api/file_access/include/file_access_ext_stub.h b/interfaces/inner_api/file_access/include/file_access_ext_stub.h index 4313a9d2e083d08d6f1b2a1242d8b7bf72883f7e..f804c1fddbb767bac08f5e80ed9af5ab0f860e97 100644 --- a/interfaces/inner_api/file_access/include/file_access_ext_stub.h +++ b/interfaces/inner_api/file_access/include/file_access_ext_stub.h @@ -50,6 +50,8 @@ private: ErrCode CmdGetFileInfoFromRelativePath(MessageParcel &data, MessageParcel &reply); ErrCode CmdGetRoots(MessageParcel &data, MessageParcel &reply); ErrCode CmdAccess(MessageParcel &data, MessageParcel &reply); + ErrCode CmdStartWatcher(MessageParcel &data, MessageParcel &reply); + ErrCode CmdStopWatcher(MessageParcel &data, MessageParcel &reply); bool CheckCallingPermission(const std::string &permission); using RequestFuncType = int (FileAccessExtStub::*)(MessageParcel &data, MessageParcel &reply); std::map stubFuncMap_; diff --git a/interfaces/inner_api/file_access/include/file_access_ext_stub_impl.h b/interfaces/inner_api/file_access/include/file_access_ext_stub_impl.h index 68cbfe50679689bc76dbda0d4147418554aa3f9f..9acb2c65b1467240a209f410c1e03e04f2a98228 100644 --- a/interfaces/inner_api/file_access/include/file_access_ext_stub_impl.h +++ b/interfaces/inner_api/file_access/include/file_access_ext_stub_impl.h @@ -54,6 +54,8 @@ public: int GetFileInfoFromRelativePath(const std::string &selectFile, FileInfo &fileInfo) override; int GetRoots(std::vector &rootInfoVec) override; int Access(const Uri &uri, bool &isExist) override; + int StartWatcher(const Uri &uri) override; + int StopWatcher(const Uri &uri) override; private: std::shared_ptr GetOwner(); diff --git a/interfaces/inner_api/file_access/include/file_access_helper.h b/interfaces/inner_api/file_access/include/file_access_helper.h index 21c494714506428047c0f07f45abda4c899b9d68..e8330a719bd5392b9a69436d7d1ca3a008de76c6 100644 --- a/interfaces/inner_api/file_access/include/file_access_helper.h +++ b/interfaces/inner_api/file_access/include/file_access_helper.h @@ -85,6 +85,8 @@ public: int GetFileInfoFromUri(Uri &selectFile, FileInfo &fileInfo); int GetFileInfoFromRelativePath(std::string &selectFile, FileInfo &fileInfo); int GetRoots(std::vector &rootInfoVec); + int StartWatcher(Uri &uri); + int StopWatcher(Uri &uri); private: sptr GetProxyByUri(Uri &uri); sptr GetProxyByBundleName(const std::string &bundleName); diff --git a/interfaces/inner_api/file_access/include/ifile_access_ext_base.h b/interfaces/inner_api/file_access/include/ifile_access_ext_base.h index c884566bb2388fdbc30e3482ab3ef2acce501bfc..6e1fe22f53861dbcd6d1bbdd717b75ae02b6fd9f 100644 --- a/interfaces/inner_api/file_access/include/ifile_access_ext_base.h +++ b/interfaces/inner_api/file_access/include/ifile_access_ext_base.h @@ -46,6 +46,8 @@ public: CMD_RENAME, CMD_LIST_FILE, CMD_SCAN_FILE, + CMD_START_WATCHER, + CMD_STOP_WATCHER, CMD_QUERY, CMD_GET_ROOTS, CMD_ACCESS, @@ -72,6 +74,8 @@ public: virtual int GetFileInfoFromRelativePath(const std::string &selectFile, FileInfo &fileInfo) = 0; virtual int GetRoots(std::vector &rootInfoVec) = 0; virtual int Access(const Uri &uri, bool &isExist) = 0; + virtual int StartWatcher(const Uri &uri) = 0; + virtual int StopWatcher(const Uri &uri) = 0; }; } // namespace FileAccessFwk } // namespace OHOS diff --git a/interfaces/inner_api/file_access/include/js_file_access_ext_ability.h b/interfaces/inner_api/file_access/include/js_file_access_ext_ability.h index 097771a27bac3bfea26ecdb26e935b8a1f3cbd75..70e7d1265a9c16dcdd54a6a49ddb2c57df47af2e 100644 --- a/interfaces/inner_api/file_access/include/js_file_access_ext_ability.h +++ b/interfaces/inner_api/file_access/include/js_file_access_ext_ability.h @@ -72,11 +72,15 @@ public: int GetRoots(std::vector &rootInfoVec) override; int Access(const Uri &uri, bool &isExist) override; int Query(const Uri &uri, std::vector &columns, std::vector &results) override; + int StartWatcher(const Uri &uri) override; + int StopWatcher(const Uri &uri) override; private: + void CreateWatcher(const Uri &uri); NativeValue* CallObjectMethod(const char *name, NativeValue * const *argv = nullptr, size_t argc = 0); int CallJsMethod(const std::string &funcName, JsRuntime &jsRuntime, NativeReference *jsObj, InputArgsParser argParser, ResultValueParser retParser); + static NativeValue* FuncCallback(NativeEngine *engine, NativeCallbackInfo *info); void GetSrcPath(std::string &srcPath); JsRuntime &jsRuntime_; diff --git a/interfaces/inner_api/file_access/src/file_access_ext_ability.cpp b/interfaces/inner_api/file_access/src/file_access_ext_ability.cpp index 21e68af2f32da0c8fe8224e70b4302b34cb7f344..f16b1829df7041abc3275ec4b28313b45dc4c9d7 100644 --- a/interfaces/inner_api/file_access/src/file_access_ext_ability.cpp +++ b/interfaces/inner_api/file_access/src/file_access_ext_ability.cpp @@ -152,5 +152,25 @@ int FileAccessExtAbility::Access(const Uri &uri, bool &isExist) HILOG_ERROR("FileAccessExtAbility::IsFileExist Undefined operation"); return EPERM; } + +int FileAccessExtAbility::StartWatcher(const Uri &uri) +{ + HILOG_ERROR("FileAccessExtAbility::IsFileExist Undefined operation"); + return EPERM; +} + +int FileAccessExtAbility::StopWatcher(const Uri &uri) +{ + HILOG_ERROR("FileAccessExtAbility::IsFileExist Undefined operation"); + return EPERM; +} + +int FileAccessExtAbility::Notify(Uri &uri, std::string eventType) +{ + StartTrace(HITRACE_TAG_FILEMANAGEMENT, "Notify"); + HILOG_ERROR("cjw notify uri = %{public}s, eventType = %{public}s", uri.ToString().c_str(), eventType.c_str()); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return 0; +} } // namespace FileAccessFwk } // namespace OHOS diff --git a/interfaces/inner_api/file_access/src/file_access_ext_proxy.cpp b/interfaces/inner_api/file_access/src/file_access_ext_proxy.cpp index 4c22353746d616bff3eed94ef4d0a24c77f3d281..81fa0ab1f95f144cc254463abc2072e7163b4eb1 100644 --- a/interfaces/inner_api/file_access/src/file_access_ext_proxy.cpp +++ b/interfaces/inner_api/file_access/src/file_access_ext_proxy.cpp @@ -16,7 +16,6 @@ #include "file_access_ext_proxy.h" #include "file_access_framework_errno.h" -#include "file_access_extension_info.h" #include "hilog_wrapper.h" #include "hitrace_meter.h" #include "ipc_types.h" @@ -647,11 +646,6 @@ int FileAccessExtProxy::Query(const Uri &uri, std::vector &columns, FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return E_IPCS; } - if (count > FILE_RESULT_TYPE.size()) { - HILOG_ERROR(" The number of query operations exceeds %{public}d ", FILE_RESULT_TYPE.size()); - FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return EINVAL; - } for (const auto &column : columns) { if (!data.WriteString(column)) { @@ -944,5 +938,92 @@ int FileAccessExtProxy::Access(const Uri &uri, bool &isExist) FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return ERR_OK; } + +int FileAccessExtProxy::StartWatcher(const Uri &uri) +{ + StartTrace(HITRACE_TAG_FILEMANAGEMENT, "StartWatcher"); + MessageParcel data; + if (!data.WriteInterfaceToken(FileAccessExtProxy::GetDescriptor())) { + HILOG_ERROR("WriteInterfaceToken failed"); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return E_IPCS; + } + + std::string uriString = uri.ToString(); + HILOG_ERROR("cjw uristring = %{public}s", uriString.c_str()); + if (!data.WriteString(uriString)) { + HILOG_ERROR("fail to WriteParcelable uri"); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return E_IPCS; + } + + MessageParcel reply; + MessageOption option; + int err = Remote()->SendRequest(CMD_START_WATCHER, data, reply, option); + if (err != ERR_OK) { + HILOG_ERROR("fail to SendRequest. err: %{public}d", err); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return err; + } + + int ret = E_IPCS; + if (!reply.ReadInt32(ret)) { + HILOG_ERROR("fail to ReadInt32 ret"); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return E_IPCS; + } + + if (ret != ERR_OK) { + HILOG_ERROR("StartWatcher operation failed ret : %{public}d", ret); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return ret; + } + + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return ERR_OK; +} + +int FileAccessExtProxy::StopWatcher(const Uri &uri) +{ + StartTrace(HITRACE_TAG_FILEMANAGEMENT, "StopWatcher"); + MessageParcel data; + if (!data.WriteInterfaceToken(FileAccessExtProxy::GetDescriptor())) { + HILOG_ERROR("WriteInterfaceToken failed"); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return E_IPCS; + } + + std::string uriString = uri.ToString(); + if (!data.WriteString(uriString)) { + HILOG_ERROR("fail to WriteParcelable uri"); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return E_IPCS; + } + + MessageParcel reply; + MessageOption option; + int err = Remote()->SendRequest(CMD_STOP_WATCHER, data, reply, option); + if (err != ERR_OK) { + HILOG_ERROR("fail to SendRequest. err: %{public}d", err); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return err; + } + + int ret = E_IPCS; + if (!reply.ReadInt32(ret)) { + HILOG_ERROR("fail to ReadInt32 ret"); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return E_IPCS; + } + + if (ret != ERR_OK) { + HILOG_ERROR("StopWatcher operation failed ret : %{public}d", ret); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return ret; + } + + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return ERR_OK; +} } // namespace FileAccessFwk } // namespace OHOS diff --git a/interfaces/inner_api/file_access/src/file_access_ext_stub.cpp b/interfaces/inner_api/file_access/src/file_access_ext_stub.cpp index 107d15675a159105b66b8a407563d0a1ac158f03..abf5ee63040054bb985f95a9e0f4c012f65f7f6a 100644 --- a/interfaces/inner_api/file_access/src/file_access_ext_stub.cpp +++ b/interfaces/inner_api/file_access/src/file_access_ext_stub.cpp @@ -45,6 +45,8 @@ FileAccessExtStub::FileAccessExtStub() { stubFuncMap_[CMD_OPEN_FILE] = &FileAccessExtStub::CmdOpenFile; stubFuncMap_[CMD_CREATE_FILE] = &FileAccessExtStub::CmdCreateFile; + stubFuncMap_[CMD_START_WATCHER] = &FileAccessExtStub::CmdStartWatcher; + stubFuncMap_[CMD_STOP_WATCHER] = &FileAccessExtStub::CmdStopWatcher; stubFuncMap_[CMD_MKDIR] = &FileAccessExtStub::CmdMkdir; stubFuncMap_[CMD_DELETE] = &FileAccessExtStub::CmdDelete; stubFuncMap_[CMD_MOVE] = &FileAccessExtStub::CmdMove; @@ -567,11 +569,6 @@ ErrCode FileAccessExtStub::CmdQuery(MessageParcel &data, MessageParcel &reply) FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return E_IPCS; } - if (count > FILE_RESULT_TYPE.size()) { - HILOG_ERROR(" The number of query operations exceeds %{public}d ", FILE_RESULT_TYPE.size()); - FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return EINVAL; - } std::vector columns; for (int64_t i = 0; i < count; i++) { columns.push_back(data.ReadString()); @@ -721,6 +718,62 @@ ErrCode FileAccessExtStub::CmdAccess(MessageParcel &data, MessageParcel &reply) return ERR_OK; } +ErrCode FileAccessExtStub::CmdStartWatcher(MessageParcel &data, MessageParcel &reply) +{ + StartTrace(HITRACE_TAG_FILEMANAGEMENT, "CmdStartWatcher"); + std::string uriString; + if (!data.ReadString(uriString)) { + HILOG_ERROR("Parameter StartWatcher fail to ReadParcelable uri"); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return E_IPCS; + } + HILOG_ERROR("cjw uriString = %{public}s", uriString.c_str()); + + if (uriString.empty()) { + HILOG_ERROR("Parameter StartWatcher insideInputUri is empty"); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return EINVAL; + } + + Uri uri(uriString); + int ret = StartWatcher(uri); + if (!reply.WriteInt32(ret)) { + HILOG_ERROR("Parameter StartWatcher fail to WriteInt32 ret"); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return E_IPCS; + } + + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return ERR_OK; +} + +ErrCode FileAccessExtStub::CmdStopWatcher(MessageParcel &data, MessageParcel &reply) +{ + StartTrace(HITRACE_TAG_FILEMANAGEMENT, "CmdStopWatcher"); + std::string uriString; + if (!data.ReadString(uriString)) { + HILOG_ERROR("Parameter StopWatcher fail to ReadParcelable uri"); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return E_IPCS; + } + + if (uriString.empty()) { + HILOG_ERROR("Parameter StopWatcher insideInputUri is empty"); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return EINVAL; + } + + Uri uri(uriString); + int ret = StopWatcher(uri); + if (!reply.WriteInt32(ret)) { + HILOG_ERROR("Parameter StopWatcher fail to WriteInt32 ret"); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return E_IPCS; + } + + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return ERR_OK; +} bool FileAccessExtStub::CheckCallingPermission(const std::string &permission) { StartTrace(HITRACE_TAG_FILEMANAGEMENT, "CheckCallingPermission"); diff --git a/interfaces/inner_api/file_access/src/file_access_ext_stub_impl.cpp b/interfaces/inner_api/file_access/src/file_access_ext_stub_impl.cpp index e3c498bd1efa9a32618d7c5e3ac3c1bf594e1fa3..5e6083acb45742c3a0bead5db2a005366b71529e 100644 --- a/interfaces/inner_api/file_access/src/file_access_ext_stub_impl.cpp +++ b/interfaces/inner_api/file_access/src/file_access_ext_stub_impl.cpp @@ -246,5 +246,33 @@ int FileAccessExtStubImpl::Access(const Uri &uri, bool &isExist) FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return ret; } + +int FileAccessExtStubImpl::StartWatcher(const Uri &uri) +{ + StartTrace(HITRACE_TAG_FILEMANAGEMENT, "StartWatcher"); + if (extension_ == nullptr) { + HILOG_ERROR("StartWatcher get extension failed."); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return E_IPCS; + } + + int ret = extension_->StartWatcher(uri); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return ret; +} + +int FileAccessExtStubImpl::StopWatcher(const Uri &uri) +{ + StartTrace(HITRACE_TAG_FILEMANAGEMENT, "StopWatcher"); + if (extension_ == nullptr) { + HILOG_ERROR("StopWatcher get extension failed."); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return E_IPCS; + } + + int ret = extension_->StopWatcher(uri); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return ret; +} } // namespace FileAccessFwk } // namespace OHOS diff --git a/interfaces/inner_api/file_access/src/file_access_helper.cpp b/interfaces/inner_api/file_access/src/file_access_helper.cpp index 93e1d27934ec99f27f54e9e4501baa82df6eaa09..ba037c606cfd34488c9a5e616636d1606839d779 100644 --- a/interfaces/inner_api/file_access/src/file_access_helper.cpp +++ b/interfaces/inner_api/file_access/src/file_access_helper.cpp @@ -1187,6 +1187,72 @@ int FileAccessHelper::GetFileInfoFromRelativePath(std::string &selectFile, FileI return ERR_OK; } +int FileAccessHelper::StartWatcher(Uri &uri) +{ + StartTrace(HITRACE_TAG_FILEMANAGEMENT, "StartWatcher"); + if (!IsSystemApp()) { + HILOG_ERROR("cjw FileAccessHelper::StartWatcher check IsSystemAppByFullTokenID failed"); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return E_PERMISSION_SYS; + } + + // if (!CheckUri(uri)) { + // HILOG_ERROR("Uri format check error."); + // FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + // return E_URIS; + // } + + sptr fileExtProxy = GetProxyByUri(uri); + if (fileExtProxy == nullptr) { + HILOG_ERROR("failed with invalid fileAccessExtProxy"); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return E_IPCS; + } + + int ret = fileExtProxy->StartWatcher(uri); + if (ret != ERR_OK) { + HILOG_ERROR("Delete get result error, code:%{public}d", ret); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return ret; + } + + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return ERR_OK; +} + +int FileAccessHelper::StopWatcher(Uri &uri) +{ + StartTrace(HITRACE_TAG_FILEMANAGEMENT, "StopWatcher"); + if (!IsSystemApp()) { + HILOG_ERROR("FileAccessHelper::StopWatcher check IsSystemAppByFullTokenID failed"); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return E_PERMISSION_SYS; + } + + // if (!CheckUri(uri)) { + // HILOG_ERROR("Uri format check error."); + // FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + // return E_URIS; + // } + + sptr fileExtProxy = GetProxyByUri(uri); + if (fileExtProxy == nullptr) { + HILOG_ERROR("failed with invalid fileAccessExtProxy"); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return E_IPCS; + } + + int ret = fileExtProxy->StopWatcher(uri); + if (ret != ERR_OK) { + HILOG_ERROR("Delete get result error, code:%{public}d", ret); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return ret; + } + + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return ERR_OK; +} + void FileAccessDeathRecipient::OnRemoteDied(const wptr &remote) { if (handler_) { diff --git a/interfaces/inner_api/file_access/src/js_file_access_ext_ability.cpp b/interfaces/inner_api/file_access/src/js_file_access_ext_ability.cpp index 231cc6ff1d093128d56a6f0a1b8e089d7f218153..05cc41c8a2f1462da6f47f7970024005ddd90001 100644 --- a/interfaces/inner_api/file_access/src/js_file_access_ext_ability.cpp +++ b/interfaces/inner_api/file_access/src/js_file_access_ext_ability.cpp @@ -107,6 +107,73 @@ void JsFileAccessExtAbility::OnStart(const AAFwk::Want &want) FinishTrace(HITRACE_TAG_FILEMANAGEMENT); } +NativeValue* JsFileAccessExtAbility::FuncCallback(NativeEngine* engine, NativeCallbackInfo* info) +{ + StartTrace(HITRACE_TAG_FILEMANAGEMENT, "FuncCallback"); + if (engine == nullptr) { + HILOG_ERROR("NativeEngine pointer is null."); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return nullptr; + } + + if (info == nullptr) { + HILOG_ERROR("invalid param."); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return engine->CreateUndefined(); + } + + if (info->argc != ARGC_TWO) { + HILOG_ERROR("invalid args."); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return engine->CreateUndefined(); + } + + std::string uriString = UnwrapStringFromJS(reinterpret_cast(engine), + reinterpret_cast(info->argv[ARGC_ZERO])); + std::string notifyType = UnwrapStringFromJS(reinterpret_cast(engine), + reinterpret_cast(info->argv[ARGC_ONE])); + + if (info->functionInfo == nullptr || info->functionInfo->data == nullptr) { + HILOG_ERROR("invalid object."); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return engine->CreateUndefined(); + } + + JsFileAccessExtAbility* jsExtension = static_cast(info->functionInfo->data); + if (jsExtension == nullptr) { + HILOG_ERROR("invalid JsFileAccessExtAbility."); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return engine->CreateUndefined(); + } + + Uri uri(uriString); + auto ret = jsExtension->Notify(uri, notifyType); + if (ret != ERR_OK) { + HILOG_ERROR("JsFileAccessExtAbility notify error, ret:%{public}d", ret); + } + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return engine->CreateUndefined(); +} + +void JsFileAccessExtAbility::CreateWatcher(const Uri &uri) +{ + StartTrace(HITRACE_TAG_FILEMANAGEMENT, "OnStart"); + HandleScope handleScope(jsRuntime_); + napi_env env = reinterpret_cast(&jsRuntime_.GetNativeEngine()); + const std::string funcName = "FuncCallback"; + auto& nativeEngine = jsRuntime_.GetNativeEngine(); + NativeValue *nativeUri = nativeEngine.CreateString(uri.ToString().c_str(), uri.ToString().length()); + if (nativeUri == nullptr) { + HILOG_ERROR("create uri uri native js value fail."); + return false; + } + NativeValue* func = nativeEngine.CreateFunction(funcName.c_str(), funcName.length(), + JsFileAccessExtAbility::FuncCallback, this); + NativeValue* argv[] = {nativeUri, func}; + CallObjectMethod("startWatcher", argv, ARGC_TWO); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); +} + sptr JsFileAccessExtAbility::OnConnect(const AAFwk::Want &want) { StartTrace(HITRACE_TAG_FILEMANAGEMENT, "OnConnect"); @@ -1200,5 +1267,96 @@ int JsFileAccessExtAbility::GetFileInfoFromUri(const Uri &selectFile, FileInfo & FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return ERR_OK; } + +int JsFileAccessExtAbility::StartWatcher(const Uri &uri) +{ + StartTrace(HITRACE_TAG_FILEMANAGEMENT, "StartWatcher"); + CreateWatcher(uri); + // auto ret = std::make_shared(); + // if (ret == nullptr) { + // HILOG_ERROR("StartWatcher value is nullptr."); + // FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + // return E_GETRESULT; + // } + + // auto argParser = [uri = uri](NativeEngine &engine, NativeValue *argv[], size_t &argc) -> bool { + // NativeValue *nativeUri = engine.CreateString(uri.ToString().c_str(), uri.ToString().length()); + // if (nativeUri == nullptr) { + // HILOG_ERROR("create uri uri native js value fail."); + // return false; + // } + // argv[ARGC_ZERO] = nativeUri; + // argc = ARGC_ONE; + // return true; + // }; + // auto retParser = [ret](NativeEngine &engine, NativeValue *result) -> bool { + // bool res = ConvertFromJsValue(engine, result, *ret); + // if (!res) { + // HILOG_ERROR("Convert js value fail."); + // } + // return res; + // }; + + // auto errCode = CallJsMethod("StartWatcher", jsRuntime_, jsObj_.get(), argParser, retParser); + // if (errCode != ERR_OK) { + // HILOG_ERROR("CallJsMethod error, code:%{public}d.", errCode); + // FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + // return errCode; + // } + + // if (*ret != ERR_OK) { + // HILOG_ERROR("fileio fail."); + // FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + // return *ret; + // } + + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return ERR_OK; +} + +int JsFileAccessExtAbility::StopWatcher(const Uri &uri) +{ + StartTrace(HITRACE_TAG_FILEMANAGEMENT, "StopWatcher"); + auto ret = std::make_shared(); + if (ret == nullptr) { + HILOG_ERROR("StopWatcher value is nullptr."); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return E_GETRESULT; + } + + auto argParser = [uri = uri](NativeEngine &engine, NativeValue *argv[], size_t &argc) -> bool { + NativeValue *nativeUri = engine.CreateString(uri.ToString().c_str(), uri.ToString().length()); + if (nativeUri == nullptr) { + HILOG_ERROR("create uri uri native js value fail."); + return false; + } + argv[ARGC_ZERO] = nativeUri; + argc = ARGC_ONE; + return true; + }; + auto retParser = [ret](NativeEngine &engine, NativeValue *result) -> bool { + bool res = ConvertFromJsValue(engine, result, *ret); + if (!res) { + HILOG_ERROR("Convert js value fail."); + } + return res; + }; + + auto errCode = CallJsMethod("StopWatcher", jsRuntime_, jsObj_.get(), argParser, retParser); + if (errCode != ERR_OK) { + HILOG_ERROR("CallJsMethod error, code:%{public}d.", errCode); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return errCode; + } + + if (*ret != ERR_OK) { + HILOG_ERROR("fileio fail."); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return *ret; + } + + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return ERR_OK; +} } // namespace FileAccessFwk } // namespace OHOS diff --git a/services/file_extension_hap/entry/src/main/ets/FileExtensionAbility/FileExtensionAbility.ts b/services/file_extension_hap/entry/src/main/ets/FileExtensionAbility/FileExtensionAbility.ts index cd02eaf7b7467537fc1ed7b19a8daa2836329677..b85a5d38c11c2d306b626250c444f5ec79c869c1 100644 --- a/services/file_extension_hap/entry/src/main/ets/FileExtensionAbility/FileExtensionAbility.ts +++ b/services/file_extension_hap/entry/src/main/ets/FileExtensionAbility/FileExtensionAbility.ts @@ -15,6 +15,7 @@ // @ts-nocheck import Extension from '@ohos.application.FileAccessExtensionAbility'; import fileio from '@ohos.fileio'; +import fs from '@ohos.file.fs'; import { init, delVolumeInfo, getVolumeInfoList, path2uri } from './VolumeManager'; import { onReceiveEvent } from './Subcriber'; import fileExtensionInfo from '@ohos.file.fileExtensionInfo'; @@ -39,6 +40,37 @@ const E_EXIST = 13900015; const E_NOEXIST = 13900002; const E_URIS = 14300002; const E_GETRESULT = 14300004; +let observerMap = new Map(); + +let name2code = new Map([ + ['IN_ACCESS', 0x00000001], + ['IN_MODIFY', 0x00000002], + ['IN_ATTRIB', 0x00000004], + ['IN_CLOSE_WRITE', 0x00000008], + ['IN_CLOSE_NOWRITE', 0x00000010], + ['IN_OPE', 0x00000020], + ['IN_MOVED_FROM', 0x00000040], + ['IN_MOVED_TO', 0x00000080], + ['IN_CREATE', 0x00000100], + ['IN_DELETE', 0x00000200], + ['IN_DELETE_SELF', 0x00000400], + ['IN_MOVE_SELF', 0x00000800] +]) + +let code2name = new Map([ + ['0x00000001', 'IN_ACCESS'], + ['0x00000002', 'IN_MODIFY'], + ['0x00000004', 'IN_ATTRIB'], + ['0x00000008', 'IN_CLOSE_WRITE'], + ['0x00000010', 'IN_CLOSE_NOWRITE'], + ['0x00000020', 'IN_OPE'], + ['0x00000040', 'IN_MOVED_FROM'], + ['0x00000080', 'IN_MOVED_TO'], + ['0x00000100', 'IN_CREATE'], + ['0x00000200', 'IN_DELETE'], + ['0x00000400', 'IN_DELETE_SELF'], + ['0x00000800', 'IN_MOVE_SELF'] +]) export default class FileExtAbility extends Extension { onCreate(want): void { @@ -52,6 +84,14 @@ export default class FileExtAbility extends Extension { }); } + dec2hex(dec, len) { + let hex = dec.toString(16); + if (len) { + while (hex.length < len) hex = '0' + hex; + } + return '0x' + hex; + } + checkUri(uri): boolean { try { let uriTmp = new baseUri.URI(uri); @@ -606,4 +646,59 @@ export default class FileExtAbility extends Extension { code: ERR_OK, }; } + + async startWatcher(uri, callback) { + if (!this.checkUri(uri)) { + return E_URIS; + } + let watchPath = this.getPath(uri); + console.log("cjw path =" + watchPath); + try { + // const onChange = (data) => { + // console.log("cjw onchange in "); + // console.log("cjw" + data.event); + // let eventName = code2name[dec2hex(data.event, 8)]; + // let watchUri = FILE_PREFIX_NAME + BUNDLE_NAME + watchPath; + // callback(watchUri, eventName); + // console.log("cjw1" + NotifyMessage.message); + // } + console.log("cjw aaa start create"); + //let watcher; + //let watcher = await fs.createWatcher(watchPath, 0x00000fff, onChange); + let watcher = fs.createWatcher(watchPath, 0x00000fff, (data) => { + try { + console.log("cjw onchange in "); + console.log("cjw" + data.event); + let eventName = code2name[dec2hex(data.event, 8)]; + let watchUri = FILE_PREFIX_NAME + BUNDLE_NAME + watchPath; + callback(watchUri, eventName); + console.log("cjw1" + eventName); + } catch (e1) { + hilog.error(DOMAIN_CODE, TAG, 'onchange error ' + e1.message); + } + }); + console.log("cjw already create"); + observerMap.set(uri, watcher); + watcher.start(); + } catch (e) { + hilog.error(DOMAIN_CODE, TAG, 'startWatcher error ' + e.message); + return E_URIS; + } + return ERR_OK; + } + + stopWatcher(uri){ + if (!this.checkUri(uri)) { + return E_URIS; + } + try { + let watcher = observerMap.get(uri); + watcher.stop(); + observerMap.delete(uri); + } catch (e) { + hilog.error(DOMAIN_CODE, TAG, 'stopWatcher error ' + e.message); + return E_URIS; + } + return ERR_OK; + } }; \ No newline at end of file diff --git a/test/unittest/external_file_access_test.cpp b/test/unittest/external_file_access_test.cpp index 2067e101473b59a484db98a49f90a2e32a4d379a..0fdb2526cb7dafa9138541db76199cbfd1334e82 100644 --- a/test/unittest/external_file_access_test.cpp +++ b/test/unittest/external_file_access_test.cpp @@ -113,2871 +113,17 @@ public: }; /** - * @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.number: user_file_service_external_file_access_startWatcher_0000 + * @tc.name: external_file_access_startWatcher_0000 + * @tc.desc: Test function of startWatcher interface for SUCCESS. * @tc.size: MEDIUM * @tc.type: FUNC * @tc.level Level 1 * @tc.require: SR000H0386 */ -HWTEST_F(FileExtensionHelperTest, external_file_access_OpenFile_0000, testing::ext::TestSize.Level1) +HWTEST_F(FileExtensionHelperTest, external_file_access_startWatcher_0000, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_OpenFile_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); - GTEST_LOG_(INFO) << parentUri.ToString(); - Uri newDirUriTest1(""); - result = g_fah->Mkdir(parentUri, "test1", newDirUriTest1); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - Uri newFileUri(""); - result = g_fah->CreateFile(newDirUriTest1, "external_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; - close(fd); - result = g_fah->Delete(newDirUriTest1); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - } - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_OpenFile_0000 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_OpenFile_0000"; -} - -/** - * @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, external_file_access_OpenFile_0001, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_OpenFile_0001"; - try { - Uri uri(""); - int fd; - int result = g_fah->OpenFile(uri, WRITE_READ, fd); - EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "OpenFile_0001 result:" << result; - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_OpenFile_0001 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_OpenFile_0001"; -} - -/** - * @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, external_file_access_OpenFile_0002, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_OpenFile_0002"; - 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_0002.txt", newFileUri); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - Uri uri("storage/media/100/local/files/Download/external_file_access_OpenFile_0002.txt"); - int fd; - result = g_fah->OpenFile(uri, WRITE_READ, fd); - EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "OpenFile_0002 result:" << result; - result = g_fah->Delete(newFileUri); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - } - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_OpenFile_0002 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_OpenFile_0002"; -} - -/** - * @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, external_file_access_OpenFile_0003, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_OpenFile_0003"; - try { - Uri uri("~!@#$%^&*()_"); - int fd; - int result = g_fah->OpenFile(uri, WRITE_READ, fd); - EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "OpenFile_0003 result:" << result; - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_OpenFile_0003 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_OpenFile_0003"; -} - -/** - * @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, external_file_access_OpenFile_0004, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_OpenFile_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 newFileUri(""); - result = g_fah->CreateFile(parentUri, "external_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_NE(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "OpenFile_0004 result:" << result; - result = g_fah->Delete(newFileUri); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - } - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_OpenFile_0004 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_OpenFile_0004"; -} - -/** - * @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, external_file_access_OpenFile_0005, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_OpenFile_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(""); - result = g_fah->CreateFile(parentUri, "external_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; - 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"; -} - -/** - * @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; - close(fd); - result = g_fah->Delete(newFileUri); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - } - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_OpenFile_0006 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_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, external_file_access_OpenFile_0007, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_OpenFile_0007"; - 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_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; - 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"; -} - -static 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_(ERROR) << "external_file_access_OpenFile_0008 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_OpenFile_0008"; -} - -static bool ReplaceBundleNameFromPath(std::string &path, const std::string &newName) -{ - Uri uri(path); - std::string scheme = uri.GetScheme(); - if (scheme == FILE_SCHEME_NAME) { - std::string curName = uri.GetAuthority(); - if (curName.empty()) { - return false; - } - path.replace(path.find(curName), curName.length(), newName); - return true; - } - - std::string tPath = uri.GetPath(); - if (tPath.empty()) { - GTEST_LOG_(INFO) << "Uri path error."; - return false; - } - - if (tPath.front() != '/') { - GTEST_LOG_(INFO) << "Uri path format error."; - return false; - } - - auto index = tPath.substr(1).find_first_of("/"); - auto bundleName = tPath.substr(1, index); - if (bundleName.empty()) { - GTEST_LOG_(INFO) << "bundleName empty."; - return false; - } - - path.replace(path.find(bundleName), bundleName.length(), newName); - return true; -} - -/** - * @tc.number: user_file_service_external_file_access_OpenFile_0009 - * @tc.name: external_file_access_OpenFile_0009 - * @tc.desc: Test function of OpenFile interface for FAILED because of GetProxyByUri failed. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_OpenFile_0009, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_OpenFile_0009"; - 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++) { - std::string str = info[i].uri; - if (!ReplaceBundleNameFromPath(str, "ohos.com.NotExistBundleName")) { - GTEST_LOG_(ERROR) << "replace BundleName failed."; - EXPECT_TRUE(false); - } - int fd; - Uri newFileUri(str + "/NotExistFile.txt"); - result = g_fah->OpenFile(newFileUri, WRITE_READ, fd); - EXPECT_EQ(result, OHOS::FileAccessFwk::E_IPCS); - GTEST_LOG_(INFO) << "OpenFile_0009 result:" << result; - } - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_OpenFile_0009 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_OpenFile_0009"; -} - -/** - * @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, external_file_access_CreateFile_0000, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_CreateFile_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 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; - result = g_fah->Delete(newFileUri); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - } - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_CreateFile_0000 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_CreateFile_0000"; -} - -/** - * @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, external_file_access_CreateFile_0001, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_CreateFile_0001"; - try { - Uri newFileUri(""); - Uri parentUri(""); - 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; - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_CreateFile_0001 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_CreateFile_0001"; -} - -/** - * @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, external_file_access_CreateFile_0002, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_CreateFile_0002"; - try { - Uri newFileUri(""); - Uri parentUri("storage/media/100/local/files/Download"); - 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; - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_CreateFile_0002 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_CreateFile_0002"; -} - -/** - * @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, external_file_access_CreateFile_0003, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_CreateFile_0002"; - try { - Uri newFileUri(""); - Uri parentUri("~!@#$%^&*()_"); - 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; - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_CreateFile_0003 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_CreateFile_0003"; -} - -/** - * @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, external_file_access_CreateFile_0004, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_CreateFile_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 newFileUri(""); - string displayName = ""; - result = g_fah->CreateFile(parentUri, displayName, newFileUri); - EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "CreateFile_0004 result:" << result; - } - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_CreateFile_0004 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_CreateFile_0004"; -} - -static 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: 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_CreateFile_0006 - * @tc.name: external_file_access_CreateFile_0006 - * @tc.desc: Test function of CreateFile interface for ERROR because of GetProxyByUri failed. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_CreateFile_0006, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_CreateFile_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++) { - std::string str = info[i].uri; - if (!ReplaceBundleNameFromPath(str, "ohos.com.NotExistBundleName")) { - GTEST_LOG_(ERROR) << "replace BundleName failed."; - EXPECT_TRUE(false); - } - Uri parentUri(str); - Uri newFileUri(""); - string displayName = "test.txt"; - result = g_fah->CreateFile(parentUri, displayName, newFileUri); - EXPECT_EQ(result, OHOS::FileAccessFwk::E_IPCS); - GTEST_LOG_(INFO) << "CreateFile_0006 result:" << result; - } - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_CreateFile_0006 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_CreateFile_0006"; -} - -/** - * @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, external_file_access_Mkdir_0000, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Mkdir_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, "external_file_access_Mkdir_0000", newDirUriTest); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "Mkdir_0000 result:" << result; - result = g_fah->Delete(newDirUriTest); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - } - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_Mkdir_0000 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Mkdir_0000"; -} - -/** - * @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, external_file_access_Mkdir_0001, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Mkdir_0001"; - try { - Uri newDirUriTest(""); - Uri parentUri(""); - 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; - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_Mkdir_0001 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Mkdir_0001"; -} - -/** - * @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, external_file_access_Mkdir_0002, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Mkdir_0002"; - try { - Uri newDirUriTest(""); - Uri parentUri("storage/media/100/local/files/Download"); - 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; - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_Mkdir_0002 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Mkdir_0002"; -} - -/** - * @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, external_file_access_Mkdir_0003, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Mkdir_0002"; - try { - Uri newDirUriTest(""); - Uri parentUri("~!@#$%^&*()_"); - 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; - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_Mkdir_0003 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Mkdir_0003"; -} - -/** - * @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, external_file_access_Mkdir_0004, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Mkdir_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(""); - string displayName = ""; - result = g_fah->Mkdir(parentUri, displayName, newDirUriTest); - EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "Mkdir_0004 result:" << result; - } - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_Mkdir_0004 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Mkdir_0004"; -} - -static 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 external_file_access_Mkdir_0005"; -} - -/** - * @tc.number: user_file_service_external_file_access_Mkdir_0006 - * @tc.name: external_file_access_Mkdir_0006 - * @tc.desc: Test function of Mkdir interface for ERROR because of GetProxyByUri failed. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_Mkdir_0006, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Mkdir_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++) { - std::string str = info[i].uri; - if (!ReplaceBundleNameFromPath(str, "ohos.com.NotExistBundleName")) { - GTEST_LOG_(ERROR) << "replace BundleName failed."; - EXPECT_TRUE(false); - } - Uri parentUri(str); - Uri newDirUriTest(""); - string displayName = ""; - result = g_fah->Mkdir(parentUri, displayName, newDirUriTest); - EXPECT_EQ(result, OHOS::FileAccessFwk::E_IPCS); - GTEST_LOG_(INFO) << "Mkdir_0006 result:" << result; - } - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_Mkdir_0006 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Mkdir_0006"; -} - -/** - * @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, external_file_access_Delete_0000, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Delete_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 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); - GTEST_LOG_(INFO) << "Delete_0000 result:" << result; - result = g_fah->Delete(newDirUriTest); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - } - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_Delete_0000 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Delete_0000"; -} - -/** - * @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, external_file_access_Delete_0001, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Delete_0001"; - 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); - result = g_fah->Delete(newDirUriTest); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "Delete_0001 result:" << result; - } - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_Delete_0001 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Delete_0001"; -} - -/** - * @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, external_file_access_Delete_0002, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Delete_0002"; - try { - Uri selectFileUri(""); - int result = g_fah->Delete(selectFileUri); - EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "Delete_0002 result:" << result; - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_Delete_0002 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Delete_0002"; -} - -/** - * @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, external_file_access_Delete_0003, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Delete_0003"; - 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 selectFileUri("storage/media/100/local/files/Download/test"); - result = g_fah->Delete(selectFileUri); - EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); - result = g_fah->Delete(newDirUriTest); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "Delete_0003 result:" << result; - } - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_Delete_0003 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Delete_0003"; -} - -/** - * @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, external_file_access_Delete_0004, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Delete_0004"; - try { - Uri selectFileUri("!@#$%^&*()"); - int result = g_fah->Delete(selectFileUri); - EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "Delete_0004 result:" << result; - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_Delete_0004 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Delete_0004"; -} - -static 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; - } - EXPECT_EQ(ret, OHOS::FileAccessFwk::ERR_OK); - g_num++; - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_DeleteTdd"; -} - -/** - * @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, 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_Delete_0006 - * @tc.name: external_file_access_Delete_0006 - * @tc.desc: Test function of Delete interface for ERROR because of GetProxyByUri failed. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_Delete_0006, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Delete_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++) { - std::string str = info[i].uri; - if (!ReplaceBundleNameFromPath(str, "ohos.com.NotExistBundleName")) { - GTEST_LOG_(ERROR) << "replace BundleName failed."; - EXPECT_TRUE(false); - } - Uri selectFileUri(str); - int result = g_fah->Delete(selectFileUri); - EXPECT_EQ(result, OHOS::FileAccessFwk::E_IPCS); - GTEST_LOG_(INFO) << "Delete_0006 result:" << result; - } - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_Delete_0006 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Delete_0006"; -} - -/** - * @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 external_file_access_Move_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 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(""); - 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; - 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_(ERROR) << "external_file_access_Move_0000 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Move_0000"; -} - -/** - * @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: SR000H0387 - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_Move_0001, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Move_0001"; - 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(""); - 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; - result = g_fah->Delete(newDirUriTest2); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - } - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_Move_0001 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Move_0001"; -} - -/** - * @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: SR000H0387 - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_Move_0002, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Move_0002"; - 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(""); - Uri sourceFileUri(""); - result = g_fah->Move(sourceFileUri, newDirUriTest, testUri); - EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "Move_0002 result:" << result; - result = g_fah->Delete(newDirUriTest); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - } - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_Move_0002 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Move_0002"; -} - -/** - * @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, external_file_access_Move_0003, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Move_0003"; - 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(""); - 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_NE(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "Move_0003 result:" << result; - 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_(ERROR) << "external_file_access_Move_0003 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Move_0003"; -} - -/** - * @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: SR000H0387 - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_Move_0004, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Move_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(""); - Uri sourceFileUri("~!@#$%^&*()_"); - result = g_fah->Move(sourceFileUri, newDirUriTest, testUri); - EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "Move_0004 result:" << result; - result = g_fah->Delete(newDirUriTest); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - } - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_Move_0004 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Move_0004"; -} - -/** - * @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: SR000H0387 - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_Move_0005, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Move_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, "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_NE(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "Move_0005 result:" << result; - result = g_fah->Delete(newDirUriTest); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - } - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_Move_0005 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Move_0005"; -} - -/** - * @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: SR000H0387 - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_Move_0006, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Move_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 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(""); - 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_NE(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "Move_0006 result:" << result; - 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_(ERROR) << "external_file_access_Move_0006 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Move_0006"; -} - -/** - * @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: SR000H0387 - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_Move_0007, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Move_0007"; - 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(""); - 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_NE(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "Move_0007 result:" << result; - 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_(ERROR) << "external_file_access_Move_0007 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Move_0007"; -} - -/** - * @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: SR000H0387 - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_Move_0008, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Move_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 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(""); - result = g_fah->Move(newDirUriTest1, newDirUriTest2, testUri); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "Move_0008 result:" << result; - result = g_fah->Delete(newDirUriTest2); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - } - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_Move_0008 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Move_0008"; -} - -/** - * @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: SR000H0387 - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_Move_0009, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Move_0009"; - 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(""); - size_t fileNumbers = 2000; - for (size_t j = 0; j < fileNumbers; j++) { - string fileName = "test" + ToString(j) + ".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; - result = g_fah->Delete(newDirUriTest2); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - } - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_Move_0009 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Move_0009"; -} - -/** - * @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: SR000H0387 - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_Move_0010, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Move_0010"; - 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(""); - result = g_fah->Mkdir(newDirUriTest1, "test", testUri); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - size_t directoryNumbers = 64; - for (size_t j = 0; j < directoryNumbers; j++) { - 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; - result = g_fah->Delete(newDirUriTest2); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - } - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_Move_0010 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Move_0010"; -} - -/** - * @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: SR000H0387 - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_Move_0011, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Move_0011"; - 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); - Uri 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 = 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); - GTEST_LOG_(INFO) << "Move_0011 result:" << result; - 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"; -} - -static 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_(ERROR) << "external_file_access_Move_0012 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Move_0012"; -} - -/** - * @tc.number: user_file_service_external_file_access_Move_0013 - * @tc.name: external_file_access_Move_0013 - * @tc.desc: Test function of Move interface for FAILED because of GetProxyByUri failed. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0387 - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_Move_0013, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Move_0013"; - try { - vector info; - int result = g_fah->GetRoots(info); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - Uri parentUri(info[0].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(""); - result = g_fah->Mkdir(newDirUriTest1, "test", testUri); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - std::string str = newDirUriTest1.ToString(); - if (!ReplaceBundleNameFromPath(str, "ohos.com.NotExistBundleName")) { - GTEST_LOG_(ERROR) << "replace BundleName failed."; - EXPECT_TRUE(false); - } - Uri uri(str); - Uri testUri2(""); - result = g_fah->Move(uri, newDirUriTest2, testUri2); - EXPECT_EQ(result, OHOS::FileAccessFwk::E_IPCS); - GTEST_LOG_(INFO) << "Move_0013 result:" << result; - 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_(ERROR) << "external_file_access_Move_0013 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Move_0013"; -} - -/** - * @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: SR000H0387 - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_Rename_0000, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Rename_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, "test.txt", testUri); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - Uri renameUri(""); - result = g_fah->Rename(testUri, "test2.txt", renameUri); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "Rename_0000 result:" << result; - result = g_fah->Delete(newDirUriTest); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - } - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_Rename_0000 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Rename_0000"; -} - -/** - * @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: SR000H0387 - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_Rename_0001, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Rename_0001"; - 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 renameUri(""); - result = g_fah->Rename(newDirUriTest, "testRename", renameUri); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "Rename_0001 result:" << result; - result = g_fah->Delete(renameUri); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - } - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_Rename_0001 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Rename_0001"; -} - -/** - * @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: SR000H0387 - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_Rename_0002, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Rename_0002"; - try { - Uri renameUri(""); - Uri sourceFileUri(""); - int result = g_fah->Rename(sourceFileUri, "testRename.txt", renameUri); - EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "Rename_0002 result:" << result; - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_Rename_0002 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Rename_0002"; -} - -/** - * @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: SR000H0387 - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_Rename_0003, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Rename_0003"; - 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, "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_NE(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "Rename_0003 result:" << result; - result = g_fah->Delete(newDirUriTest); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - } - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_Rename_0003 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Rename_0003"; -} - -/** - * @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: SR000H0387 - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_Rename_0004, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Rename_0004"; - try { - Uri renameUri(""); - Uri sourceFileUri("~!@#$%^&*()_"); - int result = g_fah->Rename(sourceFileUri, "testRename.txt", renameUri); - EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "Rename_0004 result:" << result; - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_Rename_0004 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Rename_0004"; -} - -/** - * @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: SR000H0387 - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_Rename_0005, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Rename_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 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_NE(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << "Rename_0005 result:" << result; - result = g_fah->Delete(newDirUriTest); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - } - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_Rename_0005 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Rename_0005"; -} - -static 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: 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, external_file_access_Rename_0006, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Rename_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 newDirUriTest(""); - result = g_fah->Mkdir(parentUri, "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); - 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_Rename_0007 - * @tc.name: external_file_access_Rename_0007 - * @tc.desc: Test function of Rename interface for ERROR because of GetProxyByUri failed. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0387 - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_Rename_0007, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Rename_0007"; - 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); - - std::string str = newDirUriTest.ToString(); - if (!ReplaceBundleNameFromPath(str, "ohos.com.NotExistBundleName")) { - GTEST_LOG_(ERROR) << "replace BundleName failed."; - EXPECT_TRUE(false); - } - Uri testUri(str); - Uri renameUri(""); - result = g_fah->Rename(testUri, "test.txt", renameUri); - EXPECT_EQ(result, OHOS::FileAccessFwk::E_IPCS); - GTEST_LOG_(INFO) << "Rename_0007 result:" << result; - result = g_fah->Delete(newDirUriTest); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - } - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_Rename_0007 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Rename_0007"; -} - -/** - * @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; - 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_(ERROR) << "external_file_access_ListFile_0000 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_ListFile_0000"; -} - -/** - * @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: SR000H0387 - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_ListFile_0001, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_ListFile_0001"; - try { - Uri sourceFileUri(""); - FileInfo fileInfo; - fileInfo.uri = sourceFileUri.ToString(); - int64_t offset = 0; - int64_t maxCount = 1000; - std::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); - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_ListFile_0001 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_ListFile_0001"; -} - -/** - * @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: SR000H0387 - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_ListFile_0002, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_ListFile_0002"; - 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, "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(); - Uri sourceFile(fileInfo.uri); - int64_t offset = 0; - int64_t maxCount = 1000; - std::vector fileInfoVec; - 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_(ERROR) << "external_file_access_ListFile_0002 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_ListFile_0002"; -} - -/** - * @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: SR000H0387 - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_ListFile_0003, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_ListFile_0003"; - try { - Uri sourceFileUri("~!@#$%^&*()_"); - FileInfo fileInfo; - fileInfo.uri = sourceFileUri.ToString(); - Uri sourceFile(fileInfo.uri); - int64_t offset = 0; - int64_t maxCount = 1000; - std::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); - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_ListFile_0003 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_ListFile_0003"; -} - -static void ListFileTdd(FileInfo fileInfo, int offset, int maxCount, FileFilter filter, - std::vector fileInfoVec) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_ListFileTdd"; - int ret = g_fah->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, 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_(ERROR) << "external_file_access_ListFile_0004 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_ListFile_0004"; -} - -/** - * @tc.number: user_file_service_external_file_access_ListFile_0005 - * @tc.name: external_file_access_ListFile_0005 - * @tc.desc: Test function of ListFile interface for ERROR because of GetProxyByUri failed. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0387 - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_ListFile_0005, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_ListFile_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 testUri(""); - result = g_fah->CreateFile(newDirUriTest, "test.txt", testUri); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - std::string str = testUri.ToString(); - if (!ReplaceBundleNameFromPath(str, "ohos.com.NotExistBundleName")) { - GTEST_LOG_(ERROR) << "replace BundleName failed."; - EXPECT_TRUE(false); - } - FileInfo fileInfo; - fileInfo.uri = str; - 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::E_IPCS); - result = g_fah->Delete(newDirUriTest); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - } - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_ListFile_0005 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_ListFile_0005"; -} - -/** - * @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: SR000H0387 - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_GetRoots_0000, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_GetRoots_0000"; - try { - vector info; - int result = g_fah->GetRoots(info); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - 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 = "file://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_(ERROR) << "external_file_access_GetRoots_0000 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_GetRoots_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, external_file_access_Access_0000, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Access_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); - GTEST_LOG_(INFO) << parentUri.ToString(); - Uri newDirUriTest(""); - result = g_fah->Mkdir(parentUri, "test1", newDirUriTest); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - Uri newFileUri(""); - result = g_fah->CreateFile(newDirUriTest, "external_file_access_Access_0000.txt", newFileUri); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - bool isExist = false; - result = g_fah->Access(newDirUriTest, isExist); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - EXPECT_TRUE(isExist); - result = g_fah->Access(newFileUri, isExist); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - EXPECT_TRUE(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); - } - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_Access_0000 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Access_0000"; -} - -/** - * @tc.number: user_file_service_external_file_access_Access_0001 - * @tc.name: external_file_access_Access_0001 - * @tc.desc: Test function of Access interface FAILED because of GetProxyByUri failed. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_Access_0001, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Access_0001"; - 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++) { - std::string str = info[i].uri; - if (!ReplaceBundleNameFromPath(str, "ohos.com.NotExistBundleName")) { - GTEST_LOG_(ERROR) << "replace BundleName failed."; - EXPECT_TRUE(false); - } - Uri newDirUriTest(str + "/test.txt"); - bool isExist = false; - result = g_fah->Access(newDirUriTest, isExist); - EXPECT_EQ(result, OHOS::FileAccessFwk::E_IPCS); - EXPECT_FALSE(isExist); - } - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_Access_0001 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Access_0001"; -} - -/** - * @tc.number: user_file_service_external_file_access_GetFileInfoFromUri_0000 - * @tc.name: external_file_access_GetFileInfoFromUri_0000 - * @tc.desc: Test function of GetFileInfoFromUri interface. - * @tc.desc: convert the root directory uri to fileinfo and call listfile for SUCCESS. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_GetFileInfoFromUri_0000, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_GetFileInfoFromUri_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); - FileInfo fileinfo; - result = g_fah->GetFileInfoFromUri(parentUri, fileinfo); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - int64_t offset = 0; - int64_t maxCount = 1000; - FileFilter filter; - std::vector fileInfoVecTemp; - result = g_fah->ListFile(fileinfo, offset, maxCount, filter, fileInfoVecTemp); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - EXPECT_GE(fileInfoVecTemp.size(), OHOS::FileAccessFwk::ERR_OK); - } - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_GetFileInfoFromUri_0000 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_GetFileInfoFromUri_0000"; -} - -/** - * @tc.number: user_file_service_external_file_access_GetFileInfoFromUri_0001 - * @tc.name: external_file_access_GetFileInfoFromUri_0001 - * @tc.desc: Test function of GetFileInfoFromUri interface. - * @tc.desc: convert the general directory uri to fileinfo and call listfile for SUCCESS. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_GetFileInfoFromUri_0001, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_GetFileInfoFromUri_0001"; - 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, "testDir", newDirUriTest); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - FileInfo dirInfo; - result = g_fah->GetFileInfoFromUri(newDirUriTest, dirInfo); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - int64_t offset = 0; - int64_t maxCount = 1000; - FileFilter filter; - std::vector fileInfoVec; - result = g_fah->ListFile(dirInfo, offset, maxCount, filter, fileInfoVec); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - EXPECT_GE(fileInfoVec.size(), OHOS::FileAccessFwk::ERR_OK); - - result = g_fah->Delete(newDirUriTest); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - } - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_GetFileInfoFromUri_0001 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_GetFileInfoFromUri_0001"; -} - -/** - * @tc.number: user_file_service_external_file_access_GetFileInfoFromUri_0002 - * @tc.name: external_file_access_GetFileInfoFromUri_0002 - * @tc.desc: Test function of GetFileInfoFromUri interface. - * @tc.desc: convert the general filepath uri to fileinfo and call listfile for ERROR. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_GetFileInfoFromUri_0002, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_GetFileInfoFromUri_0002"; - 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, "testDir", newDirUriTest); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - Uri newFileUri(""); - result = g_fah->CreateFile(newDirUriTest, "external_file_access_GetFileInfoFromUri_0002.txt", newFileUri); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - FileInfo fileinfo; - result = g_fah->GetFileInfoFromUri(newFileUri, fileinfo); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - - int64_t offset = 0; - int64_t maxCount = 1000; - FileFilter filter; - std::vector fileInfoVecTemp; - result = g_fah->ListFile(fileinfo, offset, maxCount, filter, fileInfoVecTemp); - EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); - EXPECT_EQ(fileInfoVecTemp.size(), OHOS::FileAccessFwk::ERR_OK); - - result = g_fah->Delete(newDirUriTest); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - } - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_GetFileInfoFromUri_0002 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_GetFileInfoFromUri_0002"; -} - -/** - * @tc.number: user_file_service_external_file_access_GetFileInfoFromUri_0003 - * @tc.name: external_file_access_GetFileInfoFromUri_0003 - * @tc.desc: Test function of GetFileInfoFromUri interface. - * @tc.desc: convert the root directory uri to fileinfo for CheckUri failed. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_GetFileInfoFromUri_0003, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_GetFileInfoFromUri_0003"; - 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(std::string("\?\?\?\?/") + info[i].uri); - FileInfo fileinfo; - result = g_fah->GetFileInfoFromUri(parentUri, fileinfo); - EXPECT_EQ(result, OHOS::FileAccessFwk::E_URIS); - } - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_GetFileInfoFromUri_0003 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_GetFileInfoFromUri_0003"; -} - -/** - * @tc.number: user_file_service_external_file_access_GetFileInfoFromUri_0004 - * @tc.name: external_file_access_GetFileInfoFromUri_0004 - * @tc.desc: Test function of GetFileInfoFromUri interface. - * @tc.desc: convert the root directory uri to fileinfo failed because of GetProxyByUri failed. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_GetFileInfoFromUri_0004, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_GetFileInfoFromUri_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++) { - std::string str = info[i].uri; - if (!ReplaceBundleNameFromPath(str, "ohos.com.NotExistBundleName")) { - GTEST_LOG_(ERROR) << "replace BundleName failed."; - EXPECT_TRUE(false); - } - Uri parentUri(str); - FileInfo fileinfo; - result = g_fah->GetFileInfoFromUri(parentUri, fileinfo); - EXPECT_EQ(result, OHOS::FileAccessFwk::E_IPCS); - } - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_GetFileInfoFromUri_0004 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_GetFileInfoFromUri_0004"; -} - -/** - * @tc.number: user_file_service_external_file_access_GetFileInfoFromUri_0005 - * @tc.name: external_file_access_GetFileInfoFromUri_0005 - * @tc.desc: Test function of GetFileInfoFromUri interface. - * @tc.desc: convert the invalid uri to fileinfo failed. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_GetFileInfoFromUri_0005, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_GetFileInfoFromUri_0005"; - try { - Uri uri("~!@#$%^&*()_"); - FileInfo fileInfo; - int result = g_fah->GetFileInfoFromUri(uri, fileInfo); - EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); - - uri = Uri("/"); - result = g_fah->GetFileInfoFromUri(uri, fileInfo); - EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); - - uri = Uri(""); - result = g_fah->GetFileInfoFromUri(uri, fileInfo); - EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_GetFileInfoFromUri_0005 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_GetFileInfoFromUri_0005"; -} - -/** - * @tc.number: user_file_service_external_file_access_creator_0000 - * @tc.name: external_file_access_creator_0000 - * @tc.desc: Test function of creator interface. - * @tc.desc: create file access helper for SUCCESS. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_creator_0000, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_creator_0000"; - try { - setuid(UID_TRANSFORM_TMP); - std::pair, int> helper = FileAccessHelper::Creator(g_context); - setuid(UID_DEFAULT); - ASSERT_TRUE(helper.first != nullptr); - bool succ = helper.first->Release(); - EXPECT_TRUE(succ); - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_creator_0000 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_creator_0000"; -} - -/** - * @tc.number: user_file_service_external_file_access_creator_0001 - * @tc.name: external_file_access_creator_0001 - * @tc.desc: Test function of creator interface. - * @tc.desc: create file access helper for SUCCESS. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_creator_0001, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_creator_0001"; - try { - AAFwk::Want want; - vector wantVec; - setuid(UID_TRANSFORM_TMP); - 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.UserFile.ExternalFileManager" && - element.GetAbilityName() == "FileExtensionAbility") { - want = wantVec[i]; - sus = true; - break; - } - } - EXPECT_TRUE(sus); - vector wants{want}; - std::pair, int> helper = FileAccessHelper::Creator(g_context, wants); - setuid(UID_DEFAULT); - ASSERT_TRUE(helper.first != nullptr); - bool succ = helper.first->Release(); - EXPECT_TRUE(succ); - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_creator_0001 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_creator_0001"; -} - -/** - * @tc.number: user_file_service_external_file_access_creator_0002 - * @tc.name: external_file_access_creator_0002 - * @tc.desc: Test function of creator interface. - * @tc.desc: create file access helper for FAILED. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_creator_0002, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_creator_0002"; - try { - std::shared_ptr context = nullptr; - std::pair, int> helper = FileAccessHelper::Creator(context); - ASSERT_TRUE(helper.first == nullptr); - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_creator_0002 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_creator_0002"; -} - -/** - * @tc.number: user_file_service_external_file_access_creator_0003 - * @tc.name: external_file_access_creator_0003 - * @tc.desc: Test function of creator interface. - * @tc.desc: create file access helper for FAILED. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_creator_0003, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_creator_0003"; - try { - std::vector wants; - std::shared_ptr context = nullptr; - std::pair, int> helper = FileAccessHelper::Creator(context, wants); - ASSERT_TRUE(helper.first == nullptr); - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_creator_0003 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_creator_0003"; -} - -/** - * @tc.number: user_file_service_external_file_access_creator_0004 - * @tc.name: external_file_access_creator_0004 - * @tc.desc: Test function of creator interface. - * @tc.desc: create file access helper for FAILED. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_creator_0004, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_creator_0004"; - try { - std::vector wants; - std::pair, int> helper = FileAccessHelper::Creator(g_context, wants); - ASSERT_TRUE(helper.first == nullptr); - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_creator_0004 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_creator_0004"; -} - -/** - * @tc.number: user_file_service_external_file_access_creator_0005 - * @tc.name: external_file_access_creator_0005 - * @tc.desc: Test function of creator interface. - * @tc.desc: create file access helper for FAILED. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_creator_0005, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_creator_0005"; - try { - AAFwk::Want want; - want.SetElementName("NotExistBundleName", "NotExistAbilityName"); - std::vector wants{want}; - std::pair, int> helper = FileAccessHelper::Creator(g_context, wants); - ASSERT_TRUE(helper.first == nullptr); - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_creator_0005 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_creator_0005"; -} - -/** - * @tc.number: user_file_service_external_file_access_creator_0006 - * @tc.name: external_file_access_creator_0006 - * @tc.desc: Test function of creator interface. - * @tc.desc: create file access helper for FAILED. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_creator_0006, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_creator_0006"; - try { - std::vector wants; - std::shared_ptr context = nullptr; - std::pair, int> helper = FileAccessHelper::Creator(context, wants); - ASSERT_TRUE(helper.first == nullptr); - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_creator_0006 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_creator_0006"; -} - -/** - * @tc.number: user_file_service_external_file_access_creator_0007 - * @tc.name: external_file_access_creator_0007 - * @tc.desc: Test function of creator interface. - * @tc.desc: create file access helper for FAILED. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_creator_0007, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_creator_0007"; - try { - std::vector wants; - shared_ptr helper = FileAccessHelper::Creator(g_context->GetToken(), wants); - ASSERT_TRUE(helper == nullptr); - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_creator_0007 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_creator_0007"; -} - -/** - * @tc.number: user_file_service_external_file_access_creator_0008 - * @tc.name: external_file_access_creator_0008 - * @tc.desc: Test function of creator interface. - * @tc.desc: create file access helper for FAILED. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_creator_0008, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_creator_0008"; - try { - AAFwk::Want want; - want.SetElementName("NotExistBundleName", "NotExistAbilityName"); - std::vector wants{want}; - shared_ptr helper = FileAccessHelper::Creator(g_context->GetToken(), wants); - ASSERT_TRUE(helper == nullptr); - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_creator_0008 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_creator_0008"; -} - -/** - * @tc.number: user_file_service_external_file_access_GetConnectInfo_0000 - * @tc.name: external_file_access_GetConnectInfo_0000 - * @tc.desc: Test function of GetConnectInfo interface. - * @tc.desc: helper invoke GetConnectInfo for FAILED. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_GetConnectInfo_0000, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_GetConnectInfo_0000"; - try { - std::shared_ptr connectInfo = g_fah->GetConnectInfo("NotExistBundleName"); - ASSERT_TRUE(connectInfo == nullptr); - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_GetConnectInfo_0000 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_GetConnectInfo_0000"; -} - -/** - * @tc.number: user_file_service_external_file_access_GetKeyOfWants_0000 - * @tc.name: external_file_access_GetKeyOfWants_0000 - * @tc.desc: Test function of GetKeyOfWants interface. - * @tc.desc: helper invoke GetKeyOfWants for FAILED. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_GetKeyOfWants_0000, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_GetKeyOfWants_0000"; - try { - AAFwk::Want want; - want.SetElementName("NotExistBundleName", "NotExistAbilityName"); - std::string key = g_fah->GetKeyOfWants(want); - ASSERT_TRUE(key.empty()); - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_GetKeyOfWants_0000 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_GetKeyOfWants_0000"; -} - -/** - * @tc.number: user_file_service_external_file_access_GetProxyByUri_0000 - * @tc.name: external_file_access_GetProxyByUri_0000 - * @tc.desc: Test function of GetProxyByUri interface. - * @tc.desc: helper invoke GetProxyByUri for FAILED. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_GetProxyByUri_0000, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_GetProxyByUri_0000"; - try { - Uri uri(""); - sptr proxy = g_fah->GetProxyByUri(uri); - ASSERT_TRUE(proxy == nullptr); - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_GetProxyByUri_0000 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_GetProxyByUri_0000"; -} - -/** - * @tc.number: user_file_service_external_file_access_GetProxyByUri_0001 - * @tc.name: external_file_access_GetProxyByUri_0001 - * @tc.desc: Test function of GetProxyByUri interface. - * @tc.desc: helper invoke GetProxyByUri for FAILED. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: SR000H0386 - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_GetProxyByUri_0001, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_GetProxyByUri_0001"; - try { - Uri uri("file://com.ohos.UserFile.NotExistBundleName/data/storage/el1/bundle/storage_daemon"); - sptr proxy = g_fah->GetProxyByUri(uri); - ASSERT_TRUE(proxy == nullptr); - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_GetProxyByUri_0001 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_GetProxyByUri_0001"; -} - -/** - * @tc.number: user_file_service_external_file_access_Query_0000 - * @tc.name: external_file_access_Query_0000 - * @tc.desc: Test function of Query directory for SUCCESS. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6S4VV - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_Query_0000, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Query_0000"; + GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_startWatcher_0000"; try { vector info; int result = g_fah->GetRoots(info); @@ -2985,317 +131,3213 @@ HWTEST_F(FileExtensionHelperTest, external_file_access_Query_0000, testing::ext: Uri parentUri(info[0].uri); GTEST_LOG_(INFO) << parentUri.ToString(); Uri newDirUriTest1(""); - Uri newDirUriTest2(""); - std::string displayName = "QueryTest1"; + std::string displayName = "testWatcher"; std::string relativePath = "/data/storage/el1/bundle/storage_daemon/"; result = g_fah->Mkdir(parentUri, "QueryTest1", newDirUriTest1); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - result = g_fah->Mkdir(newDirUriTest1, "QueryTest2", newDirUriTest2); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - Uri newFileUri1(""); - Uri newFileUri2(""); - std::string fileName = "external_file_access_Query_00001.txt"; - result = g_fah->CreateFile(newDirUriTest1, fileName, newFileUri1); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - result = g_fah->CreateFile(newDirUriTest2, fileName, newFileUri2); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - int fd = -1; - std::string buff = "query test"; - result = g_fah->OpenFile(newFileUri1, WRITE_READ, fd); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - ssize_t fileSize = write(fd, buff.c_str(), buff.size()); - close(fd); - EXPECT_EQ(fileSize, buff.size()); - result = g_fah->OpenFile(newFileUri2, WRITE_READ, fd); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - fileSize = write(fd, buff.c_str(), buff.size()); - close(fd); - EXPECT_EQ(fileSize, buff.size()); - json testJson = { - {RELATIVE_PATH, " "}, - {DISPLAY_NAME, " "}, - {FILE_SIZE, " "}, - {DATE_MODIFIED, " "}, - {DATE_ADDED, " "}, - {HEIGHT, " "}, - {WIDTH, " "}, - {DURATION, " "} - }; - auto testJsonString = testJson.dump(); - result = g_fah->Query(newDirUriTest1, testJsonString); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - auto jsonObject = json::parse(testJsonString); - EXPECT_EQ(jsonObject.at(DISPLAY_NAME), displayName); - EXPECT_EQ(jsonObject.at(FILE_SIZE), buff.size() * 2); - EXPECT_EQ(jsonObject.at(RELATIVE_PATH), relativePath); - ASSERT_TRUE(jsonObject.at(DATE_MODIFIED) > 0); - ASSERT_TRUE(jsonObject.at(DATE_ADDED) > 0); - GTEST_LOG_(INFO) << " result" << testJsonString; - result = g_fah->Delete(newDirUriTest1); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_Query_0000 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Query_0000"; -} - -/** - * @tc.number: user_file_service_external_file_access_Query_0001 - * @tc.name: external_file_access_Query_0001 - * @tc.desc: Test function of Query file for SUCCESS. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6S4VV - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_Query_0001, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Query_0001"; - try { - vector info; - int result = g_fah->GetRoots(info); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - Uri parentUri(info[0].uri); - GTEST_LOG_(INFO) << parentUri.ToString(); - Uri newDirUriTest(""); - result = g_fah->Mkdir(parentUri, "QueryTest3", newDirUriTest); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - Uri newFileUri(""); - std::string displayName = "external_file_access_Query_0001.txt"; - std::string relativePath = "/data/storage/el1/bundle/storage_daemon/QueryTest3/"; - result = g_fah->CreateFile(newDirUriTest, displayName, newFileUri); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - int fd = -1; - result = g_fah->OpenFile(newFileUri, WRITE_READ, fd); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - std::string buff = "query test"; - ssize_t fileSize = write(fd, buff.c_str(), buff.size()); - close(fd); - EXPECT_EQ(fileSize, buff.size()); - json testJson = { - {RELATIVE_PATH, " "}, - {DISPLAY_NAME, " "}, - {FILE_SIZE, " "}, - {DATE_MODIFIED, " "}, - {DATE_ADDED, " "}, - {HEIGHT, " "}, - {WIDTH, " "}, - {DURATION, " "} - }; - auto testJsonString = testJson.dump(); - result = g_fah->Query(newFileUri, testJsonString); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - auto jsonObject = json::parse(testJsonString); - EXPECT_EQ(jsonObject.at(DISPLAY_NAME), displayName); - EXPECT_EQ(jsonObject.at(FILE_SIZE), buff.size()); - EXPECT_EQ(jsonObject.at(RELATIVE_PATH), relativePath); - ASSERT_TRUE(jsonObject.at(DATE_MODIFIED) > 0); - ASSERT_TRUE(jsonObject.at(DATE_ADDED) > 0); - GTEST_LOG_(INFO) << " result" << testJsonString; - result = g_fah->Delete(newDirUriTest); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_Query_0001 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Query_0001"; -} - -/** - * @tc.number: user_file_service_external_file_access_Query_0002 - * @tc.name: external_file_access_Query_0002 - * @tc.desc: Test function of Query directory for SUCCESS. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6S4VV - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_Query_0002, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Query_0002"; - try { - vector info; - int result = g_fah->GetRoots(info); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - Uri parentUri(info[0].uri); - GTEST_LOG_(INFO) << parentUri.ToString(); - Uri newDirUriTest1(""); - Uri newDirUriTest2(""); - result = g_fah->Mkdir(parentUri, "QueryTest4", newDirUriTest1); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - result = g_fah->Mkdir(newDirUriTest1, "QueryTest5", newDirUriTest2); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); Uri newFileUri1(""); - Uri newFileUri2(""); - std::string fileName = "external_file_access_Query_00001.txt"; + std::string fileName = "external_file_access_watcher_00001.txt"; result = g_fah->CreateFile(newDirUriTest1, fileName, newFileUri1); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - result = g_fah->CreateFile(newDirUriTest2, fileName, newFileUri2); + result = g_fah->StartWatcher(newFileUri1); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); int fd = -1; - std::string buff = "query test"; + std::string buff = "watcher test"; result = g_fah->OpenFile(newFileUri1, WRITE_READ, fd); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); ssize_t fileSize = write(fd, buff.c_str(), buff.size()); close(fd); EXPECT_EQ(fileSize, buff.size()); - result = g_fah->OpenFile(newFileUri2, WRITE_READ, fd); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - fileSize = write(fd, buff.c_str(), buff.size()); - close(fd); - EXPECT_EQ(fileSize, buff.size()); - json testJson = { - {FILE_SIZE, " "} - }; - auto testJsonString = testJson.dump(); - result = g_fah->Query(newDirUriTest1, testJsonString); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - auto jsonObject = json::parse(testJsonString); - EXPECT_EQ(jsonObject.at(FILE_SIZE), buff.size() * 2); - GTEST_LOG_(INFO) << " result" << testJsonString; - result = g_fah->Delete(newDirUriTest1); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_Query_0002 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Query_0002"; -} - -/** - * @tc.number: user_file_service_external_file_access_Query_0003 - * @tc.name: external_file_access_Query_0003 - * @tc.desc: Test function of Query interface for which is unreadable code. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6S4VV - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_Query_0003, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Query_0003"; - try { - Uri testUri("&*()*/?"); - json testJson = { - {RELATIVE_PATH, " "}, - {DISPLAY_NAME, " "} - }; - auto testJsonString = testJson.dump(); - int result = g_fah->Query(testUri, testJsonString); - EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << " result" << testJsonString; - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_Query_0003 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Query_0003"; -} - -/** - * @tc.number: user_file_service_external_file_access_Query_0004 - * @tc.name: external_file_access_Query_0004 - * @tc.desc: Test function of Query interface for which all column nonexistence. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6S4VV - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_Query_0004, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Query_0004"; - try { - vector info; - int result = g_fah->GetRoots(info); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - Uri parentUri(info[0].uri); - GTEST_LOG_(INFO) << parentUri.ToString(); - Uri newDirUriTest(""); - result = g_fah->Mkdir(parentUri, "QueryTest6", newDirUriTest); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - json testJson = { - {"001", " "}, - {"#", " "}, - {"test", " "}, - {"target", " "} - }; - auto testJsonString = testJson.dump(); - result = g_fah->Query(newDirUriTest, testJsonString); - EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << " result" << testJsonString; - result = g_fah->Delete(newDirUriTest); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_Query_0004 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Query_0004"; -} - -/** - * @tc.number: user_file_service_external_file_access_Query_0005 - * @tc.name: external_file_access_Query_0005 - * @tc.desc: Test function of Query interface for which part of column nonexistence. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6S4VV - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_Query_0005, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Query_0005"; - try { - vector info; - int result = g_fah->GetRoots(info); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - Uri parentUri(info[0].uri); - GTEST_LOG_(INFO) << parentUri.ToString(); - Uri newDirUriTest(""); - result = g_fah->Mkdir(parentUri, "QueryTest7", newDirUriTest); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - json testJson = { - {RELATIVE_PATH, " "}, - {DISPLAY_NAME, " "}, - {"test", " "} - }; - auto testJsonString = testJson.dump(); - result = g_fah->Query(newDirUriTest, testJsonString); - EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << " result" << testJsonString; - result = g_fah->Delete(newDirUriTest); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_Query_0005 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Query_0005"; -} - -/** - * @tc.number: user_file_service_external_file_access_Query_0006 - * @tc.name: external_file_access_Query_0006 - * @tc.desc: Test function of Query interface for which column is null. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I6S4VV - */ -HWTEST_F(FileExtensionHelperTest, external_file_access_Query_0006, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Query_0006"; - try { - vector info; - int result = g_fah->GetRoots(info); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - Uri parentUri(info[0].uri); - GTEST_LOG_(INFO) << parentUri.ToString(); - Uri newDirUriTest(""); - result = g_fah->Mkdir(parentUri, "QueryTest8", newDirUriTest); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - json testJson; - auto testJsonString = testJson.dump(); - result = g_fah->Query(newDirUriTest, testJsonString); - EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); - GTEST_LOG_(INFO) << " result" << testJsonString; - result = g_fah->Delete(newDirUriTest); - EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); } catch (...) { - GTEST_LOG_(ERROR) << "external_file_access_Query_0006 occurs an exception."; - } - GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Query_0006"; -} + GTEST_LOG_(ERROR) << "external_file_access_startWatcher_0000 occurs an exception."; + } + GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_startWatcher_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, external_file_access_OpenFile_0000, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_OpenFile_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); +// GTEST_LOG_(INFO) << parentUri.ToString(); +// Uri newDirUriTest1(""); +// result = g_fah->Mkdir(parentUri, "test1", newDirUriTest1); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// Uri newFileUri(""); +// result = g_fah->CreateFile(newDirUriTest1, "external_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; +// close(fd); +// result = g_fah->Delete(newDirUriTest1); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// } +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_OpenFile_0000 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_OpenFile_0000"; +// } + +// /** +// * @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, external_file_access_OpenFile_0001, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_OpenFile_0001"; +// try { +// Uri uri(""); +// int fd; +// int result = g_fah->OpenFile(uri, WRITE_READ, fd); +// EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); +// GTEST_LOG_(INFO) << "OpenFile_0001 result:" << result; +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_OpenFile_0001 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_OpenFile_0001"; +// } + +// /** +// * @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, external_file_access_OpenFile_0002, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_OpenFile_0002"; +// 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_0002.txt", newFileUri); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// Uri uri("storage/media/100/local/files/Download/external_file_access_OpenFile_0002.txt"); +// int fd; +// result = g_fah->OpenFile(uri, WRITE_READ, fd); +// EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); +// GTEST_LOG_(INFO) << "OpenFile_0002 result:" << result; +// result = g_fah->Delete(newFileUri); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// } +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_OpenFile_0002 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_OpenFile_0002"; +// } + +// /** +// * @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, external_file_access_OpenFile_0003, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_OpenFile_0003"; +// try { +// Uri uri("~!@#$%^&*()_"); +// int fd; +// int result = g_fah->OpenFile(uri, WRITE_READ, fd); +// EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); +// GTEST_LOG_(INFO) << "OpenFile_0003 result:" << result; +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_OpenFile_0003 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_OpenFile_0003"; +// } + +// /** +// * @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, external_file_access_OpenFile_0004, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_OpenFile_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 newFileUri(""); +// result = g_fah->CreateFile(parentUri, "external_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_NE(result, OHOS::FileAccessFwk::ERR_OK); +// GTEST_LOG_(INFO) << "OpenFile_0004 result:" << result; +// result = g_fah->Delete(newFileUri); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// } +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_OpenFile_0004 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_OpenFile_0004"; +// } + +// /** +// * @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, external_file_access_OpenFile_0005, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_OpenFile_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(""); +// result = g_fah->CreateFile(parentUri, "external_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; +// 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"; +// } + +// /** +// * @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; +// close(fd); +// result = g_fah->Delete(newFileUri); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// } +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_OpenFile_0006 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_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, external_file_access_OpenFile_0007, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_OpenFile_0007"; +// 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_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; +// 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"; +// } + +// static 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_(ERROR) << "external_file_access_OpenFile_0008 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_OpenFile_0008"; +// } + +// static bool ReplaceBundleNameFromPath(std::string &path, const std::string &newName) +// { +// Uri uri(path); +// std::string scheme = uri.GetScheme(); +// if (scheme == FILE_SCHEME_NAME) { +// std::string curName = uri.GetAuthority(); +// if (curName.empty()) { +// return false; +// } +// path.replace(path.find(curName), curName.length(), newName); +// return true; +// } + +// std::string tPath = uri.GetPath(); +// if (tPath.empty()) { +// GTEST_LOG_(INFO) << "Uri path error."; +// return false; +// } + +// if (tPath.front() != '/') { +// GTEST_LOG_(INFO) << "Uri path format error."; +// return false; +// } + +// auto index = tPath.substr(1).find_first_of("/"); +// auto bundleName = tPath.substr(1, index); +// if (bundleName.empty()) { +// GTEST_LOG_(INFO) << "bundleName empty."; +// return false; +// } + +// path.replace(path.find(bundleName), bundleName.length(), newName); +// return true; +// } + +// /** +// * @tc.number: user_file_service_external_file_access_OpenFile_0009 +// * @tc.name: external_file_access_OpenFile_0009 +// * @tc.desc: Test function of OpenFile interface for FAILED because of GetProxyByUri failed. +// * @tc.size: MEDIUM +// * @tc.type: FUNC +// * @tc.level Level 1 +// * @tc.require: SR000H0386 +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_OpenFile_0009, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_OpenFile_0009"; +// 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++) { +// std::string str = info[i].uri; +// if (!ReplaceBundleNameFromPath(str, "ohos.com.NotExistBundleName")) { +// GTEST_LOG_(ERROR) << "replace BundleName failed."; +// EXPECT_TRUE(false); +// } +// int fd; +// Uri newFileUri(str + "/NotExistFile.txt"); +// result = g_fah->OpenFile(newFileUri, WRITE_READ, fd); +// EXPECT_EQ(result, OHOS::FileAccessFwk::E_IPCS); +// GTEST_LOG_(INFO) << "OpenFile_0009 result:" << result; +// } +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_OpenFile_0009 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_OpenFile_0009"; +// } + +// /** +// * @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, external_file_access_CreateFile_0000, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_CreateFile_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 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; +// result = g_fah->Delete(newFileUri); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// } +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_CreateFile_0000 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_CreateFile_0000"; +// } + +// /** +// * @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, external_file_access_CreateFile_0001, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_CreateFile_0001"; +// try { +// Uri newFileUri(""); +// Uri parentUri(""); +// 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; +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_CreateFile_0001 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_CreateFile_0001"; +// } + +// /** +// * @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, external_file_access_CreateFile_0002, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_CreateFile_0002"; +// try { +// Uri newFileUri(""); +// Uri parentUri("storage/media/100/local/files/Download"); +// 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; +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_CreateFile_0002 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_CreateFile_0002"; +// } + +// /** +// * @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, external_file_access_CreateFile_0003, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_CreateFile_0002"; +// try { +// Uri newFileUri(""); +// Uri parentUri("~!@#$%^&*()_"); +// 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; +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_CreateFile_0003 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_CreateFile_0003"; +// } + +// /** +// * @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, external_file_access_CreateFile_0004, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_CreateFile_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 newFileUri(""); +// string displayName = ""; +// result = g_fah->CreateFile(parentUri, displayName, newFileUri); +// EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); +// GTEST_LOG_(INFO) << "CreateFile_0004 result:" << result; +// } +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_CreateFile_0004 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_CreateFile_0004"; +// } + +// static 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: 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_CreateFile_0006 +// * @tc.name: external_file_access_CreateFile_0006 +// * @tc.desc: Test function of CreateFile interface for ERROR because of GetProxyByUri failed. +// * @tc.size: MEDIUM +// * @tc.type: FUNC +// * @tc.level Level 1 +// * @tc.require: SR000H0386 +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_CreateFile_0006, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_CreateFile_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++) { +// std::string str = info[i].uri; +// if (!ReplaceBundleNameFromPath(str, "ohos.com.NotExistBundleName")) { +// GTEST_LOG_(ERROR) << "replace BundleName failed."; +// EXPECT_TRUE(false); +// } +// Uri parentUri(str); +// Uri newFileUri(""); +// string displayName = "test.txt"; +// result = g_fah->CreateFile(parentUri, displayName, newFileUri); +// EXPECT_EQ(result, OHOS::FileAccessFwk::E_IPCS); +// GTEST_LOG_(INFO) << "CreateFile_0006 result:" << result; +// } +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_CreateFile_0006 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_CreateFile_0006"; +// } + +// /** +// * @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, external_file_access_Mkdir_0000, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Mkdir_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, "external_file_access_Mkdir_0000", newDirUriTest); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// GTEST_LOG_(INFO) << "Mkdir_0000 result:" << result; +// result = g_fah->Delete(newDirUriTest); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// } +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_Mkdir_0000 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Mkdir_0000"; +// } + +// /** +// * @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, external_file_access_Mkdir_0001, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Mkdir_0001"; +// try { +// Uri newDirUriTest(""); +// Uri parentUri(""); +// 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; +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_Mkdir_0001 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Mkdir_0001"; +// } + +// /** +// * @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, external_file_access_Mkdir_0002, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Mkdir_0002"; +// try { +// Uri newDirUriTest(""); +// Uri parentUri("storage/media/100/local/files/Download"); +// 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; +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_Mkdir_0002 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Mkdir_0002"; +// } + +// /** +// * @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, external_file_access_Mkdir_0003, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Mkdir_0002"; +// try { +// Uri newDirUriTest(""); +// Uri parentUri("~!@#$%^&*()_"); +// 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; +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_Mkdir_0003 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Mkdir_0003"; +// } + +// /** +// * @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, external_file_access_Mkdir_0004, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Mkdir_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(""); +// string displayName = ""; +// result = g_fah->Mkdir(parentUri, displayName, newDirUriTest); +// EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); +// GTEST_LOG_(INFO) << "Mkdir_0004 result:" << result; +// } +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_Mkdir_0004 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Mkdir_0004"; +// } + +// static 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 external_file_access_Mkdir_0005"; +// } + +// /** +// * @tc.number: user_file_service_external_file_access_Mkdir_0006 +// * @tc.name: external_file_access_Mkdir_0006 +// * @tc.desc: Test function of Mkdir interface for ERROR because of GetProxyByUri failed. +// * @tc.size: MEDIUM +// * @tc.type: FUNC +// * @tc.level Level 1 +// * @tc.require: SR000H0386 +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_Mkdir_0006, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Mkdir_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++) { +// std::string str = info[i].uri; +// if (!ReplaceBundleNameFromPath(str, "ohos.com.NotExistBundleName")) { +// GTEST_LOG_(ERROR) << "replace BundleName failed."; +// EXPECT_TRUE(false); +// } +// Uri parentUri(str); +// Uri newDirUriTest(""); +// string displayName = ""; +// result = g_fah->Mkdir(parentUri, displayName, newDirUriTest); +// EXPECT_EQ(result, OHOS::FileAccessFwk::E_IPCS); +// GTEST_LOG_(INFO) << "Mkdir_0006 result:" << result; +// } +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_Mkdir_0006 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Mkdir_0006"; +// } + +// /** +// * @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, external_file_access_Delete_0000, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Delete_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 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); +// GTEST_LOG_(INFO) << "Delete_0000 result:" << result; +// result = g_fah->Delete(newDirUriTest); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// } +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_Delete_0000 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Delete_0000"; +// } + +// /** +// * @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, external_file_access_Delete_0001, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Delete_0001"; +// 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); +// result = g_fah->Delete(newDirUriTest); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// GTEST_LOG_(INFO) << "Delete_0001 result:" << result; +// } +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_Delete_0001 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Delete_0001"; +// } + +// /** +// * @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, external_file_access_Delete_0002, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Delete_0002"; +// try { +// Uri selectFileUri(""); +// int result = g_fah->Delete(selectFileUri); +// EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); +// GTEST_LOG_(INFO) << "Delete_0002 result:" << result; +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_Delete_0002 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Delete_0002"; +// } + +// /** +// * @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, external_file_access_Delete_0003, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Delete_0003"; +// 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 selectFileUri("storage/media/100/local/files/Download/test"); +// result = g_fah->Delete(selectFileUri); +// EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); +// result = g_fah->Delete(newDirUriTest); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// GTEST_LOG_(INFO) << "Delete_0003 result:" << result; +// } +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_Delete_0003 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Delete_0003"; +// } + +// /** +// * @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, external_file_access_Delete_0004, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Delete_0004"; +// try { +// Uri selectFileUri("!@#$%^&*()"); +// int result = g_fah->Delete(selectFileUri); +// EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); +// GTEST_LOG_(INFO) << "Delete_0004 result:" << result; +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_Delete_0004 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Delete_0004"; +// } + +// static 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; +// } +// EXPECT_EQ(ret, OHOS::FileAccessFwk::ERR_OK); +// g_num++; +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_DeleteTdd"; +// } + +// /** +// * @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, 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_Delete_0006 +// * @tc.name: external_file_access_Delete_0006 +// * @tc.desc: Test function of Delete interface for ERROR because of GetProxyByUri failed. +// * @tc.size: MEDIUM +// * @tc.type: FUNC +// * @tc.level Level 1 +// * @tc.require: SR000H0386 +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_Delete_0006, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Delete_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++) { +// std::string str = info[i].uri; +// if (!ReplaceBundleNameFromPath(str, "ohos.com.NotExistBundleName")) { +// GTEST_LOG_(ERROR) << "replace BundleName failed."; +// EXPECT_TRUE(false); +// } +// Uri selectFileUri(str); +// int result = g_fah->Delete(selectFileUri); +// EXPECT_EQ(result, OHOS::FileAccessFwk::E_IPCS); +// GTEST_LOG_(INFO) << "Delete_0006 result:" << result; +// } +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_Delete_0006 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Delete_0006"; +// } + +// /** +// * @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 external_file_access_Move_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 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(""); +// 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; +// 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_(ERROR) << "external_file_access_Move_0000 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Move_0000"; +// } + +// /** +// * @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: SR000H0387 +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_Move_0001, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Move_0001"; +// 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(""); +// 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; +// result = g_fah->Delete(newDirUriTest2); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// } +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_Move_0001 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Move_0001"; +// } + +// /** +// * @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: SR000H0387 +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_Move_0002, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Move_0002"; +// 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(""); +// Uri sourceFileUri(""); +// result = g_fah->Move(sourceFileUri, newDirUriTest, testUri); +// EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); +// GTEST_LOG_(INFO) << "Move_0002 result:" << result; +// result = g_fah->Delete(newDirUriTest); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// } +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_Move_0002 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Move_0002"; +// } + +// /** +// * @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, external_file_access_Move_0003, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Move_0003"; +// 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(""); +// 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_NE(result, OHOS::FileAccessFwk::ERR_OK); +// GTEST_LOG_(INFO) << "Move_0003 result:" << result; +// 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_(ERROR) << "external_file_access_Move_0003 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Move_0003"; +// } + +// /** +// * @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: SR000H0387 +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_Move_0004, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Move_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(""); +// Uri sourceFileUri("~!@#$%^&*()_"); +// result = g_fah->Move(sourceFileUri, newDirUriTest, testUri); +// EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); +// GTEST_LOG_(INFO) << "Move_0004 result:" << result; +// result = g_fah->Delete(newDirUriTest); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// } +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_Move_0004 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Move_0004"; +// } + +// /** +// * @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: SR000H0387 +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_Move_0005, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Move_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, "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_NE(result, OHOS::FileAccessFwk::ERR_OK); +// GTEST_LOG_(INFO) << "Move_0005 result:" << result; +// result = g_fah->Delete(newDirUriTest); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// } +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_Move_0005 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Move_0005"; +// } + +// /** +// * @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: SR000H0387 +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_Move_0006, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Move_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 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(""); +// 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_NE(result, OHOS::FileAccessFwk::ERR_OK); +// GTEST_LOG_(INFO) << "Move_0006 result:" << result; +// 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_(ERROR) << "external_file_access_Move_0006 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Move_0006"; +// } + +// /** +// * @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: SR000H0387 +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_Move_0007, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Move_0007"; +// 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(""); +// 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_NE(result, OHOS::FileAccessFwk::ERR_OK); +// GTEST_LOG_(INFO) << "Move_0007 result:" << result; +// 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_(ERROR) << "external_file_access_Move_0007 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Move_0007"; +// } + +// /** +// * @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: SR000H0387 +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_Move_0008, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Move_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 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(""); +// result = g_fah->Move(newDirUriTest1, newDirUriTest2, testUri); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// GTEST_LOG_(INFO) << "Move_0008 result:" << result; +// result = g_fah->Delete(newDirUriTest2); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// } +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_Move_0008 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Move_0008"; +// } + +// /** +// * @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: SR000H0387 +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_Move_0009, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Move_0009"; +// 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(""); +// size_t fileNumbers = 2000; +// for (size_t j = 0; j < fileNumbers; j++) { +// string fileName = "test" + ToString(j) + ".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; +// result = g_fah->Delete(newDirUriTest2); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// } +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_Move_0009 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Move_0009"; +// } + +// /** +// * @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: SR000H0387 +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_Move_0010, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Move_0010"; +// 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(""); +// result = g_fah->Mkdir(newDirUriTest1, "test", testUri); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// size_t directoryNumbers = 64; +// for (size_t j = 0; j < directoryNumbers; j++) { +// 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; +// result = g_fah->Delete(newDirUriTest2); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// } +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_Move_0010 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Move_0010"; +// } + +// /** +// * @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: SR000H0387 +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_Move_0011, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Move_0011"; +// 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); +// Uri 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 = 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); +// GTEST_LOG_(INFO) << "Move_0011 result:" << result; +// 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"; +// } + +// static 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_(ERROR) << "external_file_access_Move_0012 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Move_0012"; +// } + +// /** +// * @tc.number: user_file_service_external_file_access_Move_0013 +// * @tc.name: external_file_access_Move_0013 +// * @tc.desc: Test function of Move interface for FAILED because of GetProxyByUri failed. +// * @tc.size: MEDIUM +// * @tc.type: FUNC +// * @tc.level Level 1 +// * @tc.require: SR000H0387 +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_Move_0013, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Move_0013"; +// try { +// vector info; +// int result = g_fah->GetRoots(info); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// Uri parentUri(info[0].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(""); +// result = g_fah->Mkdir(newDirUriTest1, "test", testUri); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// std::string str = newDirUriTest1.ToString(); +// if (!ReplaceBundleNameFromPath(str, "ohos.com.NotExistBundleName")) { +// GTEST_LOG_(ERROR) << "replace BundleName failed."; +// EXPECT_TRUE(false); +// } +// Uri uri(str); +// Uri testUri2(""); +// result = g_fah->Move(uri, newDirUriTest2, testUri2); +// EXPECT_EQ(result, OHOS::FileAccessFwk::E_IPCS); +// GTEST_LOG_(INFO) << "Move_0013 result:" << result; +// 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_(ERROR) << "external_file_access_Move_0013 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Move_0013"; +// } + +// /** +// * @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: SR000H0387 +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_Rename_0000, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Rename_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, "test.txt", testUri); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// Uri renameUri(""); +// result = g_fah->Rename(testUri, "test2.txt", renameUri); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// GTEST_LOG_(INFO) << "Rename_0000 result:" << result; +// result = g_fah->Delete(newDirUriTest); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// } +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_Rename_0000 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Rename_0000"; +// } + +// /** +// * @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: SR000H0387 +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_Rename_0001, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Rename_0001"; +// 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 renameUri(""); +// result = g_fah->Rename(newDirUriTest, "testRename", renameUri); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// GTEST_LOG_(INFO) << "Rename_0001 result:" << result; +// result = g_fah->Delete(renameUri); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// } +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_Rename_0001 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Rename_0001"; +// } + +// /** +// * @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: SR000H0387 +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_Rename_0002, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Rename_0002"; +// try { +// Uri renameUri(""); +// Uri sourceFileUri(""); +// int result = g_fah->Rename(sourceFileUri, "testRename.txt", renameUri); +// EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); +// GTEST_LOG_(INFO) << "Rename_0002 result:" << result; +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_Rename_0002 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Rename_0002"; +// } + +// /** +// * @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: SR000H0387 +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_Rename_0003, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Rename_0003"; +// 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, "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_NE(result, OHOS::FileAccessFwk::ERR_OK); +// GTEST_LOG_(INFO) << "Rename_0003 result:" << result; +// result = g_fah->Delete(newDirUriTest); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// } +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_Rename_0003 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Rename_0003"; +// } + +// /** +// * @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: SR000H0387 +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_Rename_0004, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Rename_0004"; +// try { +// Uri renameUri(""); +// Uri sourceFileUri("~!@#$%^&*()_"); +// int result = g_fah->Rename(sourceFileUri, "testRename.txt", renameUri); +// EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); +// GTEST_LOG_(INFO) << "Rename_0004 result:" << result; +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_Rename_0004 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Rename_0004"; +// } + +// /** +// * @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: SR000H0387 +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_Rename_0005, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Rename_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 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_NE(result, OHOS::FileAccessFwk::ERR_OK); +// GTEST_LOG_(INFO) << "Rename_0005 result:" << result; +// result = g_fah->Delete(newDirUriTest); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// } +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_Rename_0005 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Rename_0005"; +// } + +// static 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: 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, external_file_access_Rename_0006, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Rename_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 newDirUriTest(""); +// result = g_fah->Mkdir(parentUri, "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); +// 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_Rename_0007 +// * @tc.name: external_file_access_Rename_0007 +// * @tc.desc: Test function of Rename interface for ERROR because of GetProxyByUri failed. +// * @tc.size: MEDIUM +// * @tc.type: FUNC +// * @tc.level Level 1 +// * @tc.require: SR000H0387 +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_Rename_0007, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Rename_0007"; +// 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); + +// std::string str = newDirUriTest.ToString(); +// if (!ReplaceBundleNameFromPath(str, "ohos.com.NotExistBundleName")) { +// GTEST_LOG_(ERROR) << "replace BundleName failed."; +// EXPECT_TRUE(false); +// } +// Uri testUri(str); +// Uri renameUri(""); +// result = g_fah->Rename(testUri, "test.txt", renameUri); +// EXPECT_EQ(result, OHOS::FileAccessFwk::E_IPCS); +// GTEST_LOG_(INFO) << "Rename_0007 result:" << result; +// result = g_fah->Delete(newDirUriTest); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// } +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_Rename_0007 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Rename_0007"; +// } + +// /** +// * @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; +// 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_(ERROR) << "external_file_access_ListFile_0000 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_ListFile_0000"; +// } + +// /** +// * @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: SR000H0387 +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_ListFile_0001, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_ListFile_0001"; +// try { +// Uri sourceFileUri(""); +// FileInfo fileInfo; +// fileInfo.uri = sourceFileUri.ToString(); +// int64_t offset = 0; +// int64_t maxCount = 1000; +// std::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); +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_ListFile_0001 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_ListFile_0001"; +// } + +// /** +// * @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: SR000H0387 +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_ListFile_0002, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_ListFile_0002"; +// 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, "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(); +// Uri sourceFile(fileInfo.uri); +// int64_t offset = 0; +// int64_t maxCount = 1000; +// std::vector fileInfoVec; +// 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_(ERROR) << "external_file_access_ListFile_0002 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_ListFile_0002"; +// } + +// /** +// * @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: SR000H0387 +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_ListFile_0003, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_ListFile_0003"; +// try { +// Uri sourceFileUri("~!@#$%^&*()_"); +// FileInfo fileInfo; +// fileInfo.uri = sourceFileUri.ToString(); +// Uri sourceFile(fileInfo.uri); +// int64_t offset = 0; +// int64_t maxCount = 1000; +// std::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); +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_ListFile_0003 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_ListFile_0003"; +// } + +// static void ListFileTdd(FileInfo fileInfo, int offset, int maxCount, FileFilter filter, +// std::vector fileInfoVec) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_ListFileTdd"; +// int ret = g_fah->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, 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_(ERROR) << "external_file_access_ListFile_0004 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_ListFile_0004"; +// } + +// /** +// * @tc.number: user_file_service_external_file_access_ListFile_0005 +// * @tc.name: external_file_access_ListFile_0005 +// * @tc.desc: Test function of ListFile interface for ERROR because of GetProxyByUri failed. +// * @tc.size: MEDIUM +// * @tc.type: FUNC +// * @tc.level Level 1 +// * @tc.require: SR000H0387 +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_ListFile_0005, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_ListFile_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 testUri(""); +// result = g_fah->CreateFile(newDirUriTest, "test.txt", testUri); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + +// std::string str = testUri.ToString(); +// if (!ReplaceBundleNameFromPath(str, "ohos.com.NotExistBundleName")) { +// GTEST_LOG_(ERROR) << "replace BundleName failed."; +// EXPECT_TRUE(false); +// } +// FileInfo fileInfo; +// fileInfo.uri = str; +// 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::E_IPCS); +// result = g_fah->Delete(newDirUriTest); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// } +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_ListFile_0005 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_ListFile_0005"; +// } + +// /** +// * @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: SR000H0387 +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_GetRoots_0000, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_GetRoots_0000"; +// try { +// vector info; +// int result = g_fah->GetRoots(info); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// 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 = "file://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_(ERROR) << "external_file_access_GetRoots_0000 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_GetRoots_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, external_file_access_Access_0000, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Access_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); +// GTEST_LOG_(INFO) << parentUri.ToString(); +// Uri newDirUriTest(""); +// result = g_fah->Mkdir(parentUri, "test1", newDirUriTest); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// Uri newFileUri(""); +// result = g_fah->CreateFile(newDirUriTest, "external_file_access_Access_0000.txt", newFileUri); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// bool isExist = false; +// result = g_fah->Access(newDirUriTest, isExist); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// EXPECT_TRUE(isExist); +// result = g_fah->Access(newFileUri, isExist); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// EXPECT_TRUE(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); +// } +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_Access_0000 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Access_0000"; +// } + +// /** +// * @tc.number: user_file_service_external_file_access_Access_0001 +// * @tc.name: external_file_access_Access_0001 +// * @tc.desc: Test function of Access interface FAILED because of GetProxyByUri failed. +// * @tc.size: MEDIUM +// * @tc.type: FUNC +// * @tc.level Level 1 +// * @tc.require: SR000H0386 +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_Access_0001, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Access_0001"; +// 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++) { +// std::string str = info[i].uri; +// if (!ReplaceBundleNameFromPath(str, "ohos.com.NotExistBundleName")) { +// GTEST_LOG_(ERROR) << "replace BundleName failed."; +// EXPECT_TRUE(false); +// } +// Uri newDirUriTest(str + "/test.txt"); +// bool isExist = false; +// result = g_fah->Access(newDirUriTest, isExist); +// EXPECT_EQ(result, OHOS::FileAccessFwk::E_IPCS); +// EXPECT_FALSE(isExist); +// } +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_Access_0001 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Access_0001"; +// } + +// /** +// * @tc.number: user_file_service_external_file_access_GetFileInfoFromUri_0000 +// * @tc.name: external_file_access_GetFileInfoFromUri_0000 +// * @tc.desc: Test function of GetFileInfoFromUri interface. +// * @tc.desc: convert the root directory uri to fileinfo and call listfile for SUCCESS. +// * @tc.size: MEDIUM +// * @tc.type: FUNC +// * @tc.level Level 1 +// * @tc.require: SR000H0386 +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_GetFileInfoFromUri_0000, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_GetFileInfoFromUri_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); +// FileInfo fileinfo; +// result = g_fah->GetFileInfoFromUri(parentUri, fileinfo); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + +// int64_t offset = 0; +// int64_t maxCount = 1000; +// FileFilter filter; +// std::vector fileInfoVecTemp; +// result = g_fah->ListFile(fileinfo, offset, maxCount, filter, fileInfoVecTemp); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// EXPECT_GE(fileInfoVecTemp.size(), OHOS::FileAccessFwk::ERR_OK); +// } +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_GetFileInfoFromUri_0000 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_GetFileInfoFromUri_0000"; +// } + +// /** +// * @tc.number: user_file_service_external_file_access_GetFileInfoFromUri_0001 +// * @tc.name: external_file_access_GetFileInfoFromUri_0001 +// * @tc.desc: Test function of GetFileInfoFromUri interface. +// * @tc.desc: convert the general directory uri to fileinfo and call listfile for SUCCESS. +// * @tc.size: MEDIUM +// * @tc.type: FUNC +// * @tc.level Level 1 +// * @tc.require: SR000H0386 +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_GetFileInfoFromUri_0001, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_GetFileInfoFromUri_0001"; +// 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, "testDir", newDirUriTest); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + +// FileInfo dirInfo; +// result = g_fah->GetFileInfoFromUri(newDirUriTest, dirInfo); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + +// int64_t offset = 0; +// int64_t maxCount = 1000; +// FileFilter filter; +// std::vector fileInfoVec; +// result = g_fah->ListFile(dirInfo, offset, maxCount, filter, fileInfoVec); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// EXPECT_GE(fileInfoVec.size(), OHOS::FileAccessFwk::ERR_OK); + +// result = g_fah->Delete(newDirUriTest); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// } +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_GetFileInfoFromUri_0001 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_GetFileInfoFromUri_0001"; +// } + +// /** +// * @tc.number: user_file_service_external_file_access_GetFileInfoFromUri_0002 +// * @tc.name: external_file_access_GetFileInfoFromUri_0002 +// * @tc.desc: Test function of GetFileInfoFromUri interface. +// * @tc.desc: convert the general filepath uri to fileinfo and call listfile for ERROR. +// * @tc.size: MEDIUM +// * @tc.type: FUNC +// * @tc.level Level 1 +// * @tc.require: SR000H0386 +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_GetFileInfoFromUri_0002, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_GetFileInfoFromUri_0002"; +// 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, "testDir", newDirUriTest); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// Uri newFileUri(""); +// result = g_fah->CreateFile(newDirUriTest, "external_file_access_GetFileInfoFromUri_0002.txt", newFileUri); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + +// FileInfo fileinfo; +// result = g_fah->GetFileInfoFromUri(newFileUri, fileinfo); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + +// int64_t offset = 0; +// int64_t maxCount = 1000; +// FileFilter filter; +// std::vector fileInfoVecTemp; +// result = g_fah->ListFile(fileinfo, offset, maxCount, filter, fileInfoVecTemp); +// EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); +// EXPECT_EQ(fileInfoVecTemp.size(), OHOS::FileAccessFwk::ERR_OK); + +// result = g_fah->Delete(newDirUriTest); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// } +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_GetFileInfoFromUri_0002 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_GetFileInfoFromUri_0002"; +// } + +// /** +// * @tc.number: user_file_service_external_file_access_GetFileInfoFromUri_0003 +// * @tc.name: external_file_access_GetFileInfoFromUri_0003 +// * @tc.desc: Test function of GetFileInfoFromUri interface. +// * @tc.desc: convert the root directory uri to fileinfo for CheckUri failed. +// * @tc.size: MEDIUM +// * @tc.type: FUNC +// * @tc.level Level 1 +// * @tc.require: SR000H0386 +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_GetFileInfoFromUri_0003, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_GetFileInfoFromUri_0003"; +// 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(std::string("\?\?\?\?/") + info[i].uri); +// FileInfo fileinfo; +// result = g_fah->GetFileInfoFromUri(parentUri, fileinfo); +// EXPECT_EQ(result, OHOS::FileAccessFwk::E_URIS); +// } +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_GetFileInfoFromUri_0003 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_GetFileInfoFromUri_0003"; +// } + +// /** +// * @tc.number: user_file_service_external_file_access_GetFileInfoFromUri_0004 +// * @tc.name: external_file_access_GetFileInfoFromUri_0004 +// * @tc.desc: Test function of GetFileInfoFromUri interface. +// * @tc.desc: convert the root directory uri to fileinfo failed because of GetProxyByUri failed. +// * @tc.size: MEDIUM +// * @tc.type: FUNC +// * @tc.level Level 1 +// * @tc.require: SR000H0386 +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_GetFileInfoFromUri_0004, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_GetFileInfoFromUri_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++) { +// std::string str = info[i].uri; +// if (!ReplaceBundleNameFromPath(str, "ohos.com.NotExistBundleName")) { +// GTEST_LOG_(ERROR) << "replace BundleName failed."; +// EXPECT_TRUE(false); +// } +// Uri parentUri(str); +// FileInfo fileinfo; +// result = g_fah->GetFileInfoFromUri(parentUri, fileinfo); +// EXPECT_EQ(result, OHOS::FileAccessFwk::E_IPCS); +// } +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_GetFileInfoFromUri_0004 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_GetFileInfoFromUri_0004"; +// } + +// /** +// * @tc.number: user_file_service_external_file_access_GetFileInfoFromUri_0005 +// * @tc.name: external_file_access_GetFileInfoFromUri_0005 +// * @tc.desc: Test function of GetFileInfoFromUri interface. +// * @tc.desc: convert the invalid uri to fileinfo failed. +// * @tc.size: MEDIUM +// * @tc.type: FUNC +// * @tc.level Level 1 +// * @tc.require: SR000H0386 +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_GetFileInfoFromUri_0005, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_GetFileInfoFromUri_0005"; +// try { +// Uri uri("~!@#$%^&*()_"); +// FileInfo fileInfo; +// int result = g_fah->GetFileInfoFromUri(uri, fileInfo); +// EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); + +// uri = Uri("/"); +// result = g_fah->GetFileInfoFromUri(uri, fileInfo); +// EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); + +// uri = Uri(""); +// result = g_fah->GetFileInfoFromUri(uri, fileInfo); +// EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_GetFileInfoFromUri_0005 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_GetFileInfoFromUri_0005"; +// } + +// /** +// * @tc.number: user_file_service_external_file_access_creator_0000 +// * @tc.name: external_file_access_creator_0000 +// * @tc.desc: Test function of creator interface. +// * @tc.desc: create file access helper for SUCCESS. +// * @tc.size: MEDIUM +// * @tc.type: FUNC +// * @tc.level Level 1 +// * @tc.require: SR000H0386 +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_creator_0000, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_creator_0000"; +// try { +// setuid(UID_TRANSFORM_TMP); +// std::pair, int> helper = FileAccessHelper::Creator(g_context); +// setuid(UID_DEFAULT); +// ASSERT_TRUE(helper.first != nullptr); +// bool succ = helper.first->Release(); +// EXPECT_TRUE(succ); +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_creator_0000 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_creator_0000"; +// } + +// /** +// * @tc.number: user_file_service_external_file_access_creator_0001 +// * @tc.name: external_file_access_creator_0001 +// * @tc.desc: Test function of creator interface. +// * @tc.desc: create file access helper for SUCCESS. +// * @tc.size: MEDIUM +// * @tc.type: FUNC +// * @tc.level Level 1 +// * @tc.require: SR000H0386 +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_creator_0001, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_creator_0001"; +// try { +// AAFwk::Want want; +// vector wantVec; +// setuid(UID_TRANSFORM_TMP); +// 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.UserFile.ExternalFileManager" && +// element.GetAbilityName() == "FileExtensionAbility") { +// want = wantVec[i]; +// sus = true; +// break; +// } +// } +// EXPECT_TRUE(sus); +// vector wants{want}; +// std::pair, int> helper = FileAccessHelper::Creator(g_context, wants); +// setuid(UID_DEFAULT); +// ASSERT_TRUE(helper.first != nullptr); +// bool succ = helper.first->Release(); +// EXPECT_TRUE(succ); +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_creator_0001 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_creator_0001"; +// } + +// /** +// * @tc.number: user_file_service_external_file_access_creator_0002 +// * @tc.name: external_file_access_creator_0002 +// * @tc.desc: Test function of creator interface. +// * @tc.desc: create file access helper for FAILED. +// * @tc.size: MEDIUM +// * @tc.type: FUNC +// * @tc.level Level 1 +// * @tc.require: SR000H0386 +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_creator_0002, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_creator_0002"; +// try { +// std::shared_ptr context = nullptr; +// std::pair, int> helper = FileAccessHelper::Creator(context); +// ASSERT_TRUE(helper.first == nullptr); +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_creator_0002 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_creator_0002"; +// } + +// /** +// * @tc.number: user_file_service_external_file_access_creator_0003 +// * @tc.name: external_file_access_creator_0003 +// * @tc.desc: Test function of creator interface. +// * @tc.desc: create file access helper for FAILED. +// * @tc.size: MEDIUM +// * @tc.type: FUNC +// * @tc.level Level 1 +// * @tc.require: SR000H0386 +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_creator_0003, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_creator_0003"; +// try { +// std::vector wants; +// std::shared_ptr context = nullptr; +// std::pair, int> helper = FileAccessHelper::Creator(context, wants); +// ASSERT_TRUE(helper.first == nullptr); +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_creator_0003 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_creator_0003"; +// } + +// /** +// * @tc.number: user_file_service_external_file_access_creator_0004 +// * @tc.name: external_file_access_creator_0004 +// * @tc.desc: Test function of creator interface. +// * @tc.desc: create file access helper for FAILED. +// * @tc.size: MEDIUM +// * @tc.type: FUNC +// * @tc.level Level 1 +// * @tc.require: SR000H0386 +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_creator_0004, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_creator_0004"; +// try { +// std::vector wants; +// std::pair, int> helper = FileAccessHelper::Creator(g_context, wants); +// ASSERT_TRUE(helper.first == nullptr); +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_creator_0004 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_creator_0004"; +// } + +// /** +// * @tc.number: user_file_service_external_file_access_creator_0005 +// * @tc.name: external_file_access_creator_0005 +// * @tc.desc: Test function of creator interface. +// * @tc.desc: create file access helper for FAILED. +// * @tc.size: MEDIUM +// * @tc.type: FUNC +// * @tc.level Level 1 +// * @tc.require: SR000H0386 +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_creator_0005, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_creator_0005"; +// try { +// AAFwk::Want want; +// want.SetElementName("NotExistBundleName", "NotExistAbilityName"); +// std::vector wants{want}; +// std::pair, int> helper = FileAccessHelper::Creator(g_context, wants); +// ASSERT_TRUE(helper.first == nullptr); +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_creator_0005 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_creator_0005"; +// } + +// /** +// * @tc.number: user_file_service_external_file_access_creator_0006 +// * @tc.name: external_file_access_creator_0006 +// * @tc.desc: Test function of creator interface. +// * @tc.desc: create file access helper for FAILED. +// * @tc.size: MEDIUM +// * @tc.type: FUNC +// * @tc.level Level 1 +// * @tc.require: SR000H0386 +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_creator_0006, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_creator_0006"; +// try { +// std::vector wants; +// std::shared_ptr context = nullptr; +// std::pair, int> helper = FileAccessHelper::Creator(context, wants); +// ASSERT_TRUE(helper.first == nullptr); +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_creator_0006 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_creator_0006"; +// } + +// /** +// * @tc.number: user_file_service_external_file_access_creator_0007 +// * @tc.name: external_file_access_creator_0007 +// * @tc.desc: Test function of creator interface. +// * @tc.desc: create file access helper for FAILED. +// * @tc.size: MEDIUM +// * @tc.type: FUNC +// * @tc.level Level 1 +// * @tc.require: SR000H0386 +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_creator_0007, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_creator_0007"; +// try { +// std::vector wants; +// shared_ptr helper = FileAccessHelper::Creator(g_context->GetToken(), wants); +// ASSERT_TRUE(helper == nullptr); +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_creator_0007 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_creator_0007"; +// } + +// /** +// * @tc.number: user_file_service_external_file_access_creator_0008 +// * @tc.name: external_file_access_creator_0008 +// * @tc.desc: Test function of creator interface. +// * @tc.desc: create file access helper for FAILED. +// * @tc.size: MEDIUM +// * @tc.type: FUNC +// * @tc.level Level 1 +// * @tc.require: SR000H0386 +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_creator_0008, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_creator_0008"; +// try { +// AAFwk::Want want; +// want.SetElementName("NotExistBundleName", "NotExistAbilityName"); +// std::vector wants{want}; +// shared_ptr helper = FileAccessHelper::Creator(g_context->GetToken(), wants); +// ASSERT_TRUE(helper == nullptr); +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_creator_0008 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_creator_0008"; +// } + +// /** +// * @tc.number: user_file_service_external_file_access_GetConnectInfo_0000 +// * @tc.name: external_file_access_GetConnectInfo_0000 +// * @tc.desc: Test function of GetConnectInfo interface. +// * @tc.desc: helper invoke GetConnectInfo for FAILED. +// * @tc.size: MEDIUM +// * @tc.type: FUNC +// * @tc.level Level 1 +// * @tc.require: SR000H0386 +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_GetConnectInfo_0000, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_GetConnectInfo_0000"; +// try { +// std::shared_ptr connectInfo = g_fah->GetConnectInfo("NotExistBundleName"); +// ASSERT_TRUE(connectInfo == nullptr); +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_GetConnectInfo_0000 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_GetConnectInfo_0000"; +// } + +// /** +// * @tc.number: user_file_service_external_file_access_GetKeyOfWants_0000 +// * @tc.name: external_file_access_GetKeyOfWants_0000 +// * @tc.desc: Test function of GetKeyOfWants interface. +// * @tc.desc: helper invoke GetKeyOfWants for FAILED. +// * @tc.size: MEDIUM +// * @tc.type: FUNC +// * @tc.level Level 1 +// * @tc.require: SR000H0386 +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_GetKeyOfWants_0000, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_GetKeyOfWants_0000"; +// try { +// AAFwk::Want want; +// want.SetElementName("NotExistBundleName", "NotExistAbilityName"); +// std::string key = g_fah->GetKeyOfWants(want); +// ASSERT_TRUE(key.empty()); +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_GetKeyOfWants_0000 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_GetKeyOfWants_0000"; +// } + +// /** +// * @tc.number: user_file_service_external_file_access_GetProxyByUri_0000 +// * @tc.name: external_file_access_GetProxyByUri_0000 +// * @tc.desc: Test function of GetProxyByUri interface. +// * @tc.desc: helper invoke GetProxyByUri for FAILED. +// * @tc.size: MEDIUM +// * @tc.type: FUNC +// * @tc.level Level 1 +// * @tc.require: SR000H0386 +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_GetProxyByUri_0000, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_GetProxyByUri_0000"; +// try { +// Uri uri(""); +// sptr proxy = g_fah->GetProxyByUri(uri); +// ASSERT_TRUE(proxy == nullptr); +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_GetProxyByUri_0000 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_GetProxyByUri_0000"; +// } + +// /** +// * @tc.number: user_file_service_external_file_access_GetProxyByUri_0001 +// * @tc.name: external_file_access_GetProxyByUri_0001 +// * @tc.desc: Test function of GetProxyByUri interface. +// * @tc.desc: helper invoke GetProxyByUri for FAILED. +// * @tc.size: MEDIUM +// * @tc.type: FUNC +// * @tc.level Level 1 +// * @tc.require: SR000H0386 +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_GetProxyByUri_0001, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_GetProxyByUri_0001"; +// try { +// Uri uri("file://com.ohos.UserFile.NotExistBundleName/data/storage/el1/bundle/storage_daemon"); +// sptr proxy = g_fah->GetProxyByUri(uri); +// ASSERT_TRUE(proxy == nullptr); +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_GetProxyByUri_0001 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_GetProxyByUri_0001"; +// } + +// /** +// * @tc.number: user_file_service_external_file_access_Query_0000 +// * @tc.name: external_file_access_Query_0000 +// * @tc.desc: Test function of Query directory for SUCCESS. +// * @tc.size: MEDIUM +// * @tc.type: FUNC +// * @tc.level Level 1 +// * @tc.require: I6S4VV +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_Query_0000, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Query_0000"; +// try { +// vector info; +// int result = g_fah->GetRoots(info); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// Uri parentUri(info[0].uri); +// GTEST_LOG_(INFO) << parentUri.ToString(); +// Uri newDirUriTest1(""); +// Uri newDirUriTest2(""); +// std::string displayName = "QueryTest1"; +// std::string relativePath = "/data/storage/el1/bundle/storage_daemon/"; +// result = g_fah->Mkdir(parentUri, "QueryTest1", newDirUriTest1); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// result = g_fah->Mkdir(newDirUriTest1, "QueryTest2", newDirUriTest2); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// Uri newFileUri1(""); +// Uri newFileUri2(""); +// std::string fileName = "external_file_access_Query_00001.txt"; +// result = g_fah->CreateFile(newDirUriTest1, fileName, newFileUri1); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// result = g_fah->CreateFile(newDirUriTest2, fileName, newFileUri2); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// int fd = -1; +// std::string buff = "query test"; +// result = g_fah->OpenFile(newFileUri1, WRITE_READ, fd); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// ssize_t fileSize = write(fd, buff.c_str(), buff.size()); +// close(fd); +// EXPECT_EQ(fileSize, buff.size()); +// result = g_fah->OpenFile(newFileUri2, WRITE_READ, fd); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// fileSize = write(fd, buff.c_str(), buff.size()); +// close(fd); +// EXPECT_EQ(fileSize, buff.size()); +// json testJson = { +// {RELATIVE_PATH, " "}, +// {DISPLAY_NAME, " "}, +// {FILE_SIZE, " "}, +// {DATE_MODIFIED, " "}, +// {DATE_ADDED, " "}, +// {HEIGHT, " "}, +// {WIDTH, " "}, +// {DURATION, " "} +// }; +// auto testJsonString = testJson.dump(); +// result = g_fah->Query(newDirUriTest1, testJsonString); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// auto jsonObject = json::parse(testJsonString); +// EXPECT_EQ(jsonObject.at(DISPLAY_NAME), displayName); +// EXPECT_EQ(jsonObject.at(FILE_SIZE), buff.size() * 2); +// EXPECT_EQ(jsonObject.at(RELATIVE_PATH), relativePath); +// ASSERT_TRUE(jsonObject.at(DATE_MODIFIED) > 0); +// ASSERT_TRUE(jsonObject.at(DATE_ADDED) > 0); +// GTEST_LOG_(INFO) << " result" << testJsonString; +// result = g_fah->Delete(newDirUriTest1); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_Query_0000 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Query_0000"; +// } + +// /** +// * @tc.number: user_file_service_external_file_access_Query_0001 +// * @tc.name: external_file_access_Query_0001 +// * @tc.desc: Test function of Query file for SUCCESS. +// * @tc.size: MEDIUM +// * @tc.type: FUNC +// * @tc.level Level 1 +// * @tc.require: I6S4VV +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_Query_0001, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Query_0001"; +// try { +// vector info; +// int result = g_fah->GetRoots(info); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// Uri parentUri(info[0].uri); +// GTEST_LOG_(INFO) << parentUri.ToString(); +// Uri newDirUriTest(""); +// result = g_fah->Mkdir(parentUri, "QueryTest3", newDirUriTest); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// Uri newFileUri(""); +// std::string displayName = "external_file_access_Query_0001.txt"; +// std::string relativePath = "/data/storage/el1/bundle/storage_daemon/QueryTest3/"; +// result = g_fah->CreateFile(newDirUriTest, displayName, newFileUri); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// int fd = -1; +// result = g_fah->OpenFile(newFileUri, WRITE_READ, fd); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// std::string buff = "query test"; +// ssize_t fileSize = write(fd, buff.c_str(), buff.size()); +// close(fd); +// EXPECT_EQ(fileSize, buff.size()); +// json testJson = { +// {RELATIVE_PATH, " "}, +// {DISPLAY_NAME, " "}, +// {FILE_SIZE, " "}, +// {DATE_MODIFIED, " "}, +// {DATE_ADDED, " "}, +// {HEIGHT, " "}, +// {WIDTH, " "}, +// {DURATION, " "} +// }; +// auto testJsonString = testJson.dump(); +// result = g_fah->Query(newFileUri, testJsonString); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// auto jsonObject = json::parse(testJsonString); +// EXPECT_EQ(jsonObject.at(DISPLAY_NAME), displayName); +// EXPECT_EQ(jsonObject.at(FILE_SIZE), buff.size()); +// EXPECT_EQ(jsonObject.at(RELATIVE_PATH), relativePath); +// ASSERT_TRUE(jsonObject.at(DATE_MODIFIED) > 0); +// ASSERT_TRUE(jsonObject.at(DATE_ADDED) > 0); +// GTEST_LOG_(INFO) << " result" << testJsonString; +// result = g_fah->Delete(newDirUriTest); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_Query_0001 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Query_0001"; +// } + +// /** +// * @tc.number: user_file_service_external_file_access_Query_0002 +// * @tc.name: external_file_access_Query_0002 +// * @tc.desc: Test function of Query directory for SUCCESS. +// * @tc.size: MEDIUM +// * @tc.type: FUNC +// * @tc.level Level 1 +// * @tc.require: I6S4VV +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_Query_0002, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Query_0002"; +// try { +// vector info; +// int result = g_fah->GetRoots(info); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// Uri parentUri(info[0].uri); +// GTEST_LOG_(INFO) << parentUri.ToString(); +// Uri newDirUriTest1(""); +// Uri newDirUriTest2(""); +// result = g_fah->Mkdir(parentUri, "QueryTest4", newDirUriTest1); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// result = g_fah->Mkdir(newDirUriTest1, "QueryTest5", newDirUriTest2); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// Uri newFileUri1(""); +// Uri newFileUri2(""); +// std::string fileName = "external_file_access_Query_00001.txt"; +// result = g_fah->CreateFile(newDirUriTest1, fileName, newFileUri1); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// result = g_fah->CreateFile(newDirUriTest2, fileName, newFileUri2); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// int fd = -1; +// std::string buff = "query test"; +// result = g_fah->OpenFile(newFileUri1, WRITE_READ, fd); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// ssize_t fileSize = write(fd, buff.c_str(), buff.size()); +// close(fd); +// EXPECT_EQ(fileSize, buff.size()); +// result = g_fah->OpenFile(newFileUri2, WRITE_READ, fd); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// fileSize = write(fd, buff.c_str(), buff.size()); +// close(fd); +// EXPECT_EQ(fileSize, buff.size()); +// json testJson = { +// {FILE_SIZE, " "} +// }; +// auto testJsonString = testJson.dump(); +// result = g_fah->Query(newDirUriTest1, testJsonString); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// auto jsonObject = json::parse(testJsonString); +// EXPECT_EQ(jsonObject.at(FILE_SIZE), buff.size() * 2); +// GTEST_LOG_(INFO) << " result" << testJsonString; +// result = g_fah->Delete(newDirUriTest1); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_Query_0002 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Query_0002"; +// } + +// /** +// * @tc.number: user_file_service_external_file_access_Query_0003 +// * @tc.name: external_file_access_Query_0003 +// * @tc.desc: Test function of Query interface for which is unreadable code. +// * @tc.size: MEDIUM +// * @tc.type: FUNC +// * @tc.level Level 1 +// * @tc.require: I6S4VV +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_Query_0003, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Query_0003"; +// try { +// Uri testUri("&*()*/?"); +// json testJson = { +// {RELATIVE_PATH, " "}, +// {DISPLAY_NAME, " "} +// }; +// auto testJsonString = testJson.dump(); +// int result = g_fah->Query(testUri, testJsonString); +// EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); +// GTEST_LOG_(INFO) << " result" << testJsonString; +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_Query_0003 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Query_0003"; +// } + +// /** +// * @tc.number: user_file_service_external_file_access_Query_0004 +// * @tc.name: external_file_access_Query_0004 +// * @tc.desc: Test function of Query interface for which all column nonexistence. +// * @tc.size: MEDIUM +// * @tc.type: FUNC +// * @tc.level Level 1 +// * @tc.require: I6S4VV +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_Query_0004, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Query_0004"; +// try { +// vector info; +// int result = g_fah->GetRoots(info); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// Uri parentUri(info[0].uri); +// GTEST_LOG_(INFO) << parentUri.ToString(); +// Uri newDirUriTest(""); +// result = g_fah->Mkdir(parentUri, "QueryTest6", newDirUriTest); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// json testJson = { +// {"001", " "}, +// {"#", " "}, +// {"test", " "}, +// {"target", " "} +// }; +// auto testJsonString = testJson.dump(); +// result = g_fah->Query(newDirUriTest, testJsonString); +// EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); +// GTEST_LOG_(INFO) << " result" << testJsonString; +// result = g_fah->Delete(newDirUriTest); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_Query_0004 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Query_0004"; +// } + +// /** +// * @tc.number: user_file_service_external_file_access_Query_0005 +// * @tc.name: external_file_access_Query_0005 +// * @tc.desc: Test function of Query interface for which part of column nonexistence. +// * @tc.size: MEDIUM +// * @tc.type: FUNC +// * @tc.level Level 1 +// * @tc.require: I6S4VV +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_Query_0005, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Query_0005"; +// try { +// vector info; +// int result = g_fah->GetRoots(info); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// Uri parentUri(info[0].uri); +// GTEST_LOG_(INFO) << parentUri.ToString(); +// Uri newDirUriTest(""); +// result = g_fah->Mkdir(parentUri, "QueryTest7", newDirUriTest); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// json testJson = { +// {RELATIVE_PATH, " "}, +// {DISPLAY_NAME, " "}, +// {"test", " "} +// }; +// auto testJsonString = testJson.dump(); +// result = g_fah->Query(newDirUriTest, testJsonString); +// EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); +// GTEST_LOG_(INFO) << " result" << testJsonString; +// result = g_fah->Delete(newDirUriTest); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_Query_0005 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Query_0005"; +// } + +// /** +// * @tc.number: user_file_service_external_file_access_Query_0006 +// * @tc.name: external_file_access_Query_0006 +// * @tc.desc: Test function of Query interface for which column is null. +// * @tc.size: MEDIUM +// * @tc.type: FUNC +// * @tc.level Level 1 +// * @tc.require: I6S4VV +// */ +// HWTEST_F(FileExtensionHelperTest, external_file_access_Query_0006, testing::ext::TestSize.Level1) +// { +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin external_file_access_Query_0006"; +// try { +// vector info; +// int result = g_fah->GetRoots(info); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// Uri parentUri(info[0].uri); +// GTEST_LOG_(INFO) << parentUri.ToString(); +// Uri newDirUriTest(""); +// result = g_fah->Mkdir(parentUri, "QueryTest8", newDirUriTest); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// json testJson; +// auto testJsonString = testJson.dump(); +// result = g_fah->Query(newDirUriTest, testJsonString); +// EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); +// GTEST_LOG_(INFO) << " result" << testJsonString; +// result = g_fah->Delete(newDirUriTest); +// EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); +// } catch (...) { +// GTEST_LOG_(ERROR) << "external_file_access_Query_0006 occurs an exception."; +// } +// GTEST_LOG_(INFO) << "FileExtensionHelperTest-end external_file_access_Query_0006"; +// } } // namespace \ No newline at end of file