diff --git a/test/unittest/file_access_service_test.cpp b/test/unittest/file_access_service_test.cpp new file mode 100644 index 0000000000000000000000000000000000000000..3486c31411b29e1453d7073eb159117a263a9254 --- /dev/null +++ b/test/unittest/file_access_service_test.cpp @@ -0,0 +1,553 @@ +/* + * 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 +#include + +#include "assistant.h" +#include "file_access_extension_info.h" +#include "file_access_framework_errno.h" +#include "file_access_service.h" +#include "file_access_service_mock.h" +#include "if_system_ability_manager_mock.h" +#include "iservice_registry.h" +#include "message_parcel_mock.h" + +namespace OHOS::FileAccessFwk { +using namespace std; +using namespace testing; +using namespace testing::ext; + +class FileAccessServiceTest : public testing::Test { +protected: + void SetUp() {} override {} + void TearDown() {} override {} +}; + +/** + * @tc.number: user_file_service_file_access_service_0 + * @tc.name: user_file_service_file_access_service_0 + * @tc.desc: Test function of user_file_service for service_file_access_service. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 0 + * @tc.require: issuesI8Y05B + */ +HWTEST_F(GetBundleNameFromUriTest, user_file_service_file_access_service_0, TestSize.level0) +{ + OHOS::FileAccessFwk::Uri uri; + uri.SetScheme(FILE_SCHEME_NAME); + uri.SetAuthority("authority"); + uri.SetPath("path"); + std::string bundleName; + EXPECT_TRUE(OHOS::FileAccessFwk::GetBundleNameFromUri(uri, bundleName)); +} + +/** + * @tc.number: user_file_service_file_access_service_1 + * @tc.name: user_file_service_file_access_service_1 + * @tc.desc: Test function of user_file_service for service_file_access_service. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 0 + * @tc.require: issuesI8Y05B + */ +HWTEST_F(GetBundleNameFromUriTest, user_file_service_file_access_service_1, TestSize.level0) +{ + OHOS::FileAccessFwk::Uri uri; + uri.SetScheme("not_right_scheme"); + uri.SetAuthority("authority"); + uri.SetPath("path"); + std::string bundleName; + EXPECT_FALSE(OHOS::FileAccessFwk::GetBundleNameFromUri(uri, bundleName)); +} + +/** + * @tc.number: user_file_service_file_access_service_2 + * @tc.name: user_file_service_file_access_service_2 + * @tc.desc: Test function of user_file_service for service_file_access_service. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 0 + * @tc.require: issuesI8Y05B + */ +HWTEST_F(GetBundleNameFromUriTest, user_file_service_file_access_service_2, TestSize.level0) +{ + OHOS::FileAccessFwk::Uri uri; + uri.SetScheme(FILE_SCHEME_NAME); + uri.SetAuthority("authority"); + uri.SetPath(""); + std::string bundleName; + EXPECT_FALSE(OHOS::FileAccessFwk::GetBundleNameFromUri(uri, bundleName)); +} + +/** + * @tc.number: user_file_service_file_access_service_3 + * @tc.name: user_file_service_file_access_service_3 + * @tc.desc: Test function of user_file_service for service_file_access_service. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 0 + * @tc.require: issuesI8Y05B + */ +HWTEST_F(GetBundleNameFromUriTest, user_file_service_file_access_service_3, TestSize.level0) +{ + OHOS::FileAccessFwk::Uri uri; + uri.SetScheme(FILE_SCHEME_NAME); + uri.SetAuthority("authority"); + uri.SetPath("path_not_start_with_slash"); + std::string bundleName; + EXPECT_FALSE(OHOS::FileAccessFwk::GetBundleNameFromUri(uri, bundleName)); +} + +/** + * @tc.number: user_file_service_file_access_service_4 + * @tc.name: user_file_service_file_access_service_4 + * @tc.desc: Test function of user_file_service for service_file_access_service. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 0 + * @tc.require: issuesI8Y05B + */ +HWTEST_F(GetBundleNameFromUriTest, user_file_service_file_access_service_4, TestSize.level0) +{ + OHOS::FileAccessFwk::Uri uri; + uri.SetScheme(FILE_SCHEME_NAME); + uri.SetAuthority("authority"); + uri.SetPath("path_not_start_with_slash"); + std::string bundleName; + EXPECT_TRUE(OHOS::FileAccessFwk::GetBundleNameFromUri(uri, bundleName)); +} + +/** + * @tc.number: user_file_service_file_access_service_5 + * @tc.name: user_file_service_file_access_service_5 + * @tc.desc: Test function of user_file_service for service_file_access_service. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 0 + * @tc.require: issuesI8Y05B + */ +HWTEST_F(GetBundleNameFromUriTest, user_file_service_file_access_service_5, TestSize.level0) +{ + OHOS::FileAccessFwk::Uri uri; + uri.SetScheme(FILE_SCHEME_NAME); + uri.SetAuthority("authority"); + uri.SetPath("path_not_start_with_slash"); + std::string bundleName; + EXPECT_TRUE(OHOS::FileAccessFwk::GetBundleNameFromUri(uri, bundleName)); +} + +/** + * @tc.number: user_file_service_file_access_service_6 + * @tc.name: user_file_service_file_access_service_6 + * @tc.desc: Test function of user_file_service for service_file_access_service. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 0 + * @tc.require: issuesI8Y05B + */ +HWTEST_F(GetBundleNameFromUriTest, user_file_service_file_access_service_6, TestSize.level0) +{ + OHOS::FileAccessFwk::Uri uri; + uri.SetScheme(FILE_SCHEME_NAME); + uri.SetAuthority("authority"); + uri.SetPath("/media_bundle_name_alias/path"); + std::string bundleName; + EXPECT_TRUE(OHOS::FileAccessFwk::GetBundleNameFromUri(uri, bundleName)); +} + +/** + * @tc.number: user_file_service_file_access_service_7 + * @tc.name: user_file_service_file_access_service_7 + * @tc.desc: Test function of user_file_service for service_file_access_service. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 0 + * @tc.require: issuesI8Y05B + */ +HWTEST_F(GetBundleNameFromUriTest, user_file_service_file_access_service_7, TestSize.level0) +{ + OHOS::FileAccessFwk::Uri uri; + uri.SetScheme(FILE_SCHEME_NAME); + uri.SetAuthority("authority"); + uri.SetPath("/external_bundle_name_alias/path"); + std::string bundleName; + EXPECT_TRUE(OHOS::FileAccessFwk::GetBundleNameFromUri(uri, bundleName)); +} + +/** + * @tc.number: user_file_service_file_access_service_8 + * @tc.name: user_file_service_file_access_service_8 + * @tc.desc: Test function of user_file_service for service_file_access_service. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 0 + * @tc.require: issuesI8Y05B + */ +HWTEST_F(GetBundleNameFromUriTest, user_file_service_file_access_service_8, TestSize.level0) +{ + OHOS::FileAccessFwk::Uri uri; + uri.SetScheme(FILE_SCHEME_NAME); + uri.SetAuthority("authority"); + uri.SetPath("/bundle_name_error/path"); + std::string bundleName; + EXPECT_TRUE(OHOS::FileAccessFwk::GetBundleNameFromUri(uri, bundleName)); +} + +/** + * @tc.number: user_file_service_file_access_service_9 + * @tc.name: user_file_service_file_access_service_9 + * @tc.desc: Test function of user_file_service for service_file_access_service. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 0 + * @tc.require: issuesI8Y05B + */ +HWTEST_F(GetBundleNameFromUriTest, user_file_service_file_access_service_9, TestSize.level0) +{ + OHOS::FileAccessFwk::Uri uri; + uri.SetScheme(FILE_SCHEME_NAME); + uri.SetAuthority("authority"); + uri.SetPath("path"); + std::string bundleName = "media_bundle_name_alias"; + EXPECT_TRUE(OHOS::FileAccessFwk::GetBundleNameFromUri(uri, bundleName)); +} + +/** + * @tc.number: user_file_service_file_access_service_10 + * @tc.name: user_file_service_file_access_service_10 + * @tc.desc: Test function of user_file_service for service_file_access_service. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 0 + * @tc.require: issuesI8Y05B + */ +HWTEST_F(GetBundleNameFromUriTest, user_file_service_file_access_service_10, TestSize.level0) +{ + OHOS::FileAccessFwk::Uri uri; + uri.SetScheme("not_right_scheme"); + uri.SetAuthority("authority"); + uri.SetPath("path"); + std::string bundleName = "media_bundle_name_alias"; + EXPECT_FALSE(OHOS::FileAccessFwk::GetBundleNameFromUri(uri, bundleName)); +} + +/** + * @tc.number: user_file_service_file_access_service_11 + * @tc.name: user_file_service_file_access_service_11 + * @tc.desc: Test function of user_file_service for service_file_access_service. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 0 + * @tc.require: issuesI8Y05B + */ +HWTEST_F(GetBundleNameFromUriTest, user_file_service_file_access_service_11, TestSize.level0) +{ + OHOS::FileAccessFwk::Uri uri; + uri.SetScheme(FILE_SCHEME_NAME); + uri.SetAuthority("authority"); + uri.SetPath(""); + std::string bundleName = "media_bundle_name_alias"; + EXPECT_FALSE(OHOS::FileAccessFwk::GetBundleNameFromUri(uri, bundleName)); +} + +/** + * @tc.number: user_file_service_file_access_service_12 + * @tc.name: user_file_service_file_access_service_12 + * @tc.desc: Test function of user_file_service for service_file_access_service. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 0 + * @tc.require: issuesI8Y05B + */ +HWTEST_F(GetBundleNameFromUriTest, user_file_service_file_access_service_12, TestSize.level0) +{ + OHOS::FileAccessFwk::Uri uri; + uri.SetScheme(FILE_SCHEME_NAME); + uri.SetAuthority("authority"); + uri.SetPath("path_not_start_with_slash"); + std::string bundleName = "media_bundle_name_alias"; + EXPECT_FALSE(OHOS::FileAccessFwk::GetBundleNameFromUri(uri, bundleName)); +} + +/** + * @tc.number: user_file_service_file_access_service_13 + * @tc.name: user_file_service_file_access_service_13 + * @tc.desc: Test function of user_file_service for service_file_access_service. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 0 + * @tc.require: issuesI8Y05B + */ +HWTEST_F(GetBundleNameFromUriTest, user_file_service_file_access_service_13, TestSize.level0) +{ + OHOS::FileAccessFwk::Uri uri; + uri.SetScheme(FILE_SCHEME_NAME); + uri.SetAuthority("authority"); + uri.SetPath("path_not_start_with_slash"); + std::string bundleName = "media_bundle_name_alias"; + EXPECT_TRUE(OHOS::FileAccessFwk::GetBundleNameFromUri(uri, bundleName)); +} + +/** + * @tc.number: user_file_service_file_access_service_14 + * @tc.name: user_file_service_file_access_service_14 + * @tc.desc: Test function of user_file_service for service_file_access_service. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 0 + * @tc.require: issuesI8Y05B + */ +HWTEST_F(GetBundleNameFromUriTest, user_file_service_file_access_service_14, TestSize.level0) +{ + OHOS::FileAccessFwk::Uri uri; + uri.SetScheme(FILE_SCHEME_NAME); + uri.SetAuthority("authority"); + uri.SetPath("path_not_start_with_slash"); + std::string bundleName = "media_bundle_name_alias"; + EXPECT_TRUE(OHOS::FileAccessFwk::GetBundleNameFromUri(uri, bundleName)); +} + +/** + * @tc.number: user_file_service_file_access_service_15 + * @tc.name: user_file_service_file_access_service_15 + * @tc.desc: Test function of user_file_service for service_file_access_service. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 0 + * @tc.require: issuesI8Y05B + */ +HWTEST_F(GetBundleNameFromUriTest, user_file_service_file_access_service_15, TestSize.level0) +{ + OHOS::FileAccessFwk::Uri uri; + uri.SetScheme(FILE_SCHEME_NAME); + uri.SetAuthority("authority"); + uri.SetPath("/media_bundle_name_alias/path"); + std::string bundleName = "media_bundle_name_alias"; + EXPECT_TRUE(OHOS::FileAccessFwk::GetBundleNameFromUri(uri, bundleName)); +} + +/** + * @tc.number: user_file_service_file_access_service_16 + * @tc.name: user_file_service_file_access_service_16 + * @tc.desc: Test function of user_file_service for service_file_access_service. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 0 + * @tc.require: issuesI8Y05B + */ +HWTEST_F(GetBundleNameFromUriTest, user_file_service_file_access_service_16, TestSize.level0) +{ + OHOS::FileAccessFwk::Uri uri; + uri.SetScheme(FILE_SCHEME_NAME); + uri.SetAuthority("authority"); + uri.SetPath("/external_bundle_name_alias/path"); + std::string bundleName = "media_bundle_name_alias"; + EXPECT_TRUE(OHOS::FileAccessFwk::GetBundleNameFromUri(uri, bundleName)); +} + +/** + * @tc.number: user_file_service_file_access_service_17 + * @tc.name: user_file_service_file_access_service_17 + * @tc.desc: Test function of user_file_service for service_file_access_service. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 0 + * @tc.require: issuesI8Y05B + */ +HWTEST_F(GetBundleNameFromUriTest, user_file_service_file_access_service_17, TestSize.level0) +{ + OHOS::FileAccessFwk::Uri uri; + uri.SetScheme(FILE_SCHEME_NAME); + uri.SetAuthority("authority"); + uri.SetPath("/bundle_name_error/path"); + std::string bundleName = "media_bundle_name_alias"; + EXPECT_TRUE(OHOS::FileAccessFwk::GetBundleNameFromUri(uri, bundleName)); +} + +/** + * @tc.number: user_file_service_file_access_service_18 + * @tc.name: user_file_service_file_access_service_18 + * @tc.desc: Test function of user_file_service for service_file_access_service. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 0 + * @tc.require: issuesI8Y05B + */ +HWTEST_F(GetBundleNameFromUriTest, user_file_service_file_access_service_18, TestSize.level0) +{ + OHOS::FileAccessFwk::Uri uri; + uri.SetScheme(FILE_SCHEME_NAME); + uri.SetAuthority("authority"); + uri.SetPath("path"); + std::string bundleName = "external_bundle_name_alias"; + EXPECT_TRUE(OHOS::FileAccessFwk::GetBundleNameFromUri(uri, bundleName)); +} + +/** + * @tc.number: user_file_service_file_access_service_19 + * @tc.name: user_file_service_file_access_service_19 + * @tc.desc: Test function of user_file_service for service_file_access_service. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 0 + * @tc.require: issuesI8Y05B + */ +HWTEST_F(GetBundleNameFromUriTest, user_file_service_file_access_service_19, TestSize.level0) +{ + OHOS::FileAccessFwk::Uri uri; + uri.SetScheme("not_right_scheme"); + uri.SetAuthority("authority"); + uri.SetPath("path"); + std::string bundleName = "external_bundle_name_alias"; + EXPECT_FALSE(OHOS::FileAccessFwk::GetBundleNameFromUri(uri, bundleName)); +} + +/** + * @tc.number: user_file_service_file_access_service_20 + * @tc.name: user_file_service_file_access_service_20 + * @tc.desc: Test function of user_file_service for service_file_access_service. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 0 + * @tc.require: issuesI8Y05B + */ +HWTEST_F(GetBundleNameFromUriTest, user_file_service_file_access_service_20, TestSize.level0) +{ + OHOS::FileAccessFwk::Uri uri; + uri.SetScheme(FILE_SCHEME_NAME); + uri.SetAuthority("authority"); + uri.SetPath(""); + std::string bundleName = "external_bundle_name_alias"; + EXPECT_FALSE(OHOS::FileAccessFwk::GetBundleNameFromUri(uri, bundleName)); +} + +/** + * @tc.number: user_file_service_file_access_service_21 + * @tc.name: user_file_service_file_access_service_21 + * @tc.desc: Test function of user_file_service for service_file_access_service. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 0 + * @tc.require: issuesI8Y05B + */ +HWTEST_F(GetBundleNameFromUriTest, user_file_service_file_access_service_21, TestSize.level0) +{ + OHOS::FileAccessFwk::Uri uri; + uri.SetScheme(FILE_SCHEME_NAME); + uri.SetAuthority("authority"); + uri.SetPath("path_not_start_with_slash"); + std::string bundleName = "external_bundle_name_alias"; + EXPECT_FALSE(OHOS::FileAccessFwk::GetBundleNameFromUri(uri, bundleName)); +} + +/** + * @tc.number: user_file_service_file_access_service_22 + * @tc.name: user_file_service_file_access_service_22 + * @tc.desc: Test function of user_file_service for service_file_access_service. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 0 + * @tc.require: issuesI8Y05B + */ +HWTEST_F(GetBundleNameFromUriTest, user_file_service_file_access_service_22, TestSize.level0) +{ + OHOS::FileAccessFwk::Uri uri; + uri.SetScheme(FILE_SCHEME_NAME); + uri.SetAuthority("authority"); + uri.SetPath("path_not_start_with_slash"); + std::string bundleName = "external_bundle_name_alias"; + EXPECT_TRUE(OHOS::FileAccessFwk::GetBundleNameFromUri(uri, bundleName)); +} + +/** + * @tc.number: user_file_service_file_access_service_23 + * @tc.name: user_file_service_file_access_service_23 + * @tc.desc: Test function of user_file_service for service_file_access_service. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 0 + * @tc.require: issuesI8Y05B + */ +HWTEST_F(GetBundleNameFromUriTest, user_file_service_file_access_service_23, TestSize.level0) +{ + OHOS::FileAccessFwk::Uri uri; + uri.SetScheme(FILE_SCHEME_NAME); + uri.SetAuthority("authority"); + uri.SetPath("path_not_start_with_slash"); + std::string bundleName = "external_bundle_name_alias"; + EXPECT_TRUE(OHOS::FileAccessFwk::GetBundleNameFromUri(uri, bundleName)); +} + +/** + * @tc.number: user_file_service_file_access_service_24 + * @tc.name: user_file_service_file_access_service_24 + * @tc.desc: Test function of user_file_service for service_file_access_service. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 0 + * @tc.require: issuesI8Y05B + */ +HWTEST_F(GetBundleNameFromUriTest, user_file_service_file_access_service_24, TestSize.level0) +{ + OHOS::FileAccessFwk::Uri uri; + uri.SetScheme(FILE_SCHEME_NAME); + uri.SetAuthority("authority"); + uri.SetPath("/media_bundle_name_alias/path"); + std::string bundleName = "external_bundle_name_alias"; + EXPECT_TRUE(OHOS::FileAccessFwk::GetBundleNameFromUri(uri, bundleName)); +} + +/** + * @tc.number: user_file_service_file_access_service_25 + * @tc.name: user_file_service_file_access_service_25 + * @tc.desc: Test function of user_file_service for service_file_access_service. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 0 + * @tc.require: issuesI8Y05B + */ +HWTEST_F(GetBundleNameFromUriTest, user_file_service_file_access_service_25, TestSize.level0) +{ + OHOS::FileAccessFwk::Uri uri; + uri.SetScheme(FILE_SCHEME_NAME); + uri.SetAuthority("authority"); + uri.SetPath("/external_bundle_name_alias/path"); + std::string bundleName = "external_bundle_name_alias"; + EXPECT_TRUE(OHOS::FileAccessFwk::GetBundleNameFromUri(uri, bundleName)); +} + +/** + * @tc.number: user_file_service_file_access_service_26 + * @tc.name: user_file_service_file_access_service_26 + * @tc.desc: Test function of user_file_service for service_file_access_service. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 0 + * @tc.require: issuesI8Y05B + */ +HWTEST_F(GetBundleNameFromUriTest, user_file_service_file_access_service_26, TestSize.level0) +{ + OHOS::FileAccessFwk::Uri uri; + uri.SetScheme(FILE_SCHEME_NAME); + uri.SetAuthority("authority"); + uri.SetPath("/bundle_name_error/path"); + std::string bundleName = "external_bundle_name_alias"; + EXPECT_TRUE(OHOS::FileAccessFwk::GetBundleNameFromUri(uri, bundleName)); +} +} \ No newline at end of file