1 /*
2  * Copyright (C) 2024 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  * http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 #define MLOG_TAG "FileExtUnitTest"
16 
17 #include "ringtone_scanner_utils_test.h"
18 
19 #include "ringtone_db_const.h"
20 #include "ringtone_errno.h"
21 #include "ringtone_log.h"
22 #include "ringtone_mimetype_utils.h"
23 #include "ringtone_scanner_utils.h"
24 #include "ringtone_unittest_utils.h"
25 #include "ringtone_type.h"
26 
27 using namespace std;
28 using namespace OHOS;
29 using namespace testing::ext;
30 
31 namespace OHOS {
32 namespace Media {
SetUpTestCase()33 void RingtoneScannerUtilsTest::SetUpTestCase() {}
34 
TearDownTestCase()35 void RingtoneScannerUtilsTest::TearDownTestCase() {}
36 
37 // SetUp:Execute before each test case
SetUp()38 void RingtoneScannerUtilsTest::SetUp()
39 {
40     RingtoneUnitTestUtils::CleanTestFiles();
41     RingtoneUnitTestUtils::InitRootDirs();
42 }
43 
TearDown(void)44 void RingtoneScannerUtilsTest::TearDown(void)
45 {
46     RingtoneUnitTestUtils::CleanTestFiles();
47 }
48 
49 
50 HWTEST_F(RingtoneScannerUtilsTest, ringtonelib_IsExists_test_001, TestSize.Level0)
51 {
52     bool ret = RingtoneScannerUtils::IsExists(RINGTONE_DEFAULT_STR);
53     EXPECT_EQ(ret, false);
54     const string path = "ringtonelib_IsExists_test_001";
55     ret = RingtoneScannerUtils::IsExists(path);
56     EXPECT_EQ(ret, false);
57     const string pathSecond = "/data/local/tmp/";
58     ret = RingtoneScannerUtils::IsExists(pathSecond);
59     EXPECT_EQ(ret, true);
60 }
61 
62 
63 HWTEST_F(RingtoneScannerUtilsTest, ringtonelib_GetFileNameFromUri_test_001, TestSize.Level0)
64 {
65     string ret = RingtoneScannerUtils::GetFileNameFromUri(RINGTONE_DEFAULT_STR);
66     EXPECT_EQ(ret, "");
67     string path = "ringtonelib_GetFileNameFromUri_test_001/test";
68     ret = RingtoneScannerUtils::GetFileNameFromUri(path);
69     EXPECT_EQ(ret, "test");
70     path = "ringtonelib_GetFileNameFromUri_test_001";
71     ret = RingtoneScannerUtils::GetFileNameFromUri(path);
72     EXPECT_EQ(ret, "");
73 }
74 
75 HWTEST_F(RingtoneScannerUtilsTest, ringtonelib_GetFileExtension_test_001, TestSize.Level0)
76 {
77     string ret = RingtoneScannerUtils::GetFileExtension(RINGTONE_DEFAULT_STR);
78     EXPECT_EQ(ret, "");
79     string path = "ringtonelib_GetFileExtension_test_001.test";
80     ret = RingtoneScannerUtils::GetFileExtension(path);
81     EXPECT_EQ(ret, "test");
82     path = "ringtonelib_GetFileExtension_test_001";
83     ret = RingtoneScannerUtils::GetFileExtension(path);
84     EXPECT_EQ(ret, "");
85 }
86 
87 HWTEST_F(RingtoneScannerUtilsTest, ringtonelib_IsFileHidden_test_001, TestSize.Level0)
88 {
89     bool ret = RingtoneScannerUtils::IsFileHidden(RINGTONE_DEFAULT_STR);
90     EXPECT_EQ(ret, false);
91     const string path = "ringtonelib_IsFileHidden_test_001/.test";
92     ret = RingtoneScannerUtils::IsFileHidden(path);
93     EXPECT_EQ(ret, true);
94 }
95 
96 HWTEST_F(RingtoneScannerUtilsTest, ringtonelib_GetParentPath_test_001, TestSize.Level0)
97 {
98     string ret = RingtoneScannerUtils::GetParentPath(RINGTONE_DEFAULT_STR);
99     EXPECT_EQ(ret, "");
100     const string path = "ringtonelib_GetParentPath_test_001/test";
101     ret = RingtoneScannerUtils::GetParentPath(path);
102     EXPECT_EQ(ret, "ringtonelib_GetParentPath_test_001");
103 }
104 
105 HWTEST_F(RingtoneScannerUtilsTest, ringtonelib_GetFileTitle_test_001, TestSize.Level0)
106 {
107     const string path = "ringtonelib_GetFileTitle_test_001";
108     string ret = RingtoneScannerUtils::GetFileTitle(path);
109     EXPECT_EQ(ret, path);
110 }
111 
112 HWTEST_F(RingtoneScannerUtilsTest, ringtonelib_IsDirHidden_test_001, TestSize.Level0)
113 {
114     const string path = "ringtonelib_IsDirHidden_test_001/.test";
115     bool ret = RingtoneScannerUtils::IsDirHidden(path);
116     EXPECT_EQ(ret, true);
117     ret = RingtoneScannerUtils::IsDirHidden(RINGTONE_DEFAULT_STR);
118     EXPECT_EQ(ret, false);
119 }
120 
121 HWTEST_F(RingtoneScannerUtilsTest, ringtonelib_IsDirHiddenRecursive_test_001, TestSize.Level0)
122 {
123     const string path = "ringtonelib_IsDirHiddenRecursive_test_001/.test";
124     bool ret = RingtoneScannerUtils::IsDirHiddenRecursive(path);
125     EXPECT_EQ(ret, true);
126     ret = RingtoneScannerUtils::IsDirHiddenRecursive(RINGTONE_DEFAULT_STR);
127     EXPECT_EQ(ret, false);
128 }
129 
130 HWTEST_F(RingtoneScannerUtilsTest, ringtonelib_IsDirectory_test_001, TestSize.Level0)
131 {
132     bool ret = RingtoneScannerUtils::IsDirectory(RINGTONE_DEFAULT_STR);
133     EXPECT_EQ(ret, false);
134     const string path = "ringtonelib_IsDirectory_test_001";
135     ret = RingtoneScannerUtils::IsDirectory(path);
136     EXPECT_EQ(ret, false);
137     const string pathSecond = "/storage/media";
138     ret = RingtoneScannerUtils::IsDirectory(pathSecond);
139     EXPECT_EQ(ret, true);
140 }
141 
142 HWTEST_F(RingtoneScannerUtilsTest, ringtonelib_IsRegularFile_test_001, TestSize.Level0)
143 {
144     bool ret = RingtoneScannerUtils::IsRegularFile(RINGTONE_DEFAULT_STR);
145     EXPECT_EQ(ret, false);
146     string path = "ringtonelib_IsRegularFile_test_001";
147     ret = RingtoneScannerUtils::IsRegularFile(path);
148     EXPECT_EQ(ret, false);
149     const string pathSecond = "/storage/cloud/files/Ringtone/Scanner_ringtone.ogg";
150     EXPECT_EQ(RingtoneUnitTestUtils::CreateFileFS(pathSecond), true);
151     ret = RingtoneScannerUtils::IsRegularFile(pathSecond);
152     EXPECT_EQ(ret, true);
153 }
154 } // namespace Media
155 } // namespace OHOS
156