From 5dc6c7a3b3aff7ac5aab59fa6a576a8342e4d674 Mon Sep 17 00:00:00 2001 From: chensihan Date: Thu, 10 Oct 2024 09:40:56 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E5=90=8C=E6=AD=A5=20Signed-off-by:=20chens?= =?UTF-8?q?ihan=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../file_uri_native/file_uri_test.cpp | 29 ++ .../include/file_permission_mock.h | 55 ++++ .../src/file_permission_mock.cpp | 65 +++++ .../library_func_mock/library_func_mock.cpp | 49 ++++ .../library_func_mock/library_func_mock.h | 50 ++++ .../parameter_mock/include/parameter_mock.h | 39 +++ .../parameter_mock/src/parameter_mock.cpp | 27 ++ .../backup_impl/service_proxy_test.cpp | 35 +++ .../backup_ext/untar_file_sup_test.cpp | 269 ++++++++++++++++++ 9 files changed, 618 insertions(+) create mode 100644 tests/mock/file_permission_native_mock/include/file_permission_mock.h create mode 100644 tests/mock/file_permission_native_mock/src/file_permission_mock.cpp create mode 100644 tests/mock/library_func_mock/library_func_mock.cpp create mode 100644 tests/mock/library_func_mock/library_func_mock.h create mode 100644 tests/mock/parameter_mock/include/parameter_mock.h create mode 100644 tests/mock/parameter_mock/src/parameter_mock.cpp create mode 100644 tests/unittests/backup_ext/untar_file_sup_test.cpp diff --git a/test/unittest/file_uri_native/file_uri_test.cpp b/test/unittest/file_uri_native/file_uri_test.cpp index d02975a69..45b5fe190 100644 --- a/test/unittest/file_uri_native/file_uri_test.cpp +++ b/test/unittest/file_uri_native/file_uri_test.cpp @@ -268,4 +268,33 @@ namespace OHOS::AppFileService::ModuleFileUri { EXPECT_EQ(folderUriObject.GetFullDirectoryUri(), folderDirectoryUri); GTEST_LOG_(INFO) << "FileUriTest-end File_uri_GetPath_0000"; } + + /** + * @tc.name: File_uri_IsRemoteUri_0000 + * @tc.desc: Test function of IsRemoteUri() interface for SUCCESS. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: + */ + HWTEST_F(FileUriTest, File_uri_IsRemoteUri_0000, testing::ext::TestSize.Level1) + { + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetFullDirectoryUri_0000"; + string fileStr = "file://" + BUNDLE_A + "/data/test"; + FileUri fileUriObject(fileStr); + EXPECT_EQ(fileUriObject.IsRemoteUri(), false); + + string fileStr2 = "file://" + BUNDLE_A + "/data/test?networkid="; + FileUri fileUriObject2(fileStr2); + EXPECT_EQ(fileUriObject2.IsRemoteUri(), false); + + string fileStr3 = "file://" + BUNDLE_A + "/data/test?networkid=123456/"; + FileUri fileUriObject3(fileStr3); + EXPECT_EQ(fileUriObject3.IsRemoteUri(), false); + + string fileStr4 = "file://" + BUNDLE_A + "/data/test?networkid=123456"; + FileUri fileUriObject4(fileStr4); + EXPECT_EQ(fileUriObject4.IsRemoteUri(), true); + GTEST_LOG_(INFO) << "FileUriTest-end File_uri_GetPath_0000"; + } } \ No newline at end of file diff --git a/tests/mock/file_permission_native_mock/include/file_permission_mock.h b/tests/mock/file_permission_native_mock/include/file_permission_mock.h new file mode 100644 index 000000000..199421815 --- /dev/null +++ b/tests/mock/file_permission_native_mock/include/file_permission_mock.h @@ -0,0 +1,55 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef FILEMANAGEMENT_FILE_PERMISSION_MOCK_MOCK_H +#define FILEMANAGEMENT_FILE_PERMISSION_MOCK_MOCK_H +#include + +#include "file_permission.h" +namespace OHOS { +namespace AppFileService { +class IFilePermissionMock { +public: + virtual ~IFilePermissionMock() = default; + virtual int32_t PersistPermission(const vector &uriPolicies, + deque &errorResults) = 0; + virtual int32_t RevokePermission(const vector &uriPolicies, + deque &errorResults) = 0; + virtual int32_t ActivatePermission(const vector &uriPolicies, + deque &errorResults) = 0; + virtual int32_t DeactivatePermission(const vector &uriPolicies, + deque &errorResults) = 0; + virtual int32_t CheckPersistentPermission(const vector &uriPolicies, + vector &errorResults) = 0; +public: + static inline std::shared_ptr filePermissionMock = nullptr; +}; + +class FilePermissionMock : public IFilePermissionMock { +public: + MOCK_METHOD2(PersistPermission, + int32_t(const vector &uriPolicies, deque &errorResults)); + MOCK_METHOD2(RevokePermission, int32_t(const vector &uriPolicies, + deque &errorResults)); + MOCK_METHOD2(ActivatePermission, int32_t(const vector &uriPolicies, + deque &errorResults)); + MOCK_METHOD2(DeactivatePermission, int32_t(const vector &uriPolicies, + deque &errorResults)); + MOCK_METHOD2(CheckPersistentPermission, int32_t(const vector &uriPolicies, + vector &errorResults)); +}; +} +} +#endif diff --git a/tests/mock/file_permission_native_mock/src/file_permission_mock.cpp b/tests/mock/file_permission_native_mock/src/file_permission_mock.cpp new file mode 100644 index 000000000..f46fb4243 --- /dev/null +++ b/tests/mock/file_permission_native_mock/src/file_permission_mock.cpp @@ -0,0 +1,65 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "file_permission_mock.h" + +namespace OHOS { +using namespace AppFileService; +int32_t FilePermission::PersistPermission(const vector &uriPolicies, + deque &errorResults) +{ + if (IFilePermissionMock::filePermissionMock == nullptr) { + return 0; + } + + return IFilePermissionMock::filePermissionMock->PersistPermission(uriPolicies, errorResults); +} + +int32_t FilePermission::RevokePermission(const vector &uriPolicies, + deque &errorResults) +{ + if (IFilePermissionMock::filePermissionMock == nullptr) { + return 0; + } + + return IFilePermissionMock::filePermissionMock->RevokePermission(uriPolicies, errorResults); +} + +int32_t FilePermission::ActivatePermission(const vector &uriPolicies, + deque &errorResults) +{ + if (IFilePermissionMock::filePermissionMock == nullptr) { + return 0; + } + + return IFilePermissionMock::filePermissionMock->ActivatePermission(uriPolicies, errorResults); +} +int32_t FilePermission::DeactivatePermission(const vector &uriPolicies, + deque &errorResults) +{ + if (IFilePermissionMock::filePermissionMock == nullptr) { + return 0; + } + + return IFilePermissionMock::filePermissionMock->DeactivatePermission(uriPolicies, errorResults); +} +int32_t FilePermission::CheckPersistentPermission(const vector &uriPolicies, vector &errorResults) +{ + if (IFilePermissionMock::filePermissionMock == nullptr) { + return 0; + } + + return IFilePermissionMock::filePermissionMock->CheckPersistentPermission(uriPolicies, errorResults); +} +} \ No newline at end of file diff --git a/tests/mock/library_func_mock/library_func_mock.cpp b/tests/mock/library_func_mock/library_func_mock.cpp new file mode 100644 index 000000000..5ff83cc46 --- /dev/null +++ b/tests/mock/library_func_mock/library_func_mock.cpp @@ -0,0 +1,49 @@ +/* +* Copyright (c) 2024 Huawei Device Co., Ltd. +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. + */ + +#include "library_func_mock.h" + +using namespace OHOS::AppFileService; +int fseeko(FILE *stream, off_t offset, int whence) +{ + if (LibraryFunc::libraryFunc_ == nullptr) { + return -1; + } + return LibraryFunc::libraryFunc_->fseeko(stream, offset, whence); +} + +off_t ftello(FILE *stream) +{ + if (LibraryFunc::libraryFunc_ == nullptr) { + return -1; + } + return LibraryFunc::libraryFunc_->ftello(stream); +} + +int access(const char *pathname, int mode) +{ + if (LibraryFunc::libraryFunc_ == nullptr) { + return -1; + } + return LibraryFunc::libraryFunc_->access(pathname, mode); +} + +int mkdir(const char *pathname, mode_t mode) +{ + if (LibraryFunc::libraryFunc_ == nullptr) { + return -1; + } + return LibraryFunc::libraryFunc_->mkdir(pathname, mode); +} \ No newline at end of file diff --git a/tests/mock/library_func_mock/library_func_mock.h b/tests/mock/library_func_mock/library_func_mock.h new file mode 100644 index 000000000..a6cc5a1e2 --- /dev/null +++ b/tests/mock/library_func_mock/library_func_mock.h @@ -0,0 +1,50 @@ +/* +* Copyright (c) 2024 Huawei Device Co., Ltd. +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +#ifndef FILEMANAGEMENT_APP_FILE_SERVICE_LIBRARY_FUNC_MOCK_H +#define FILEMANAGEMENT_APP_FILE_SERVICE_LIBRARY_FUNC_MOCK_H + +#include + +#include +#include +#include +#include +#include + +namespace OHOS { +namespace AppFileService { +class LibraryFunc { +public: + virtual ~LibraryFunc() = default; + virtual int fseeko(FILE *stream, off_t offset, int whence) = 0; + virtual off_t ftello(FILE *stream) = 0; + virtual int access(const char *pathname, int mode) = 0; + virtual int mkdir(const char *pathname, mode_t mode) = 0; +public: + static inline std::shared_ptr libraryFunc_ = nullptr; +}; + +class LibraryFuncMock : public LibraryFunc { +public: + MOCK_METHOD3(fseeko, int(FILE *stream, off_t offset, int whence)); + MOCK_METHOD1(ftello, off_t(FILE *stream)); + MOCK_METHOD2(access, int(const char *pathname, int mode)); + MOCK_METHOD2(mkdir, int(const char *pathname, mode_t mode)); +}; +} // namespace AppFileService +} // namespace OHOS + +#endif // FILEMANAGEMENT_APP_FILE_SERVICE_LIBRARY_FUNC_MOCK_H diff --git a/tests/mock/parameter_mock/include/parameter_mock.h b/tests/mock/parameter_mock/include/parameter_mock.h new file mode 100644 index 000000000..76136ae9a --- /dev/null +++ b/tests/mock/parameter_mock/include/parameter_mock.h @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2022-2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef MOCK_OHOS_MOCK_PARAMETER_H +#define MOCK_OHOS_MOCK_PARAMETER_H + +#include +#include + +namespace OHOS { +namespace AppFileService { +class IParamMoc { +public: + virtual ~IParamMoc() = default; +public: + virtual int GetParameter(const char *key, const char *def, char *value, uint32_t len) = 0; +public: + static inline std::shared_ptr paramMoc = nullptr; +}; + +class ParamMoc : public IParamMoc { +public: + MOCK_METHOD4(GetParameter, int(const char *key, const char *def, char *value, uint32_t len)); +}; +} +} +#endif \ No newline at end of file diff --git a/tests/mock/parameter_mock/src/parameter_mock.cpp b/tests/mock/parameter_mock/src/parameter_mock.cpp new file mode 100644 index 000000000..106ce53d8 --- /dev/null +++ b/tests/mock/parameter_mock/src/parameter_mock.cpp @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2022-2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "parameter_mock.h" + +#include "parameter.h" + +using namespace OHOS::AppFileService; +int GetParameter(const char *key, const char *def, char *value, uint32_t len) +{ + if (IParamMoc::paramMoc == nullptr) { + return -1; + } + return IParamMoc::paramMoc->GetParameter(key, def, value, len); +} \ No newline at end of file diff --git a/tests/unittests/backup_api/backup_impl/service_proxy_test.cpp b/tests/unittests/backup_api/backup_impl/service_proxy_test.cpp index 17f01f4f5..dbfdd5de7 100644 --- a/tests/unittests/backup_api/backup_impl/service_proxy_test.cpp +++ b/tests/unittests/backup_api/backup_impl/service_proxy_test.cpp @@ -643,6 +643,41 @@ HWTEST_F(ServiceProxyTest, SUB_Service_proxy_AppIncrementalFileReady_0100, testi GTEST_LOG_(INFO) << "ServiceProxyTest-end SUB_Service_proxy_AppIncrementalFileReady_0100"; } +/** + * @tc.number: SUB_Service_proxy_AppIncrementalFileReady_0200 + * @tc.name: SUB_Service_proxy_AppIncrementalFileReady_0200 + * @tc.desc: 测试 AppIncrementalFileReady 接口成功和失败 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I90ZV5 + */ +HWTEST_F(ServiceProxyTest, SUB_Service_proxy_AppIncrementalFileReady_0200, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceProxyTest-begin SUB_Service_proxy_AppIncrementalFileReady_0200"; + if (proxy_ == nullptr) { + GTEST_LOG_(INFO) << "SUB_Service_proxy_AppIncrementalFileReady_0200 proxy_ == nullptr"; + return; + } + EXPECT_CALL(*mock_, SendRequest(_, _, _, _)) + .Times(2) + .WillOnce(Return(0)) + .WillOnce(Return(0)); + + string bundleName = "com.example.app2backup"; + TestManager tm("AppIncrementalFileReady_0200"); + std::string filePath = tm.GetRootDirCurTest().append(FILE_NAME); + UniqueFd fd(open(filePath.data(), O_RDONLY | O_CREAT, S_IRUSR | S_IWUSR)); + UniqueFd manifestFd(open(filePath.data(), O_RDONLY | O_CREAT, S_IRUSR | S_IWUSR)); + + int32_t result = proxy_->AppIncrementalFileReady(bundleName, UniqueFd(-1), move(manifestFd), 0); + EXPECT_EQ(result, BError(BError::Codes::OK)); + + result = proxy_->AppIncrementalFileReady(bundleName, move(fd), UniqueFd(-1), 0); + EXPECT_EQ(result, BError(BError::Codes::OK)); + GTEST_LOG_(INFO) << "ServiceProxyTest-end SUB_Service_proxy_AppIncrementalFileReady_0200"; +} + /** * @tc.number: SUB_Service_proxy_AppIncrementalDone_0100 * @tc.name: SUB_Service_proxy_AppIncrementalDone_0100 diff --git a/tests/unittests/backup_ext/untar_file_sup_test.cpp b/tests/unittests/backup_ext/untar_file_sup_test.cpp new file mode 100644 index 000000000..7f3ad3471 --- /dev/null +++ b/tests/unittests/backup_ext/untar_file_sup_test.cpp @@ -0,0 +1,269 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include + +#include "b_error/b_error.h" +#include "file_ex.h" +#include "library_func_mock.h" +#include "test_manager.h" +#include "untar_file.cpp" + + +namespace OHOS::FileManagement::Backup { +using namespace std; +using namespace testing; +using namespace OHOS::AppFileService; +class UntarFileSupTest : public testing::Test { +public: + static void SetUpTestCase(void); + static void TearDownTestCase(); + void SetUp() override {}; + void TearDown() override {}; + static inline shared_ptr funcMock = nullptr; +}; + +static void ClearCache() +{ + UntarFile::GetInstance().rootPath_.clear(); + UntarFile::GetInstance().tarFileSize_ = 0; + UntarFile::GetInstance().tarFileBlockCnt_ = 0; + UntarFile::GetInstance().pos_ = 0; + UntarFile::GetInstance().readCnt_ = 0; + if (UntarFile::GetInstance().tarFilePtr_ != nullptr) { + fclose(UntarFile::GetInstance().tarFilePtr_); + UntarFile::GetInstance().tarFilePtr_ = nullptr; + } + TarFile::GetInstance().fileCount_ = 0; + TarFile::GetInstance().tarMap_.clear(); + TarFile::GetInstance().rootPath_.clear(); + TarFile::GetInstance().packagePath_.clear(); + TarFile::GetInstance().baseTarName_.clear(); + TarFile::GetInstance().tarFileName_.clear(); + TarFile::GetInstance().ioBuffer_.clear(); + TarFile::GetInstance().currentTarName_.clear(); + TarFile::GetInstance().currentTarFileSize_ = 0; + TarFile::GetInstance().tarFileCount_ = 0; + TarFile::GetInstance().currentFileName_.clear(); + if (TarFile::GetInstance().currentTarFile_ != nullptr) { + fclose(TarFile::GetInstance().currentTarFile_); + TarFile::GetInstance().currentTarFile_ = nullptr; + } +} + +void UntarFileSupTest::SetUpTestCase(void) +{ + GTEST_LOG_(INFO) << "SetUpTestCase enter"; + funcMock = make_shared(); + LibraryFuncMock::libraryFunc_ = funcMock; +} + +void UntarFileSupTest::TearDownTestCase() +{ + GTEST_LOG_(INFO) << "TearDownTestCase enter"; + LibraryFuncMock::libraryFunc_ = nullptr; + funcMock = nullptr; + ClearCache(); +} + +/** + * @tc.number: SUB_Untar_File_IsEmptyBlock_0100 + * @tc.name: SUB_Untar_File_IsEmptyBlock_0100 + * @tc.desc: 测试 IsEmptyBlock + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(UntarFileSupTest, SUB_Untar_File_IsEmptyBlock_0100, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "UntarFileSupTest-begin SUB_Untar_File_IsEmptyBlock_0100"; + try { + EXPECT_EQ(IsEmptyBlock(nullptr), true); + char buff[BLOCK_SIZE] = {0}; + EXPECT_EQ(IsEmptyBlock(buff), true); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "UntarFileSupTest-an exception occurred by IsEmptyBlock."; + } + GTEST_LOG_(INFO) << "UntarFileSupTest-end SUB_Untar_File_IsEmptyBlock_0100"; +} + +/** + * @tc.number: SUB_Untar_File_ParseOctalStr_0100 + * @tc.name: SUB_Untar_File_ParseOctalStr_0100 + * @tc.desc: 测试 ParseOctalStr 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(UntarFileSupTest, SUB_Untar_File_ParseOctalStr_0100, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "UntarFileSupTest-begin SUB_Untar_File_ParseOctalStr_0100"; + EXPECT_EQ(ParseOctalStr("0", 0), 0); + EXPECT_EQ(ParseOctalStr("1234", 0), 0); + EXPECT_EQ(ParseOctalStr("()-891234", 10), 668); + GTEST_LOG_(INFO) << "UntarFileSupTest-end SUB_Untar_File_ParseOctalStr_0100"; +} + +/** + * @tc.number: SUB_Untar_File_GenRealPath_0100 + * @tc.name: SUB_Untar_File_GenRealPath_0100 + * @tc.desc: 测试 GenRealPath 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(UntarFileSupTest, SUB_Untar_File_GenRealPath_0100, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "UntarFileSupTest-begin SUB_Untar_File_GenRealPath_0100"; + string rootPath = ""; + string realName = ""; + EXPECT_EQ(UntarFile::GetInstance().GenRealPath(rootPath, realName), ""); + + rootPath = "rootPath"; + EXPECT_EQ(UntarFile::GetInstance().GenRealPath(rootPath, realName), ""); + + realName = "realName"; + EXPECT_EQ(UntarFile::GetInstance().GenRealPath(rootPath, realName), "rootPath/realName"); + + rootPath = "/rootPath/"; + realName = "/realName"; + EXPECT_EQ(UntarFile::GetInstance().GenRealPath(rootPath, realName), "rootPath/realName"); + GTEST_LOG_(INFO) << "UntarFileSupTest-end SUB_Untar_File_GenRealPath_0100"; +} + +/** + * @tc.number: SUB_Untar_File_ForceCreateDirectoryWithMode_0100 + * @tc.name: SUB_Untar_File_ForceCreateDirectoryWithMode_0100 + * @tc.desc: 测试 ForceCreateDirectoryWithMode 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(UntarFileSupTest, SUB_Untar_File_ForceCreateDirectoryWithMode_0100, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "UntarFileSupTest-begin SUB_Untar_File_ForceCreateDirectoryWithMode_0100"; + string rootPath = "rootPath/realName"; + EXPECT_CALL(*funcMock, access(_, _)).WillOnce(Return(1)); + EXPECT_CALL(*funcMock, mkdir(_, _)).WillOnce(Return(1)); + EXPECT_EQ(ForceCreateDirectoryWithMode(rootPath, S_IRWXU), false); + + EXPECT_CALL(*funcMock, access(_, _)).WillOnce(Return(0)).WillOnce(Return(1)).WillOnce(Return(0)); + EXPECT_CALL(*funcMock, mkdir(_, _)).WillOnce(Return(0)); + EXPECT_EQ(ForceCreateDirectoryWithMode(rootPath, S_IRWXU), true); + + EXPECT_CALL(*funcMock, access(_, _)).WillOnce(Return(0)).WillOnce(Return(1)).WillOnce(Return(1)); + EXPECT_CALL(*funcMock, mkdir(_, _)).WillOnce(Return(0)); + EXPECT_EQ(ForceCreateDirectoryWithMode(rootPath, S_IRWXU), false); + GTEST_LOG_(INFO) << "UntarFileSupTest-end SUB_Untar_File_ParseOctalStr_0100"; +} + +/** + * @tc.number: SUB_Untar_File_CreateDir_0100 + * @tc.name: SUB_Untar_File_CreateDir_0100 + * @tc.desc: 测试 CreateDir 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(UntarFileSupTest, SUB_Untar_File_CreateDir_0100, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "UntarFileSupTest-begin SUB_Untar_File_CreateDir_0100"; + string rootPath = ""; + try { + UntarFile::GetInstance().CreateDir(rootPath, S_IRWXU); + rootPath = "rootPath/realName"; + EXPECT_CALL(*funcMock, access(_, _)).WillOnce(Return(0)); + UntarFile::GetInstance().CreateDir(rootPath, S_IRWXU); + + rootPath = "rootPath/realName"; + EXPECT_CALL(*funcMock, access(_, _)).WillOnce(Return(1)).WillOnce(Return(0)) + .WillOnce(Return(1)).WillOnce(Return(0)); + EXPECT_CALL(*funcMock, mkdir(_, _)).WillOnce(Return(0)); + UntarFile::GetInstance().CreateDir(rootPath, S_IRWXU); + + EXPECT_CALL(*funcMock, access(_, _)).WillOnce(Return(1)).WillOnce(Return(0)) + .WillOnce(Return(1)).WillOnce(Return(1)); + EXPECT_CALL(*funcMock, mkdir(_, _)).WillOnce(Return(0)); + UntarFile::GetInstance().CreateDir(rootPath, S_IRWXU); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "UntarFileSupTest-an exception occurred by CreateDir."; + } + GTEST_LOG_(INFO) << "UntarFileSupTest-end SUB_Untar_File_CreateDir_0100"; +} + +/** + * @tc.number: SUB_Untar_File_ParseFileByTypeFlag_0100 + * @tc.name: SUB_Untar_File_ParseFileByTypeFlag_0100 + * @tc.desc: 测试 ParseFileByTypeFlag 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(UntarFileSupTest, SUB_Untar_File_ParseFileByTypeFlag_0100, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "UntarFileSupTest-begin SUB_Untar_File_CreateDir_0100"; + FileStatInfo info; + info.fullPath = "realName"; + UntarFile::GetInstance().rootPath_ = "rootPath"; + try { + UntarFile::GetInstance().ParseFileByTypeFlag(SYMTYPE, info); + + EXPECT_CALL(*funcMock, access(_, _)).WillOnce(Return(1)).WillOnce(Return(0)) + .WillOnce(Return(1)).WillOnce(Return(0)); + EXPECT_CALL(*funcMock, mkdir(_, _)).WillOnce(Return(0)); + UntarFile::GetInstance().ParseFileByTypeFlag(DIRTYPE, info); + EXPECT_EQ(info.fullPath, "rootPath/realName"); + + EXPECT_CALL(*funcMock, fseeko(_, _, _)).WillOnce(Return(0)); + UntarFile::GetInstance().ParseFileByTypeFlag('6', info); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "UntarFileSupTest-an exception occurred by ParseFileByTypeFlag."; + } + GTEST_LOG_(INFO) << "UntarFileSupTest-end SUB_Untar_File_CreateDir_0100"; +} + +/** + * @tc.number: SUB_Untar_File_IsValidTarBlock_0100 + * @tc.name: SUB_Untar_File_IsValidTarBlock_0100 + * @tc.desc: 测试 IsValidTarBlock 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(UntarFileSupTest, SUB_Untar_File_IsValidTarBlock_0100, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "UntarFileSupTest-begin SUB_Untar_File_IsValidTarBlock_0100"; + TarHeader header { .magic = "test" }; + try { + EXPECT_EQ(UntarFile::GetInstance().IsValidTarBlock(header), false); + EXPECT_TRUE(true); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "UntarFileSupTest-an exception occurred by IsValidTarBlock."; + } + GTEST_LOG_(INFO) << "UntarFileSupTest-end SUB_Untar_File_IsValidTarBlock_0100"; +} +} // namespace OHOS::FileManagement::Backup \ No newline at end of file -- Gitee From 3002ef1214d12b2c3782e065a493de629bb607e1 Mon Sep 17 00:00:00 2001 From: chensihan Date: Thu, 10 Oct 2024 02:08:09 +0000 Subject: [PATCH 2/5] update test/unittest/file_uri_native/file_uri_test.cpp. Signed-off-by: chensihan --- .../file_uri_native/file_uri_test.cpp | 662 +++++++++++------- 1 file changed, 427 insertions(+), 235 deletions(-) diff --git a/test/unittest/file_uri_native/file_uri_test.cpp b/test/unittest/file_uri_native/file_uri_test.cpp index 45b5fe190..545283d73 100644 --- a/test/unittest/file_uri_native/file_uri_test.cpp +++ b/test/unittest/file_uri_native/file_uri_test.cpp @@ -42,259 +42,451 @@ string CommonFunc::GetSelfBundleName() return BUNDLE_A; } -static bool CheckFileManagerFullMountEnable() -{ - char value[] = "false"; - int retSystem = GetParameter(FULL_MOUNT_ENABLE_PARAMETER.c_str(), "false", value, sizeof(value)); - if ((retSystem > 0) && (string_view(value) == "true")) { - return true; - } - LOGE("Not supporting all mounts"); - return false; -} - namespace OHOS::AppFileService::ModuleFileUri { - const string PATH_SHARE = "/data/storage/el2/share"; - const string MODE_RW = "/rw/"; - const string MODE_R = "/r/"; - const int E_OK = 0; - - class FileUriTest : public testing::Test { - public: - static void SetUpTestCase(void) {}; - static void TearDownTestCase() {}; - void SetUp() {}; - void TearDown() {}; - }; - - /** - * @tc.name: file_uri_test_0000 - * @tc.desc: Test function of ToString() interface for SUCCESS. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I7LW57 - */ - HWTEST_F(FileUriTest, File_uri_ToString_0000, testing::ext::TestSize.Level1) - { - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_ToString_0000"; - - string fileStr = "/data/storage/el2/base/files/test.txt"; - string uri = "file://" + BUNDLE_A + fileStr; - FileUri fileUri(fileStr); - EXPECT_EQ(fileUri.ToString(), uri); +class FileUriTest : public testing::Test { +public: + static void SetUpTestCase(void) {}; + static void TearDownTestCase() {}; + void SetUp() {}; + void TearDown() {}; +}; - FileUri fileUri2(uri); - EXPECT_EQ(fileUri2.ToString(), uri); - GTEST_LOG_(INFO) << "FileUriTest-end File_uri_ToString_0000"; - } +/** + * @tc.name: file_uri_test_0000 + * @tc.desc: Test function of ToString() interface for SUCCESS. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I7LW57 +*/ +HWTEST_F(FileUriTest, File_uri_ToString_0000, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_ToString_0000"; - /** - * @tc.name: file_uri_test_0001 - * @tc.desc: Test function of GetName() interface for SUCCESS. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I7LW57 - */ - HWTEST_F(FileUriTest, File_uri_GetName_0000, testing::ext::TestSize.Level1) - { - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetName_0000"; + string fileStr = "/data/storage/el2/base/files/test.txt"; + string uri = "file://" + BUNDLE_A + fileStr; + FileUri fileUri(fileStr); + EXPECT_EQ(fileUri.ToString(), uri); - string fileStr = "/data/storage/el2/base/files/test.txt"; - string uri = "file://" + BUNDLE_A + fileStr; - FileUri fileUri(fileStr); - string name = fileUri.GetName(); - EXPECT_EQ(name, "test.txt"); - GTEST_LOG_(INFO) << "FileUriTest-end File_uri_GetName_0000"; - } + FileUri fileUri2(uri); + EXPECT_EQ(fileUri2.ToString(), uri); + GTEST_LOG_(INFO) << "FileUriTest-end File_uri_ToString_0000"; +} - /** - * @tc.name: file_uri_test_0002 - * @tc.desc: Test function of GetPath() interface for SUCCESS. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I7LW57 - */ - HWTEST_F(FileUriTest, File_uri_GetPath_0000, testing::ext::TestSize.Level1) - { - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0000"; - string fileStr = "/data/storage/el2/base/files/test.txt"; - string uri = "file://" + BUNDLE_A + fileStr; - FileUri fileUri(uri); - string path = fileUri.GetPath(); - EXPECT_EQ(path, fileStr); +/** + * @tc.name: file_uri_test_0001 + * @tc.desc: Test function of GetName() interface for SUCCESS. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I7LW57 +*/ +HWTEST_F(FileUriTest, File_uri_GetName_0000, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetName_0000"; - string uri2 = "file://media/Photo/12/IMG_12345_999999/test.jpg"; - FileUri fileUri2(uri2); - path = fileUri2.GetPath(); - EXPECT_EQ(path, "/Photo/12/IMG_12345_999999"); - GTEST_LOG_(INFO) << "FileUriTest-end File_uri_GetPath_0000"; - } + string fileStr = "/data/storage/el2/base/files/test.txt"; + string uri = "file://" + BUNDLE_A + fileStr; + FileUri fileUri(fileStr); + string name = fileUri.GetName(); + EXPECT_EQ(name, "test.txt"); - /** - * @tc.name: file_uri_test_0003 - * @tc.desc: Test function of GetPath() interface for SUCCESS. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I7LW57 - */ - HWTEST_F(FileUriTest, File_uri_GetPath_0001, testing::ext::TestSize.Level1) - { - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0001"; - string fileStr = "/Documents/test.txt"; - string uri = "file://" + BUNDLE_A + fileStr; - FileUri fileUri(uri); - string path = fileUri.GetRealPath(); - EXPECT_EQ(path, fileStr); + string fileStr2 = "/data/storage/el2/base/files/test.txt/"; + string uri2 = "file://" + BUNDLE_A + fileStr; + FileUri fileUri2(fileStr2); + EXPECT_EQ(fileUri2.GetName(), ""); + GTEST_LOG_(INFO) << "FileUriTest-end File_uri_GetName_0000"; +} - string fileStrPath = "docs/storage/Users/currentUser/Documents/1.txt"; - string fileStrRealPath = "/storage/Users/currentUser/Documents/1.txt"; - string uri2 = "file://" + fileStrPath; - FileUri fileUri2(uri2); - path.clear(); - path = fileUri2.GetRealPath(); - if (CheckFileManagerFullMountEnable()) { - EXPECT_EQ(path, fileStrRealPath); - } else { - EXPECT_EQ(path, PATH_SHARE + MODE_R + fileStrPath); - }; - GTEST_LOG_(INFO) << "FileUriTest-end File_uri_GetPath_0001"; - } +/** + * @tc.name: file_uri_test_0002 + * @tc.desc: Test function of GetPath() interface for SUCCESS. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I7LW57 +*/ +HWTEST_F(FileUriTest, File_uri_GetPath_0000, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0000"; + string fileStr = "/data/storage/el2/base/files/test.txt"; + string uri = "file://" + BUNDLE_A + fileStr; + FileUri fileUri(uri); + string path = fileUri.GetPath(); + EXPECT_EQ(path, fileStr); - /** - * @tc.name: file_uri_test_0004 - * @tc.desc: Test function of GetPath() interface for SUCCESS. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I7LW57 - */ - HWTEST_F(FileUriTest, File_uri_GetPath_0002, testing::ext::TestSize.Level1) - { - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0002"; - string fileStr = "/data/storage/el2/base/files/test.txt"; - string bundleB = "com.demo.b"; - string uri = "file://" + bundleB + fileStr; - string rltStr = PATH_SHARE + MODE_R + bundleB + fileStr; - FileUri fileUri(uri); - string path = fileUri.GetRealPath(); - EXPECT_EQ(path, rltStr); - GTEST_LOG_(INFO) << "FileUriTest-end File_uri_GetPath_0002"; - } + string uri2 = "file://media/Photo/12/IMG_12345_999999/test.jpg"; + FileUri fileUri2(uri2); + path = fileUri2.GetPath(); + EXPECT_EQ(path, "/Photo/12/IMG_12345_999999"); - /** - * @tc.name: file_uri_test_0005 - * @tc.desc: Test function of GetPath() interface for SUCCESS. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I7LW57 - */ - HWTEST_F(FileUriTest, File_uri_GetPath_0003, testing::ext::TestSize.Level1) - { - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0003"; - int32_t uid = 100; - string bundleB = "com.example.fileshareb"; - string fileStr = "/data/app/el2/" + to_string(uid) + "/base/" + bundleB + "/files/test.txt"; - int32_t fd = open(fileStr.c_str(), O_RDWR | O_CREAT); - ASSERT_TRUE(fd != -1) << "FileShareTest Create File Failed!"; + string uri4 = "file://media/Photo/12/IMG_12345_999999"; + FileUri fileUri4(uri4); + EXPECT_EQ(fileUri2.GetPath(), "/Photo/12/IMG_12345_999999"); + GTEST_LOG_(INFO) << "FileUriTest-end File_uri_GetPath_0000"; +} - string actStr = "/data/storage/el2/base/files/test.txt"; - string uri = "file://" + bundleB + actStr; - uint32_t tokenId = AccessTokenKit::GetHapTokenID(uid, BUNDLE_A, 0); +/** + * @tc.name: file_uri_test_0003 + * @tc.desc: Test function of GetPath() interface for SUCCESS. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I7LW57 +*/ +HWTEST_F(FileUriTest, File_uri_GetPath_0001, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0001"; + string fileStr = "/Documents/test.txt"; + string uri = "file://" + BUNDLE_A + fileStr; + FileUri fileUri(uri); + string path = fileUri.GetRealPath(); + EXPECT_EQ(path, fileStr); - int32_t flag = 3; - vector uriList(1, uri); - vector retList; - int32_t ret = FileShare::CreateShareFile(uriList, tokenId, flag, retList); - EXPECT_EQ(ret, E_OK); + string fileStrPath = "docs/storage/Users/currentUser/Documents/1.txt"; + string fileStrRealPath = "/storage/Users/currentUser/Documents/1.txt"; + string uri2 = "file://" + fileStrPath; + FileUri fileUri2(uri2); + path.clear(); + path = fileUri2.GetRealPath(); + EXPECT_EQ(path, fileStrRealPath); + GTEST_LOG_(INFO) << "FileUriTest-end File_uri_GetPath_0001"; +} - string rltStr = PATH_SHARE + MODE_R + bundleB + actStr; - FileUri fileUri(uri); - string path = fileUri.GetRealPath(); - EXPECT_EQ(path, rltStr); +/** + * @tc.name: file_uri_test_0004 + * @tc.desc: Test function of GetPath() interface for SUCCESS. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I7LW57 +*/ +HWTEST_F(FileUriTest, File_uri_GetPath_0002, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0002"; + string fileStr = "/data/storage/el2/base/files/test.txt"; + string bundleB = "com.demo.b"; + string uri = "file://" + bundleB + fileStr; + string rltStr = "/storage/Users/currentUser/appdata/el2/base/" + bundleB + "/files/test.txt"; + FileUri fileUri(uri); + string path = fileUri.GetRealPath(); + EXPECT_EQ(path, rltStr); + GTEST_LOG_(INFO) << "FileUriTest-end File_uri_GetPath_0002"; +} - vector sharePathList; - sharePathList.push_back(uri); - ret = FileShare::DeleteShareFile(tokenId, sharePathList); - EXPECT_EQ(ret, E_OK); - close(fd); - GTEST_LOG_(INFO) << "FileUriTest-end File_uri_GetPath_0003"; - } +/** + * @tc.name: file_uri_test_0005 + * @tc.desc: Test function of GetPath() interface for SUCCESS. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I7LW57 +*/ +HWTEST_F(FileUriTest, File_uri_GetPath_0003, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0003"; + int32_t uid = 100; + string bundleB = "com.example.fileshareb"; + string fileStr = "/data/app/el2/" + to_string(uid) + "/base/" + bundleB + "/files/test.txt"; + int32_t fd = open(fileStr.c_str(), O_RDWR | O_CREAT); + ASSERT_TRUE(fd != -1) << "FileShareTest Create File Failed!"; + string actStr = "/data/storage/el2/base/files/test.txt"; + string uri = "file://" + bundleB + actStr; - /** - * @tc.name: file_uri_test_0006 - * @tc.desc: Test function of GetPath() interface for SUCCESS. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I7LW57 - */ - HWTEST_F(FileUriTest, File_uri_GetPath_0004, testing::ext::TestSize.Level1) - { - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0004"; - string fileStr = "/data/storage/el2/base/files/test.txt"; - string uri = "file://" + fileStr; - FileUri fileUri(uri); - EXPECT_EQ(fileUri.ToString(), uri); - EXPECT_EQ(fileUri.GetName(), "test.txt"); - EXPECT_EQ(fileUri.GetPath(), fileStr); - EXPECT_EQ(fileUri.GetRealPath(), fileStr); - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0004"; - } + string rltStr = "/storage/Users/currentUser/appdata/el2/base/" + bundleB + "/files/test.txt"; + FileUri fileUri(uri); + string path = fileUri.GetRealPath(); + EXPECT_EQ(path, rltStr); - /** - * @tc.name: file_uri_test_0007 - * @tc.desc: Test function of GetFullDirectoryUri() interface for SUCCESS. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: - */ - HWTEST_F(FileUriTest, File_uri_GetFullDirectoryUri_0000, testing::ext::TestSize.Level1) - { - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetFullDirectoryUri_0000"; - string fileStr = "/data/test/remote_file_share_test.txt"; - FileUri fileUriObject(fileStr); - string fileDirectoryUri = "file://" + BUNDLE_A + "/data/test"; - EXPECT_EQ(fileUriObject.GetFullDirectoryUri(), fileDirectoryUri); - string folderStr = "/data/test"; - string folderUri = "file://" + BUNDLE_A + folderStr; - FileUri folderUriObject(folderUri); - string folderDirectoryUri = "file://" + BUNDLE_A + folderStr; - EXPECT_EQ(folderUriObject.GetFullDirectoryUri(), folderDirectoryUri); - GTEST_LOG_(INFO) << "FileUriTest-end File_uri_GetPath_0000"; - } + close(fd); + GTEST_LOG_(INFO) << "FileUriTest-end File_uri_GetPath_0003"; +} - /** - * @tc.name: File_uri_IsRemoteUri_0000 - * @tc.desc: Test function of IsRemoteUri() interface for SUCCESS. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: - */ - HWTEST_F(FileUriTest, File_uri_IsRemoteUri_0000, testing::ext::TestSize.Level1) - { - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetFullDirectoryUri_0000"; - string fileStr = "file://" + BUNDLE_A + "/data/test"; - FileUri fileUriObject(fileStr); - EXPECT_EQ(fileUriObject.IsRemoteUri(), false); +/** + * @tc.name: file_uri_test_0006 + * @tc.desc: Test function of GetPath() interface for SUCCESS. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I7LW57 +*/ +HWTEST_F(FileUriTest, File_uri_GetPath_0004, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0004"; + string fileStr = "/data/storage/el2/base/files/test.txt"; + string uri = "file://" + fileStr; + FileUri fileUri(uri); + EXPECT_EQ(fileUri.ToString(), uri); + EXPECT_EQ(fileUri.GetName(), "test.txt"); + EXPECT_EQ(fileUri.GetPath(), fileStr); + EXPECT_EQ(fileUri.GetRealPath(), fileStr); + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0004"; +} +/** + * @tc.name: file_uri_test_0007 + * @tc.desc: Test function of GetPath() interface for SUCCESS. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I7LW57 +*/ +HWTEST_F(FileUriTest, File_uri_GetPath_0005, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0005"; + string fileStr = "file://media/Photo/12/IMG_12345_999999/test.jpg"; + string rltStr = "/data/storage/el2/share/r/media/Photo/12/IMG_12345_999999/test.jpg"; + FileUri fileUri(fileStr); + string path = fileUri.GetRealPath(); + EXPECT_EQ(path, rltStr); + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0005"; +} +/** + * @tc.name: file_uri_test_0008 + * @tc.desc: Test function of GetPath() interface for SUCCESS. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I7LW57 +*/ +HWTEST_F(FileUriTest, File_uri_GetPath_0006, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0006"; + string fileStr = "file://docs/storage/Users/currentUser/Documents/1.txt?networkid=xxx"; + string rltStr = "/data/storage/el2/share/r/docs/storage/Users/currentUser/Documents/1.txt"; + FileUri fileUri(fileStr); + string path = fileUri.GetRealPath(); + EXPECT_EQ(path, rltStr); + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0006"; +} +/** + * @tc.name: file_uri_test_0009 + * @tc.desc: Test function of GetPath() interface for SUCCESS. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I7LW57 +*/ +HWTEST_F(FileUriTest, File_uri_GetPath_0007, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0007"; + string fileStr = "/mnt/data/fuse/1.txt"; + string bundleB = "com.ohos.dlpmanager"; + string uri = "file://" + bundleB + fileStr; + string rltStr = "/mnt/data/fuse/1.txt"; + FileUri fileUri(uri); + string path = fileUri.GetRealPath(); + EXPECT_EQ(path, rltStr); + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0007"; +} +/** + * @tc.name: file_uri_test_00010 + * @tc.desc: Test function of GetPath() interface for SUCCESS. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I7LW57 +*/ +HWTEST_F(FileUriTest, File_uri_GetPath_0008, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0008"; + string fileStr = "/data/appdata/el2/base/files/test.txt"; + string bundleB = "com.demo.b"; + string uri = "file://" + bundleB + fileStr; + string rltStr = ""; + FileUri fileUri(uri); + string path = fileUri.GetRealPath(); + EXPECT_EQ(path, rltStr); + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0008"; +} +/** + * @tc.name: file_uri_test_0000 + * @tc.desc: Test function of GetPathBySA() interface for SUCCESS. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I7LW57 +*/ +HWTEST_F(FileUriTest, File_uri_GetPathBySA_0000, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0000"; + string fileStr = "/data/storage/el2/base/files/test.txt"; + string bundleB = "com.demo.b"; + string uri = "file://" + bundleB + fileStr; + string rltStr = "/storage/Users/currentUser/appdata/el2/base/" + bundleB + "/files/test.txt"; + FileUri fileUri(uri); + string path = fileUri.GetRealPathBySA(""); + EXPECT_EQ(path, rltStr); + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0000"; +} +/** + * @tc.name: file_uri_test_0001 + * @tc.desc: Test function of GetPathBySA() interface for SUCCESS. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I7LW57 +*/ +HWTEST_F(FileUriTest, File_uri_GetPathBySA_0001, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0001"; + string fileStr = "/data/storage/el2/base/files/test.txt"; + string bundleB = "com.demo.b"; + string uri = "file://" + bundleB + fileStr; + string rltStr = "/data/storage/el2/base/files/test.txt"; + FileUri fileUri(uri); + string path = fileUri.GetRealPathBySA("com.demo.b"); + EXPECT_EQ(path, rltStr); + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0001"; +} +/** + * @tc.name: file_uri_test_0002 + * @tc.desc: Test function of GetPathBySA() interface for SUCCESS. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I7LW57 +*/ +HWTEST_F(FileUriTest, File_uri_GetPathBySA_0002, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0002"; + string fileStr = "/storage/Users/currentUser/Documents/1.txt"; + string bundleB = "docs"; + string uri = "file://" + bundleB + fileStr; + string rltStr = "/storage/Users/currentUser/Documents/1.txt"; + FileUri fileUri(uri); + string path = fileUri.GetRealPathBySA(""); + EXPECT_EQ(path, rltStr); + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0002"; +} +/** + * @tc.name: file_uri_test_0003 + * @tc.desc: Test function of GetPathBySA() interface for SUCCESS. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I7LW57 +*/ +HWTEST_F(FileUriTest, File_uri_GetPathBySA_0003, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0003"; + string fileStr = "/storage/Users/currentUser/Documents/1.txt"; + string bundleB = "docs"; + string uri = "file://" + bundleB + fileStr; + string rltStr = "/storage/Users/currentUser/Documents/1.txt"; + FileUri fileUri(uri); + string path = fileUri.GetRealPathBySA("com.demo.b"); + EXPECT_EQ(path, rltStr); + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0003"; +} +/** + * @tc.name: file_uri_test_0004 + * @tc.desc: Test function of GetPathBySA() interface for SUCCESS. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I7LW57 +*/ +HWTEST_F(FileUriTest, File_uri_GetPathBySA_0004, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0004"; + string fileStr = "/mnt/data/fuse/1.txt"; + string bundleB = "com.ohos.dlpmanager"; + string uri = "file://" + bundleB + fileStr; + string rltStr = "/mnt/data/fuse/1.txt"; + FileUri fileUri(uri); + string path = fileUri.GetRealPathBySA(""); + EXPECT_EQ(path, rltStr); + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0004"; +} +/** + * @tc.name: file_uri_test_0005 + * @tc.desc: Test function of GetPathBySA() interface for SUCCESS. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I7LW57 +*/ +HWTEST_F(FileUriTest, File_uri_GetPathBySA_0005, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0005"; + string fileStr = "/data/storage/el2/base/files/test.txt"; + string bundleB = "com.ohos.dlpmanager"; + string uri = "file://" + bundleB + fileStr; + string rltStr = "/storage/Users/currentUser/appdata/el2/base/" + bundleB + "/files/test.txt"; + FileUri fileUri(uri); + string path = fileUri.GetRealPathBySA(""); + EXPECT_EQ(path, rltStr); + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0005"; +} +/** + * @tc.name: file_uri_test_0006 + * @tc.desc: Test function of GetPathBySA() interface for SUCCESS. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I7LW57 +*/ +HWTEST_F(FileUriTest, File_uri_GetPathBySA_0006, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0006"; + string fileStr = "/data/data/el2/base/files/test.txt"; + string bundleB = "com.ohos.dlpmanager"; + string uri = "file://" + bundleB + fileStr; + string rltStr = ""; + FileUri fileUri(uri); + string path = fileUri.GetRealPathBySA(""); + EXPECT_EQ(path, rltStr); + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0006"; +} +/** + * @tc.name: file_uri_test_0007 + * @tc.desc: Test function of GetFullDirectoryUri() interface for SUCCESS. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: +*/ +HWTEST_F(FileUriTest, File_uri_GetFullDirectoryUri_0000, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetFullDirectoryUri_0000"; + string fileStr = "/data/test/remote_file_share_test.txt"; + FileUri fileUriObject(fileStr); + string fileDirectoryUri = "file://" + BUNDLE_A + "/data/test"; + EXPECT_EQ(fileUriObject.GetFullDirectoryUri(), fileDirectoryUri); + string folderStr = "/data/test"; + string folderUri = "file://" + BUNDLE_A + folderStr; + FileUri folderUriObject(folderUri); + string folderDirectoryUri = "file://" + BUNDLE_A + folderStr; + EXPECT_EQ(folderUriObject.GetFullDirectoryUri(), folderDirectoryUri); + GTEST_LOG_(INFO) << "FileUriTest-end File_uri_GetPath_0000"; +} - string fileStr2 = "file://" + BUNDLE_A + "/data/test?networkid="; - FileUri fileUriObject2(fileStr2); - EXPECT_EQ(fileUriObject2.IsRemoteUri(), false); +/** + * @tc.name: File_uri_IsRemoteUri_0000 + * @tc.desc: Test function of IsRemoteUri() interface for SUCCESS. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: +*/ +HWTEST_F(FileUriTest, File_uri_IsRemoteUri_0000, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetFullDirectoryUri_0000"; + string fileStr = "file://" + BUNDLE_A + "/data/test"; + FileUri fileUriObject(fileStr); + EXPECT_EQ(fileUriObject.IsRemoteUri(), false); - string fileStr3 = "file://" + BUNDLE_A + "/data/test?networkid=123456/"; - FileUri fileUriObject3(fileStr3); - EXPECT_EQ(fileUriObject3.IsRemoteUri(), false); + string fileStr2 = "file://" + BUNDLE_A + "/data/test?networkid="; + FileUri fileUriObject2(fileStr2); + EXPECT_EQ(fileUriObject2.IsRemoteUri(), false); - string fileStr4 = "file://" + BUNDLE_A + "/data/test?networkid=123456"; - FileUri fileUriObject4(fileStr4); - EXPECT_EQ(fileUriObject4.IsRemoteUri(), true); - GTEST_LOG_(INFO) << "FileUriTest-end File_uri_GetPath_0000"; - } + string fileStr3 = "file://" + BUNDLE_A + "/data/test?networkid=123456/"; + FileUri fileUriObject3(fileStr3); + EXPECT_EQ(fileUriObject3.IsRemoteUri(), false); + + string fileStr4 = "file://" + BUNDLE_A + "/data/test?networkid=123456"; + FileUri fileUriObject4(fileStr4); + EXPECT_EQ(fileUriObject4.IsRemoteUri(), true); + GTEST_LOG_(INFO) << "FileUriTest-end File_uri_GetPath_0000"; +} } \ No newline at end of file -- Gitee From 1fa24af1007057cef260cacf74218f3f7f1f41c1 Mon Sep 17 00:00:00 2001 From: chensihan Date: Thu, 10 Oct 2024 02:09:15 +0000 Subject: [PATCH 3/5] update tests/unittests/backup_api/backup_impl/service_proxy_test.cpp. Signed-off-by: chensihan --- .../backup_impl/service_proxy_test.cpp | 100 +++++++++++++++++- 1 file changed, 99 insertions(+), 1 deletion(-) diff --git a/tests/unittests/backup_api/backup_impl/service_proxy_test.cpp b/tests/unittests/backup_api/backup_impl/service_proxy_test.cpp index dbfdd5de7..0f273c977 100644 --- a/tests/unittests/backup_api/backup_impl/service_proxy_test.cpp +++ b/tests/unittests/backup_api/backup_impl/service_proxy_test.cpp @@ -32,7 +32,6 @@ using namespace std; using namespace testing; namespace { -const string BUNDLE_NAME = "com.example.app2backup"; const string FILE_NAME = "1.tar"; constexpr int32_t SERVICE_ID = 5203; } // namespace @@ -271,6 +270,36 @@ HWTEST_F(ServiceProxyTest, SUB_Service_proxy_AppDone_0100, testing::ext::TestSiz GTEST_LOG_(INFO) << "ServiceProxyTest-end SUB_Service_proxy_AppDone_0100"; } +/** + * @tc.number: SUB_Service_proxy_ServiceResultReport_0100 + * @tc.name: SUB_Service_proxy_ServiceResultReport_0100 + * @tc.desc: 测试 ServiceResultReport + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(ServiceProxyTest, SUB_Service_proxy_ServiceResultReport_0100, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceProxyTest-begin SUB_Service_proxy_ServiceResultReport_0100"; + if (proxy_ == nullptr) { + GTEST_LOG_(INFO) << "SUB_Service_proxy_ServiceResultReport_0100 proxy_ == nullptr"; + return; + } + EXPECT_CALL(*mock_, SendRequest(_, _, _, _)) + .Times(2) + .WillOnce(Invoke(mock_.GetRefPtr(), &IServiceMock::InvokeSendRequest)) + .WillOnce(Return(EPERM)); + std::string restoreRetInfo = "test_restoreRetInfo"; + BackupRestoreScenario scenario = FULL_BACKUP; + int32_t result = proxy_->ServiceResultReport(restoreRetInfo, scenario, BError(BError::Codes::OK)); + EXPECT_EQ(result, BError(BError::Codes::OK)); + + result = proxy_->ServiceResultReport(restoreRetInfo, scenario, BError(BError::Codes::OK)); + EXPECT_NE(result, BError(BError::Codes::OK)); + GTEST_LOG_(INFO) << "ServiceProxyTest-end SUB_Service_proxy_ServiceResultReport_0100"; +} + /** * @tc.number: SUB_Service_proxy_GetFileHandle_0100 * @tc.name: SUB_Service_proxy_GetFileHandle_0100 @@ -394,6 +423,38 @@ HWTEST_F(ServiceProxyTest, SUB_Service_proxy_AppendBundlesBackupSession_0100, te GTEST_LOG_(INFO) << "ServiceProxyTest-end SUB_Service_proxy_AppendBundlesBackupSession_0100"; } +/** + * @tc.number: SUB_Service_proxy_AppendBundlesDetailsBackupSession_0100 + * @tc.name: SUB_Service_proxy_AppendBundlesDetailsBackupSession_0100 + * @tc.desc: 测试 AppendBundlesDetailsBackupSession + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6URNZ + */ +HWTEST_F(ServiceProxyTest, SUB_Service_proxy_AppendBundlesDetailsBackupSession_0100, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceProxyTest-begin SUB_Service_proxy_AppendBundlesDetailsBackupSession_0100"; + if (proxy_ == nullptr) { + GTEST_LOG_(INFO) << "SUB_Service_proxy_AppendBundlesDetailsBackupSession_0100 proxy_ == nullptr"; + return; + } + EXPECT_CALL(*mock_, SendRequest(_, _, _, _)) + .Times(2) + .WillOnce(Invoke(mock_.GetRefPtr(), &IServiceMock::InvokeSendRequest)) + .WillOnce(Return(EPERM)); + + std::vector bundleNames; + std::vector detailInfos; + + int32_t result = proxy_->AppendBundlesDetailsBackupSession(bundleNames, detailInfos); + EXPECT_EQ(result, BError(BError::Codes::OK)); + + result = proxy_->AppendBundlesDetailsBackupSession(bundleNames, detailInfos); + EXPECT_NE(result, BError(BError::Codes::OK)); + GTEST_LOG_(INFO) << "ServiceProxyTest-end SUB_Service_proxy_AppendBundlesDetailsBackupSession_0100"; +} + /** * @tc.number: SUB_Service_proxy_Finish_0100 * @tc.name: SUB_Service_proxy_Finish_0100 @@ -604,6 +665,43 @@ HWTEST_F(ServiceProxyTest, SUB_Service_proxy_PublishIncrementalFile_0100, testin GTEST_LOG_(INFO) << "ServiceProxyTest-end SUB_Service_proxy_PublishIncrementalFile_0100"; } +/** + * @tc.number: SUB_Service_proxy_PublishSAIncrementalFile_0100 + * @tc.name: SUB_Service_proxy_PublishSAIncrementalFile_0100 + * @tc.desc: 测试 PublishSAIncrementalFile 接口调用成功和失败 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I90ZV5 + */ +HWTEST_F(ServiceProxyTest, SUB_Service_proxy_PublishSAIncrementalFile_0100, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ServiceProxyTest-begin SUB_Service_proxy_PublishSAIncrementalFile_0100"; + if (proxy_ == nullptr) { + GTEST_LOG_(INFO) << "SUB_Service_proxy_PublishSAIncrementalFile_0100 proxy_ == nullptr"; + return; + } + EXPECT_CALL(*mock_, SendRequest(_, _, _, _)) + .Times(2) + .WillOnce(Invoke(mock_.GetRefPtr(), &IServiceMock::InvokeSendRequest)) + .WillOnce(Return(EPERM)); + + string bundleName = "com.example.app2backup"; + string fileName = ""; + BFileInfo fileInfo(bundleName, fileName, -1); + TestManager tm("AppIncrementalFileReady_GetFd_0100"); + std::string filePath = tm.GetRootDirCurTest().append(FILE_NAME); + UniqueFd fd(open(filePath.data(), O_RDONLY | O_CREAT, S_IRUSR | S_IWUSR)); + ErrCode ret = proxy_->PublishSAIncrementalFile(fileInfo, move(fd)); + EXPECT_EQ(ret, BError(BError::Codes::OK)); + + TestManager tmErr("AppIncrementalFileReady_GetFd_0200"); + UniqueFd fdErr(open(tmErr.GetRootDirCurTest().append(FILE_NAME).data(), O_RDONLY | O_CREAT, S_IRUSR | S_IWUSR)); + ret = proxy_->PublishSAIncrementalFile(fileInfo, move(fdErr)); + EXPECT_NE(ret, BError(BError::Codes::OK)); + GTEST_LOG_(INFO) << "ServiceProxyTest-end SUB_Service_proxy_PublishSAIncrementalFile_0100"; +} + /** * @tc.number: SUB_Service_proxy_AppIncrementalFileReady_0100 * @tc.name: SUB_Service_proxy_AppIncrementalFileReady_0100 -- Gitee From a7f730169068e481411ff4b2ea503db35e89e6ad Mon Sep 17 00:00:00 2001 From: chensihan Date: Thu, 10 Oct 2024 03:35:32 +0000 Subject: [PATCH 4/5] update test/unittest/file_uri_native/file_uri_test.cpp. Signed-off-by: chensihan --- .../file_uri_native/file_uri_test.cpp | 230 +++++++++--------- 1 file changed, 115 insertions(+), 115 deletions(-) diff --git a/test/unittest/file_uri_native/file_uri_test.cpp b/test/unittest/file_uri_native/file_uri_test.cpp index 545283d73..bc2ca30e0 100644 --- a/test/unittest/file_uri_native/file_uri_test.cpp +++ b/test/unittest/file_uri_native/file_uri_test.cpp @@ -212,15 +212,15 @@ HWTEST_F(FileUriTest, File_uri_GetPath_0003, testing::ext::TestSize.Level1) */ HWTEST_F(FileUriTest, File_uri_GetPath_0004, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0004"; - string fileStr = "/data/storage/el2/base/files/test.txt"; - string uri = "file://" + fileStr; - FileUri fileUri(uri); - EXPECT_EQ(fileUri.ToString(), uri); - EXPECT_EQ(fileUri.GetName(), "test.txt"); - EXPECT_EQ(fileUri.GetPath(), fileStr); - EXPECT_EQ(fileUri.GetRealPath(), fileStr); - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0004"; + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0004"; + string fileStr = "/data/storage/el2/base/files/test.txt"; + string uri = "file://" + fileStr; + FileUri fileUri(uri); + EXPECT_EQ(fileUri.ToString(), uri); + EXPECT_EQ(fileUri.GetName(), "test.txt"); + EXPECT_EQ(fileUri.GetPath(), fileStr); + EXPECT_EQ(fileUri.GetRealPath(), fileStr); + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0004"; } /** * @tc.name: file_uri_test_0007 @@ -232,13 +232,13 @@ HWTEST_F(FileUriTest, File_uri_GetPath_0004, testing::ext::TestSize.Level1) */ HWTEST_F(FileUriTest, File_uri_GetPath_0005, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0005"; - string fileStr = "file://media/Photo/12/IMG_12345_999999/test.jpg"; - string rltStr = "/data/storage/el2/share/r/media/Photo/12/IMG_12345_999999/test.jpg"; - FileUri fileUri(fileStr); - string path = fileUri.GetRealPath(); - EXPECT_EQ(path, rltStr); - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0005"; + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0005"; + string fileStr = "file://media/Photo/12/IMG_12345_999999/test.jpg"; + string rltStr = "/data/storage/el2/share/r/media/Photo/12/IMG_12345_999999/test.jpg"; + FileUri fileUri(fileStr); + string path = fileUri.GetRealPath(); + EXPECT_EQ(path, rltStr); + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0005"; } /** * @tc.name: file_uri_test_0008 @@ -250,13 +250,13 @@ HWTEST_F(FileUriTest, File_uri_GetPath_0005, testing::ext::TestSize.Level1) */ HWTEST_F(FileUriTest, File_uri_GetPath_0006, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0006"; - string fileStr = "file://docs/storage/Users/currentUser/Documents/1.txt?networkid=xxx"; - string rltStr = "/data/storage/el2/share/r/docs/storage/Users/currentUser/Documents/1.txt"; - FileUri fileUri(fileStr); - string path = fileUri.GetRealPath(); - EXPECT_EQ(path, rltStr); - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0006"; + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0006"; + string fileStr = "file://docs/storage/Users/currentUser/Documents/1.txt?networkid=xxx"; + string rltStr = "/data/storage/el2/share/r/docs/storage/Users/currentUser/Documents/1.txt"; + FileUri fileUri(fileStr); + string path = fileUri.GetRealPath(); + EXPECT_EQ(path, rltStr); + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0006"; } /** * @tc.name: file_uri_test_0009 @@ -268,15 +268,15 @@ HWTEST_F(FileUriTest, File_uri_GetPath_0006, testing::ext::TestSize.Level1) */ HWTEST_F(FileUriTest, File_uri_GetPath_0007, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0007"; - string fileStr = "/mnt/data/fuse/1.txt"; - string bundleB = "com.ohos.dlpmanager"; - string uri = "file://" + bundleB + fileStr; - string rltStr = "/mnt/data/fuse/1.txt"; - FileUri fileUri(uri); - string path = fileUri.GetRealPath(); - EXPECT_EQ(path, rltStr); - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0007"; + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0007"; + string fileStr = "/mnt/data/fuse/1.txt"; + string bundleB = "com.ohos.dlpmanager"; + string uri = "file://" + bundleB + fileStr; + string rltStr = "/mnt/data/fuse/1.txt"; + FileUri fileUri(uri); + string path = fileUri.GetRealPath(); + EXPECT_EQ(path, rltStr); + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0007"; } /** * @tc.name: file_uri_test_00010 @@ -288,15 +288,15 @@ HWTEST_F(FileUriTest, File_uri_GetPath_0007, testing::ext::TestSize.Level1) */ HWTEST_F(FileUriTest, File_uri_GetPath_0008, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0008"; - string fileStr = "/data/appdata/el2/base/files/test.txt"; - string bundleB = "com.demo.b"; - string uri = "file://" + bundleB + fileStr; - string rltStr = ""; - FileUri fileUri(uri); - string path = fileUri.GetRealPath(); - EXPECT_EQ(path, rltStr); - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0008"; + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0008"; + string fileStr = "/data/appdata/el2/base/files/test.txt"; + string bundleB = "com.demo.b"; + string uri = "file://" + bundleB + fileStr; + string rltStr = ""; + FileUri fileUri(uri); + string path = fileUri.GetRealPath(); + EXPECT_EQ(path, rltStr); + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0008"; } /** * @tc.name: file_uri_test_0000 @@ -308,15 +308,15 @@ HWTEST_F(FileUriTest, File_uri_GetPath_0008, testing::ext::TestSize.Level1) */ HWTEST_F(FileUriTest, File_uri_GetPathBySA_0000, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0000"; - string fileStr = "/data/storage/el2/base/files/test.txt"; - string bundleB = "com.demo.b"; - string uri = "file://" + bundleB + fileStr; - string rltStr = "/storage/Users/currentUser/appdata/el2/base/" + bundleB + "/files/test.txt"; - FileUri fileUri(uri); - string path = fileUri.GetRealPathBySA(""); - EXPECT_EQ(path, rltStr); - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0000"; + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0000"; + string fileStr = "/data/storage/el2/base/files/test.txt"; + string bundleB = "com.demo.b"; + string uri = "file://" + bundleB + fileStr; + string rltStr = "/storage/Users/currentUser/appdata/el2/base/" + bundleB + "/files/test.txt"; + FileUri fileUri(uri); + string path = fileUri.GetRealPathBySA(""); + EXPECT_EQ(path, rltStr); + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0000"; } /** * @tc.name: file_uri_test_0001 @@ -328,15 +328,15 @@ HWTEST_F(FileUriTest, File_uri_GetPathBySA_0000, testing::ext::TestSize.Level1) */ HWTEST_F(FileUriTest, File_uri_GetPathBySA_0001, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0001"; - string fileStr = "/data/storage/el2/base/files/test.txt"; - string bundleB = "com.demo.b"; - string uri = "file://" + bundleB + fileStr; - string rltStr = "/data/storage/el2/base/files/test.txt"; - FileUri fileUri(uri); - string path = fileUri.GetRealPathBySA("com.demo.b"); - EXPECT_EQ(path, rltStr); - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0001"; + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0001"; + string fileStr = "/data/storage/el2/base/files/test.txt"; + string bundleB = "com.demo.b"; + string uri = "file://" + bundleB + fileStr; + string rltStr = "/data/storage/el2/base/files/test.txt"; + FileUri fileUri(uri); + string path = fileUri.GetRealPathBySA("com.demo.b"); + EXPECT_EQ(path, rltStr); + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0001"; } /** * @tc.name: file_uri_test_0002 @@ -348,15 +348,15 @@ HWTEST_F(FileUriTest, File_uri_GetPathBySA_0001, testing::ext::TestSize.Level1) */ HWTEST_F(FileUriTest, File_uri_GetPathBySA_0002, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0002"; - string fileStr = "/storage/Users/currentUser/Documents/1.txt"; - string bundleB = "docs"; - string uri = "file://" + bundleB + fileStr; - string rltStr = "/storage/Users/currentUser/Documents/1.txt"; - FileUri fileUri(uri); - string path = fileUri.GetRealPathBySA(""); - EXPECT_EQ(path, rltStr); - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0002"; + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0002"; + string fileStr = "/storage/Users/currentUser/Documents/1.txt"; + string bundleB = "docs"; + string uri = "file://" + bundleB + fileStr; + string rltStr = "/storage/Users/currentUser/Documents/1.txt"; + FileUri fileUri(uri); + string path = fileUri.GetRealPathBySA(""); + EXPECT_EQ(path, rltStr); + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0002"; } /** * @tc.name: file_uri_test_0003 @@ -368,15 +368,15 @@ HWTEST_F(FileUriTest, File_uri_GetPathBySA_0002, testing::ext::TestSize.Level1) */ HWTEST_F(FileUriTest, File_uri_GetPathBySA_0003, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0003"; - string fileStr = "/storage/Users/currentUser/Documents/1.txt"; - string bundleB = "docs"; - string uri = "file://" + bundleB + fileStr; - string rltStr = "/storage/Users/currentUser/Documents/1.txt"; - FileUri fileUri(uri); - string path = fileUri.GetRealPathBySA("com.demo.b"); - EXPECT_EQ(path, rltStr); - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0003"; + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0003"; + string fileStr = "/storage/Users/currentUser/Documents/1.txt"; + string bundleB = "docs"; + string uri = "file://" + bundleB + fileStr; + string rltStr = "/storage/Users/currentUser/Documents/1.txt"; + FileUri fileUri(uri); + string path = fileUri.GetRealPathBySA("com.demo.b"); + EXPECT_EQ(path, rltStr); + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0003"; } /** * @tc.name: file_uri_test_0004 @@ -388,15 +388,15 @@ HWTEST_F(FileUriTest, File_uri_GetPathBySA_0003, testing::ext::TestSize.Level1) */ HWTEST_F(FileUriTest, File_uri_GetPathBySA_0004, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0004"; - string fileStr = "/mnt/data/fuse/1.txt"; - string bundleB = "com.ohos.dlpmanager"; - string uri = "file://" + bundleB + fileStr; - string rltStr = "/mnt/data/fuse/1.txt"; - FileUri fileUri(uri); - string path = fileUri.GetRealPathBySA(""); - EXPECT_EQ(path, rltStr); - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0004"; + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0004"; + string fileStr = "/mnt/data/fuse/1.txt"; + string bundleB = "com.ohos.dlpmanager"; + string uri = "file://" + bundleB + fileStr; + string rltStr = "/mnt/data/fuse/1.txt"; + FileUri fileUri(uri); + string path = fileUri.GetRealPathBySA(""); + EXPECT_EQ(path, rltStr); + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0004"; } /** * @tc.name: file_uri_test_0005 @@ -408,15 +408,15 @@ HWTEST_F(FileUriTest, File_uri_GetPathBySA_0004, testing::ext::TestSize.Level1) */ HWTEST_F(FileUriTest, File_uri_GetPathBySA_0005, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0005"; - string fileStr = "/data/storage/el2/base/files/test.txt"; - string bundleB = "com.ohos.dlpmanager"; - string uri = "file://" + bundleB + fileStr; - string rltStr = "/storage/Users/currentUser/appdata/el2/base/" + bundleB + "/files/test.txt"; - FileUri fileUri(uri); - string path = fileUri.GetRealPathBySA(""); - EXPECT_EQ(path, rltStr); - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0005"; + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0005"; + string fileStr = "/data/storage/el2/base/files/test.txt"; + string bundleB = "com.ohos.dlpmanager"; + string uri = "file://" + bundleB + fileStr; + string rltStr = "/storage/Users/currentUser/appdata/el2/base/" + bundleB + "/files/test.txt"; + FileUri fileUri(uri); + string path = fileUri.GetRealPathBySA(""); + EXPECT_EQ(path, rltStr); + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0005"; } /** * @tc.name: file_uri_test_0006 @@ -428,15 +428,15 @@ HWTEST_F(FileUriTest, File_uri_GetPathBySA_0005, testing::ext::TestSize.Level1) */ HWTEST_F(FileUriTest, File_uri_GetPathBySA_0006, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0006"; - string fileStr = "/data/data/el2/base/files/test.txt"; - string bundleB = "com.ohos.dlpmanager"; - string uri = "file://" + bundleB + fileStr; - string rltStr = ""; - FileUri fileUri(uri); - string path = fileUri.GetRealPathBySA(""); - EXPECT_EQ(path, rltStr); - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0006"; + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0006"; + string fileStr = "/data/data/el2/base/files/test.txt"; + string bundleB = "com.ohos.dlpmanager"; + string uri = "file://" + bundleB + fileStr; + string rltStr = ""; + FileUri fileUri(uri); + string path = fileUri.GetRealPathBySA(""); + EXPECT_EQ(path, rltStr); + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0006"; } /** * @tc.name: file_uri_test_0007 @@ -448,17 +448,17 @@ HWTEST_F(FileUriTest, File_uri_GetPathBySA_0006, testing::ext::TestSize.Level1) */ HWTEST_F(FileUriTest, File_uri_GetFullDirectoryUri_0000, testing::ext::TestSize.Level1) { - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetFullDirectoryUri_0000"; - string fileStr = "/data/test/remote_file_share_test.txt"; - FileUri fileUriObject(fileStr); - string fileDirectoryUri = "file://" + BUNDLE_A + "/data/test"; - EXPECT_EQ(fileUriObject.GetFullDirectoryUri(), fileDirectoryUri); - string folderStr = "/data/test"; - string folderUri = "file://" + BUNDLE_A + folderStr; - FileUri folderUriObject(folderUri); - string folderDirectoryUri = "file://" + BUNDLE_A + folderStr; - EXPECT_EQ(folderUriObject.GetFullDirectoryUri(), folderDirectoryUri); - GTEST_LOG_(INFO) << "FileUriTest-end File_uri_GetPath_0000"; + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetFullDirectoryUri_0000"; + string fileStr = "/data/test/remote_file_share_test.txt"; + FileUri fileUriObject(fileStr); + string fileDirectoryUri = "file://" + BUNDLE_A + "/data/test"; + EXPECT_EQ(fileUriObject.GetFullDirectoryUri(), fileDirectoryUri); + string folderStr = "/data/test"; + string folderUri = "file://" + BUNDLE_A + folderStr; + FileUri folderUriObject(folderUri); + string folderDirectoryUri = "file://" + BUNDLE_A + folderStr; + EXPECT_EQ(folderUriObject.GetFullDirectoryUri(), folderDirectoryUri); + GTEST_LOG_(INFO) << "FileUriTest-end File_uri_GetPath_0000"; } /** -- Gitee From 17934a73933e94cbacaf443d1c0bd40078c61d72 Mon Sep 17 00:00:00 2001 From: chensihan Date: Thu, 10 Oct 2024 06:20:46 +0000 Subject: [PATCH 5/5] update test/unittest/file_uri_native/file_uri_test.cpp. Signed-off-by: chensihan --- .../file_uri_native/file_uri_test.cpp | 635 ++++++------------ 1 file changed, 207 insertions(+), 428 deletions(-) diff --git a/test/unittest/file_uri_native/file_uri_test.cpp b/test/unittest/file_uri_native/file_uri_test.cpp index bc2ca30e0..d02975a69 100644 --- a/test/unittest/file_uri_native/file_uri_test.cpp +++ b/test/unittest/file_uri_native/file_uri_test.cpp @@ -42,451 +42,230 @@ string CommonFunc::GetSelfBundleName() return BUNDLE_A; } -namespace OHOS::AppFileService::ModuleFileUri { -class FileUriTest : public testing::Test { -public: - static void SetUpTestCase(void) {}; - static void TearDownTestCase() {}; - void SetUp() {}; - void TearDown() {}; -}; - -/** - * @tc.name: file_uri_test_0000 - * @tc.desc: Test function of ToString() interface for SUCCESS. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I7LW57 -*/ -HWTEST_F(FileUriTest, File_uri_ToString_0000, testing::ext::TestSize.Level1) +static bool CheckFileManagerFullMountEnable() { - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_ToString_0000"; + char value[] = "false"; + int retSystem = GetParameter(FULL_MOUNT_ENABLE_PARAMETER.c_str(), "false", value, sizeof(value)); + if ((retSystem > 0) && (string_view(value) == "true")) { + return true; + } + LOGE("Not supporting all mounts"); + return false; +} - string fileStr = "/data/storage/el2/base/files/test.txt"; - string uri = "file://" + BUNDLE_A + fileStr; - FileUri fileUri(fileStr); - EXPECT_EQ(fileUri.ToString(), uri); +namespace OHOS::AppFileService::ModuleFileUri { + const string PATH_SHARE = "/data/storage/el2/share"; + const string MODE_RW = "/rw/"; + const string MODE_R = "/r/"; + const int E_OK = 0; - FileUri fileUri2(uri); - EXPECT_EQ(fileUri2.ToString(), uri); - GTEST_LOG_(INFO) << "FileUriTest-end File_uri_ToString_0000"; -} + class FileUriTest : public testing::Test { + public: + static void SetUpTestCase(void) {}; + static void TearDownTestCase() {}; + void SetUp() {}; + void TearDown() {}; + }; -/** - * @tc.name: file_uri_test_0001 - * @tc.desc: Test function of GetName() interface for SUCCESS. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I7LW57 -*/ -HWTEST_F(FileUriTest, File_uri_GetName_0000, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetName_0000"; + /** + * @tc.name: file_uri_test_0000 + * @tc.desc: Test function of ToString() interface for SUCCESS. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I7LW57 + */ + HWTEST_F(FileUriTest, File_uri_ToString_0000, testing::ext::TestSize.Level1) + { + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_ToString_0000"; - string fileStr = "/data/storage/el2/base/files/test.txt"; - string uri = "file://" + BUNDLE_A + fileStr; - FileUri fileUri(fileStr); - string name = fileUri.GetName(); - EXPECT_EQ(name, "test.txt"); + string fileStr = "/data/storage/el2/base/files/test.txt"; + string uri = "file://" + BUNDLE_A + fileStr; + FileUri fileUri(fileStr); + EXPECT_EQ(fileUri.ToString(), uri); - string fileStr2 = "/data/storage/el2/base/files/test.txt/"; - string uri2 = "file://" + BUNDLE_A + fileStr; - FileUri fileUri2(fileStr2); - EXPECT_EQ(fileUri2.GetName(), ""); - GTEST_LOG_(INFO) << "FileUriTest-end File_uri_GetName_0000"; -} + FileUri fileUri2(uri); + EXPECT_EQ(fileUri2.ToString(), uri); + GTEST_LOG_(INFO) << "FileUriTest-end File_uri_ToString_0000"; + } -/** - * @tc.name: file_uri_test_0002 - * @tc.desc: Test function of GetPath() interface for SUCCESS. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I7LW57 -*/ -HWTEST_F(FileUriTest, File_uri_GetPath_0000, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0000"; - string fileStr = "/data/storage/el2/base/files/test.txt"; - string uri = "file://" + BUNDLE_A + fileStr; - FileUri fileUri(uri); - string path = fileUri.GetPath(); - EXPECT_EQ(path, fileStr); + /** + * @tc.name: file_uri_test_0001 + * @tc.desc: Test function of GetName() interface for SUCCESS. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I7LW57 + */ + HWTEST_F(FileUriTest, File_uri_GetName_0000, testing::ext::TestSize.Level1) + { + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetName_0000"; - string uri2 = "file://media/Photo/12/IMG_12345_999999/test.jpg"; - FileUri fileUri2(uri2); - path = fileUri2.GetPath(); - EXPECT_EQ(path, "/Photo/12/IMG_12345_999999"); + string fileStr = "/data/storage/el2/base/files/test.txt"; + string uri = "file://" + BUNDLE_A + fileStr; + FileUri fileUri(fileStr); + string name = fileUri.GetName(); + EXPECT_EQ(name, "test.txt"); + GTEST_LOG_(INFO) << "FileUriTest-end File_uri_GetName_0000"; + } - string uri4 = "file://media/Photo/12/IMG_12345_999999"; - FileUri fileUri4(uri4); - EXPECT_EQ(fileUri2.GetPath(), "/Photo/12/IMG_12345_999999"); - GTEST_LOG_(INFO) << "FileUriTest-end File_uri_GetPath_0000"; -} + /** + * @tc.name: file_uri_test_0002 + * @tc.desc: Test function of GetPath() interface for SUCCESS. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I7LW57 + */ + HWTEST_F(FileUriTest, File_uri_GetPath_0000, testing::ext::TestSize.Level1) + { + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0000"; + string fileStr = "/data/storage/el2/base/files/test.txt"; + string uri = "file://" + BUNDLE_A + fileStr; + FileUri fileUri(uri); + string path = fileUri.GetPath(); + EXPECT_EQ(path, fileStr); -/** - * @tc.name: file_uri_test_0003 - * @tc.desc: Test function of GetPath() interface for SUCCESS. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I7LW57 -*/ -HWTEST_F(FileUriTest, File_uri_GetPath_0001, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0001"; - string fileStr = "/Documents/test.txt"; - string uri = "file://" + BUNDLE_A + fileStr; - FileUri fileUri(uri); - string path = fileUri.GetRealPath(); - EXPECT_EQ(path, fileStr); + string uri2 = "file://media/Photo/12/IMG_12345_999999/test.jpg"; + FileUri fileUri2(uri2); + path = fileUri2.GetPath(); + EXPECT_EQ(path, "/Photo/12/IMG_12345_999999"); + GTEST_LOG_(INFO) << "FileUriTest-end File_uri_GetPath_0000"; + } - string fileStrPath = "docs/storage/Users/currentUser/Documents/1.txt"; - string fileStrRealPath = "/storage/Users/currentUser/Documents/1.txt"; - string uri2 = "file://" + fileStrPath; - FileUri fileUri2(uri2); - path.clear(); - path = fileUri2.GetRealPath(); - EXPECT_EQ(path, fileStrRealPath); - GTEST_LOG_(INFO) << "FileUriTest-end File_uri_GetPath_0001"; -} + /** + * @tc.name: file_uri_test_0003 + * @tc.desc: Test function of GetPath() interface for SUCCESS. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I7LW57 + */ + HWTEST_F(FileUriTest, File_uri_GetPath_0001, testing::ext::TestSize.Level1) + { + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0001"; + string fileStr = "/Documents/test.txt"; + string uri = "file://" + BUNDLE_A + fileStr; + FileUri fileUri(uri); + string path = fileUri.GetRealPath(); + EXPECT_EQ(path, fileStr); -/** - * @tc.name: file_uri_test_0004 - * @tc.desc: Test function of GetPath() interface for SUCCESS. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I7LW57 -*/ -HWTEST_F(FileUriTest, File_uri_GetPath_0002, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0002"; - string fileStr = "/data/storage/el2/base/files/test.txt"; - string bundleB = "com.demo.b"; - string uri = "file://" + bundleB + fileStr; - string rltStr = "/storage/Users/currentUser/appdata/el2/base/" + bundleB + "/files/test.txt"; - FileUri fileUri(uri); - string path = fileUri.GetRealPath(); - EXPECT_EQ(path, rltStr); - GTEST_LOG_(INFO) << "FileUriTest-end File_uri_GetPath_0002"; -} + string fileStrPath = "docs/storage/Users/currentUser/Documents/1.txt"; + string fileStrRealPath = "/storage/Users/currentUser/Documents/1.txt"; + string uri2 = "file://" + fileStrPath; + FileUri fileUri2(uri2); + path.clear(); + path = fileUri2.GetRealPath(); + if (CheckFileManagerFullMountEnable()) { + EXPECT_EQ(path, fileStrRealPath); + } else { + EXPECT_EQ(path, PATH_SHARE + MODE_R + fileStrPath); + }; + GTEST_LOG_(INFO) << "FileUriTest-end File_uri_GetPath_0001"; + } -/** - * @tc.name: file_uri_test_0005 - * @tc.desc: Test function of GetPath() interface for SUCCESS. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I7LW57 -*/ -HWTEST_F(FileUriTest, File_uri_GetPath_0003, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0003"; - int32_t uid = 100; - string bundleB = "com.example.fileshareb"; - string fileStr = "/data/app/el2/" + to_string(uid) + "/base/" + bundleB + "/files/test.txt"; - int32_t fd = open(fileStr.c_str(), O_RDWR | O_CREAT); - ASSERT_TRUE(fd != -1) << "FileShareTest Create File Failed!"; - string actStr = "/data/storage/el2/base/files/test.txt"; - string uri = "file://" + bundleB + actStr; + /** + * @tc.name: file_uri_test_0004 + * @tc.desc: Test function of GetPath() interface for SUCCESS. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I7LW57 + */ + HWTEST_F(FileUriTest, File_uri_GetPath_0002, testing::ext::TestSize.Level1) + { + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0002"; + string fileStr = "/data/storage/el2/base/files/test.txt"; + string bundleB = "com.demo.b"; + string uri = "file://" + bundleB + fileStr; + string rltStr = PATH_SHARE + MODE_R + bundleB + fileStr; + FileUri fileUri(uri); + string path = fileUri.GetRealPath(); + EXPECT_EQ(path, rltStr); + GTEST_LOG_(INFO) << "FileUriTest-end File_uri_GetPath_0002"; + } - string rltStr = "/storage/Users/currentUser/appdata/el2/base/" + bundleB + "/files/test.txt"; - FileUri fileUri(uri); - string path = fileUri.GetRealPath(); - EXPECT_EQ(path, rltStr); + /** + * @tc.name: file_uri_test_0005 + * @tc.desc: Test function of GetPath() interface for SUCCESS. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I7LW57 + */ + HWTEST_F(FileUriTest, File_uri_GetPath_0003, testing::ext::TestSize.Level1) + { + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0003"; + int32_t uid = 100; + string bundleB = "com.example.fileshareb"; + string fileStr = "/data/app/el2/" + to_string(uid) + "/base/" + bundleB + "/files/test.txt"; + int32_t fd = open(fileStr.c_str(), O_RDWR | O_CREAT); + ASSERT_TRUE(fd != -1) << "FileShareTest Create File Failed!"; - close(fd); - GTEST_LOG_(INFO) << "FileUriTest-end File_uri_GetPath_0003"; -} + string actStr = "/data/storage/el2/base/files/test.txt"; + string uri = "file://" + bundleB + actStr; + uint32_t tokenId = AccessTokenKit::GetHapTokenID(uid, BUNDLE_A, 0); -/** - * @tc.name: file_uri_test_0006 - * @tc.desc: Test function of GetPath() interface for SUCCESS. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I7LW57 -*/ -HWTEST_F(FileUriTest, File_uri_GetPath_0004, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0004"; - string fileStr = "/data/storage/el2/base/files/test.txt"; - string uri = "file://" + fileStr; - FileUri fileUri(uri); - EXPECT_EQ(fileUri.ToString(), uri); - EXPECT_EQ(fileUri.GetName(), "test.txt"); - EXPECT_EQ(fileUri.GetPath(), fileStr); - EXPECT_EQ(fileUri.GetRealPath(), fileStr); - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0004"; -} -/** - * @tc.name: file_uri_test_0007 - * @tc.desc: Test function of GetPath() interface for SUCCESS. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I7LW57 -*/ -HWTEST_F(FileUriTest, File_uri_GetPath_0005, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0005"; - string fileStr = "file://media/Photo/12/IMG_12345_999999/test.jpg"; - string rltStr = "/data/storage/el2/share/r/media/Photo/12/IMG_12345_999999/test.jpg"; - FileUri fileUri(fileStr); - string path = fileUri.GetRealPath(); - EXPECT_EQ(path, rltStr); - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0005"; -} -/** - * @tc.name: file_uri_test_0008 - * @tc.desc: Test function of GetPath() interface for SUCCESS. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I7LW57 -*/ -HWTEST_F(FileUriTest, File_uri_GetPath_0006, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0006"; - string fileStr = "file://docs/storage/Users/currentUser/Documents/1.txt?networkid=xxx"; - string rltStr = "/data/storage/el2/share/r/docs/storage/Users/currentUser/Documents/1.txt"; - FileUri fileUri(fileStr); - string path = fileUri.GetRealPath(); - EXPECT_EQ(path, rltStr); - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0006"; -} -/** - * @tc.name: file_uri_test_0009 - * @tc.desc: Test function of GetPath() interface for SUCCESS. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I7LW57 -*/ -HWTEST_F(FileUriTest, File_uri_GetPath_0007, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0007"; - string fileStr = "/mnt/data/fuse/1.txt"; - string bundleB = "com.ohos.dlpmanager"; - string uri = "file://" + bundleB + fileStr; - string rltStr = "/mnt/data/fuse/1.txt"; - FileUri fileUri(uri); - string path = fileUri.GetRealPath(); - EXPECT_EQ(path, rltStr); - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0007"; -} -/** - * @tc.name: file_uri_test_00010 - * @tc.desc: Test function of GetPath() interface for SUCCESS. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I7LW57 -*/ -HWTEST_F(FileUriTest, File_uri_GetPath_0008, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0008"; - string fileStr = "/data/appdata/el2/base/files/test.txt"; - string bundleB = "com.demo.b"; - string uri = "file://" + bundleB + fileStr; - string rltStr = ""; - FileUri fileUri(uri); - string path = fileUri.GetRealPath(); - EXPECT_EQ(path, rltStr); - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0008"; -} -/** - * @tc.name: file_uri_test_0000 - * @tc.desc: Test function of GetPathBySA() interface for SUCCESS. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I7LW57 -*/ -HWTEST_F(FileUriTest, File_uri_GetPathBySA_0000, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0000"; - string fileStr = "/data/storage/el2/base/files/test.txt"; - string bundleB = "com.demo.b"; - string uri = "file://" + bundleB + fileStr; - string rltStr = "/storage/Users/currentUser/appdata/el2/base/" + bundleB + "/files/test.txt"; - FileUri fileUri(uri); - string path = fileUri.GetRealPathBySA(""); - EXPECT_EQ(path, rltStr); - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0000"; -} -/** - * @tc.name: file_uri_test_0001 - * @tc.desc: Test function of GetPathBySA() interface for SUCCESS. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I7LW57 -*/ -HWTEST_F(FileUriTest, File_uri_GetPathBySA_0001, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0001"; - string fileStr = "/data/storage/el2/base/files/test.txt"; - string bundleB = "com.demo.b"; - string uri = "file://" + bundleB + fileStr; - string rltStr = "/data/storage/el2/base/files/test.txt"; - FileUri fileUri(uri); - string path = fileUri.GetRealPathBySA("com.demo.b"); - EXPECT_EQ(path, rltStr); - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0001"; -} -/** - * @tc.name: file_uri_test_0002 - * @tc.desc: Test function of GetPathBySA() interface for SUCCESS. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I7LW57 -*/ -HWTEST_F(FileUriTest, File_uri_GetPathBySA_0002, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0002"; - string fileStr = "/storage/Users/currentUser/Documents/1.txt"; - string bundleB = "docs"; - string uri = "file://" + bundleB + fileStr; - string rltStr = "/storage/Users/currentUser/Documents/1.txt"; - FileUri fileUri(uri); - string path = fileUri.GetRealPathBySA(""); - EXPECT_EQ(path, rltStr); - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0002"; -} -/** - * @tc.name: file_uri_test_0003 - * @tc.desc: Test function of GetPathBySA() interface for SUCCESS. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I7LW57 -*/ -HWTEST_F(FileUriTest, File_uri_GetPathBySA_0003, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0003"; - string fileStr = "/storage/Users/currentUser/Documents/1.txt"; - string bundleB = "docs"; - string uri = "file://" + bundleB + fileStr; - string rltStr = "/storage/Users/currentUser/Documents/1.txt"; - FileUri fileUri(uri); - string path = fileUri.GetRealPathBySA("com.demo.b"); - EXPECT_EQ(path, rltStr); - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0003"; -} -/** - * @tc.name: file_uri_test_0004 - * @tc.desc: Test function of GetPathBySA() interface for SUCCESS. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I7LW57 -*/ -HWTEST_F(FileUriTest, File_uri_GetPathBySA_0004, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0004"; - string fileStr = "/mnt/data/fuse/1.txt"; - string bundleB = "com.ohos.dlpmanager"; - string uri = "file://" + bundleB + fileStr; - string rltStr = "/mnt/data/fuse/1.txt"; - FileUri fileUri(uri); - string path = fileUri.GetRealPathBySA(""); - EXPECT_EQ(path, rltStr); - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0004"; -} -/** - * @tc.name: file_uri_test_0005 - * @tc.desc: Test function of GetPathBySA() interface for SUCCESS. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I7LW57 -*/ -HWTEST_F(FileUriTest, File_uri_GetPathBySA_0005, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0005"; - string fileStr = "/data/storage/el2/base/files/test.txt"; - string bundleB = "com.ohos.dlpmanager"; - string uri = "file://" + bundleB + fileStr; - string rltStr = "/storage/Users/currentUser/appdata/el2/base/" + bundleB + "/files/test.txt"; - FileUri fileUri(uri); - string path = fileUri.GetRealPathBySA(""); - EXPECT_EQ(path, rltStr); - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0005"; -} -/** - * @tc.name: file_uri_test_0006 - * @tc.desc: Test function of GetPathBySA() interface for SUCCESS. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: I7LW57 -*/ -HWTEST_F(FileUriTest, File_uri_GetPathBySA_0006, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0006"; - string fileStr = "/data/data/el2/base/files/test.txt"; - string bundleB = "com.ohos.dlpmanager"; - string uri = "file://" + bundleB + fileStr; - string rltStr = ""; - FileUri fileUri(uri); - string path = fileUri.GetRealPathBySA(""); - EXPECT_EQ(path, rltStr); - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPathBySA_0006"; -} -/** - * @tc.name: file_uri_test_0007 - * @tc.desc: Test function of GetFullDirectoryUri() interface for SUCCESS. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: -*/ -HWTEST_F(FileUriTest, File_uri_GetFullDirectoryUri_0000, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetFullDirectoryUri_0000"; - string fileStr = "/data/test/remote_file_share_test.txt"; - FileUri fileUriObject(fileStr); - string fileDirectoryUri = "file://" + BUNDLE_A + "/data/test"; - EXPECT_EQ(fileUriObject.GetFullDirectoryUri(), fileDirectoryUri); - string folderStr = "/data/test"; - string folderUri = "file://" + BUNDLE_A + folderStr; - FileUri folderUriObject(folderUri); - string folderDirectoryUri = "file://" + BUNDLE_A + folderStr; - EXPECT_EQ(folderUriObject.GetFullDirectoryUri(), folderDirectoryUri); - GTEST_LOG_(INFO) << "FileUriTest-end File_uri_GetPath_0000"; -} + int32_t flag = 3; + vector uriList(1, uri); + vector retList; + int32_t ret = FileShare::CreateShareFile(uriList, tokenId, flag, retList); + EXPECT_EQ(ret, E_OK); -/** - * @tc.name: File_uri_IsRemoteUri_0000 - * @tc.desc: Test function of IsRemoteUri() interface for SUCCESS. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 1 - * @tc.require: -*/ -HWTEST_F(FileUriTest, File_uri_IsRemoteUri_0000, testing::ext::TestSize.Level1) -{ - GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetFullDirectoryUri_0000"; - string fileStr = "file://" + BUNDLE_A + "/data/test"; - FileUri fileUriObject(fileStr); - EXPECT_EQ(fileUriObject.IsRemoteUri(), false); + string rltStr = PATH_SHARE + MODE_R + bundleB + actStr; + FileUri fileUri(uri); + string path = fileUri.GetRealPath(); + EXPECT_EQ(path, rltStr); - string fileStr2 = "file://" + BUNDLE_A + "/data/test?networkid="; - FileUri fileUriObject2(fileStr2); - EXPECT_EQ(fileUriObject2.IsRemoteUri(), false); + vector sharePathList; + sharePathList.push_back(uri); + ret = FileShare::DeleteShareFile(tokenId, sharePathList); + EXPECT_EQ(ret, E_OK); + close(fd); + GTEST_LOG_(INFO) << "FileUriTest-end File_uri_GetPath_0003"; + } - string fileStr3 = "file://" + BUNDLE_A + "/data/test?networkid=123456/"; - FileUri fileUriObject3(fileStr3); - EXPECT_EQ(fileUriObject3.IsRemoteUri(), false); - - string fileStr4 = "file://" + BUNDLE_A + "/data/test?networkid=123456"; - FileUri fileUriObject4(fileStr4); - EXPECT_EQ(fileUriObject4.IsRemoteUri(), true); - GTEST_LOG_(INFO) << "FileUriTest-end File_uri_GetPath_0000"; -} + /** + * @tc.name: file_uri_test_0006 + * @tc.desc: Test function of GetPath() interface for SUCCESS. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I7LW57 + */ + HWTEST_F(FileUriTest, File_uri_GetPath_0004, testing::ext::TestSize.Level1) + { + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0004"; + string fileStr = "/data/storage/el2/base/files/test.txt"; + string uri = "file://" + fileStr; + FileUri fileUri(uri); + EXPECT_EQ(fileUri.ToString(), uri); + EXPECT_EQ(fileUri.GetName(), "test.txt"); + EXPECT_EQ(fileUri.GetPath(), fileStr); + EXPECT_EQ(fileUri.GetRealPath(), fileStr); + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetPath_0004"; + } + + /** + * @tc.name: file_uri_test_0007 + * @tc.desc: Test function of GetFullDirectoryUri() interface for SUCCESS. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: + */ + HWTEST_F(FileUriTest, File_uri_GetFullDirectoryUri_0000, testing::ext::TestSize.Level1) + { + GTEST_LOG_(INFO) << "FileUriTest-begin File_uri_GetFullDirectoryUri_0000"; + string fileStr = "/data/test/remote_file_share_test.txt"; + FileUri fileUriObject(fileStr); + string fileDirectoryUri = "file://" + BUNDLE_A + "/data/test"; + EXPECT_EQ(fileUriObject.GetFullDirectoryUri(), fileDirectoryUri); + string folderStr = "/data/test"; + string folderUri = "file://" + BUNDLE_A + folderStr; + FileUri folderUriObject(folderUri); + string folderDirectoryUri = "file://" + BUNDLE_A + folderStr; + EXPECT_EQ(folderUriObject.GetFullDirectoryUri(), folderDirectoryUri); + GTEST_LOG_(INFO) << "FileUriTest-end File_uri_GetPath_0000"; + } } \ No newline at end of file -- Gitee