• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2025 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 
16 #include "file_entity.h"
17 #include "fs_file.h"
18 
19 #include <gtest/gtest.h>
20 
21 namespace OHOS::FileManagement::ModuleFileIO::Test {
22 using namespace testing;
23 using namespace testing::ext;
24 using namespace std;
25 
26 class FsFileTest : public testing::Test {
27 public:
28     static void SetUpTestCase(void);
29     static void TearDownTestCase(void);
30     void SetUp();
31     void TearDown();
32     unique_ptr<FileEntity> fileEntity;
33     unique_ptr<FsFile> fsFile;
34 };
35 
SetUpTestCase(void)36 void FsFileTest::SetUpTestCase(void)
37 {
38     GTEST_LOG_(INFO) << "SetUpTestCase";
39 }
40 
TearDownTestCase(void)41 void FsFileTest::TearDownTestCase(void)
42 {
43     GTEST_LOG_(INFO) << "TearDownTestCase";
44 }
45 
SetUp(void)46 void FsFileTest::SetUp(void)
47 {
48     GTEST_LOG_(INFO) << "SetUp";
49 
50     fileEntity = make_unique<FileEntity>();
51     const int fdValue = 3;
52     const bool isClosed = false;
53     fileEntity->fd_ = make_unique<DistributedFS::FDGuard>(fdValue, isClosed);
54     fileEntity->path_ = "/data/test/file_test.txt";
55     fileEntity->uri_ = "";
56     fsFile = make_unique<FsFile>(move(fileEntity));
57 }
58 
TearDown(void)59 void FsFileTest::TearDown(void)
60 {
61     GTEST_LOG_(INFO) << "TearDown";
62 }
63 
64 /**
65  * @tc.name: FsFileTest_Constructor_001
66  * @tc.desc: Test function of FsFile::Constructor() interface for SUCCESS.
67  * @tc.size: MEDIUM
68  * @tc.type: FUNC
69  * @tc.level Level 1
70  */
71 HWTEST_F(FsFileTest, FsFileTest_Constructor_001, testing::ext::TestSize.Level1)
72 {
73     GTEST_LOG_(INFO) << "FsFileTest-begin FsFileTest_Constructor_001";
74 
75     auto result = FsFile::Constructor();
76     EXPECT_EQ(result.IsSuccess(), true);
77 
78     GTEST_LOG_(INFO) << "FsFileTest-end FsFileTest_Constructor_001";
79 }
80 
81 /**
82  * @tc.name: FsFileTest_GetFD_002
83  * @tc.desc: Test function of GetFD() interface for SUCCESS.
84  * @tc.size: MEDIUM
85  * @tc.type: FUNC
86  * @tc.level Level 1
87  */
88 HWTEST_F(FsFileTest, FsFileTest_GetFD_002, testing::ext::TestSize.Level1)
89 {
90     GTEST_LOG_(INFO) << "FsFileTest-begin FsFileTest_GetFD_002";
91 
92     auto result = fsFile->GetFD();
93     EXPECT_EQ(result.IsSuccess(), true);
94 
95     GTEST_LOG_(INFO) << "FsFileTest-end FsFileTest_GetFD_002";
96 }
97 
98 /**
99  * @tc.name: FsFileTest_GetFD_003
100  * @tc.desc: Test function of GetFD() interface for ERROR.
101  * @tc.size: MEDIUM
102  * @tc.type: FUNC
103  * @tc.level Level 1
104  */
105 HWTEST_F(FsFileTest, FsFileTest_GetFD_003, testing::ext::TestSize.Level1)
106 {
107     GTEST_LOG_(INFO) << "FsFileTest-begin FsFileTest_GetFD_003";
108 
109     fsFile = make_unique<FsFile>(nullptr);
110     auto result = fsFile->GetFD();
111     EXPECT_EQ(result.IsSuccess(), false);
112 
113     GTEST_LOG_(INFO) << "FsFileTest-end FsFileTest_GetFD_003";
114 }
115 
116 /**
117  * @tc.name: FsFileTest_GetPath_004
118  * @tc.desc: Test function of GetPath() interface for ERROR.
119  * @tc.size: MEDIUM
120  * @tc.type: FUNC
121  * @tc.level Level 1
122  */
123 HWTEST_F(FsFileTest, FsFileTest_GetPath_004, testing::ext::TestSize.Level1)
124 {
125     GTEST_LOG_(INFO) << "FsFileTest-begin FsFileTest_GetPath_004";
126 
127     fsFile = make_unique<FsFile>(nullptr);
128     auto result = fsFile->GetPath();
129     EXPECT_EQ(result.IsSuccess(), false);
130 
131     GTEST_LOG_(INFO) << "FsFileTest-end FsFileTest_GetPath_004";
132 }
133 
134 /**
135  * @tc.name: FsFileTest_GetName_005
136  * @tc.desc: Test function of GetName() interface for ERROR.
137  * @tc.size: MEDIUM
138  * @tc.type: FUNC
139  * @tc.level Level 1
140  */
141 HWTEST_F(FsFileTest, FsFileTest_GetName_005, testing::ext::TestSize.Level1)
142 {
143     GTEST_LOG_(INFO) << "FsFileTest-begin FsFileTest_GetName_005";
144 
145     fsFile = make_unique<FsFile>(nullptr);
146     auto result = fsFile->GetName();
147     EXPECT_EQ(result.IsSuccess(), false);
148 
149     GTEST_LOG_(INFO) << "FsFileTest-end FsFileTest_GetName_005";
150 }
151 
152 /**
153  * @tc.name: FsFileTest_GetParent_006
154  * @tc.desc: Test function of GetParent() interface for ERROR.
155  * @tc.size: MEDIUM
156  * @tc.type: FUNC
157  * @tc.level Level 1
158  */
159 HWTEST_F(FsFileTest, FsFileTest_GetParent_006, testing::ext::TestSize.Level1)
160 {
161     GTEST_LOG_(INFO) << "FsFileTest-begin FsFileTest_GetParent_006";
162 
163     fsFile = make_unique<FsFile>(nullptr);
164     auto result = fsFile->GetParent();
165     EXPECT_EQ(result.IsSuccess(), false);
166 
167     GTEST_LOG_(INFO) << "FsFileTest-end FsFileTest_GetParent_006";
168 }
169 
170 /**
171  * @tc.name: FsFileTest_Lock_007
172  * @tc.desc: Test function of Lock() interface for ERROR.
173  * @tc.size: MEDIUM
174  * @tc.type: FUNC
175  * @tc.level Level 1
176  */
177 HWTEST_F(FsFileTest, FsFileTest_Lock_007, testing::ext::TestSize.Level1)
178 {
179     GTEST_LOG_(INFO) << "FsFileTest-begin FsFileTest_Lock_007";
180 
181     fsFile = make_unique<FsFile>(nullptr);
182     auto result = fsFile->Lock(true);
183     EXPECT_EQ(result.IsSuccess(), false);
184 
185     GTEST_LOG_(INFO) << "FsFileTest-end FsFileTest_Lock_007";
186 }
187 
188 /**
189  * @tc.name: FsFileTest_TryLock_008
190  * @tc.desc: Test function of TryLock() interface for ERROR.
191  * @tc.size: MEDIUM
192  * @tc.type: FUNC
193  * @tc.level Level 1
194  */
195 HWTEST_F(FsFileTest, FsFileTest_TryLock_008, testing::ext::TestSize.Level1)
196 {
197     GTEST_LOG_(INFO) << "FsFileTest-begin FsFileTest_TryLock_008";
198 
199     fsFile = make_unique<FsFile>(nullptr);
200     auto result = fsFile->TryLock(true);
201     EXPECT_EQ(result.IsSuccess(), false);
202 
203     GTEST_LOG_(INFO) << "FsFileTest-end FsFileTest_TryLock_008";
204 }
205 
206 /**
207  * @tc.name: FsFileTest_UnLock_009
208  * @tc.desc: Test function of UnLock() interface for ERROR.
209  * @tc.size: MEDIUM
210  * @tc.type: FUNC
211  * @tc.level Level 1
212  */
213 HWTEST_F(FsFileTest, FsFileTest_UnLock_009, testing::ext::TestSize.Level1)
214 {
215     GTEST_LOG_(INFO) << "FsFileTest-begin FsFileTest_UnLock_009";
216 
217     fsFile = make_unique<FsFile>(nullptr);
218     auto result = fsFile->UnLock();
219     EXPECT_EQ(result.IsSuccess(), false);
220 
221     GTEST_LOG_(INFO) << "FsFileTest-end FsFileTest_UnLock_009";
222 }
223 
224 /**
225  * @tc.name: FsFileTest_GetName_010
226  * @tc.desc: Test function of GetName() interface for SUCCESS.
227  * @tc.size: MEDIUM
228  * @tc.type: FUNC
229  * @tc.level Level 1
230  */
231 HWTEST_F(FsFileTest, FsFileTest_GetName_010, testing::ext::TestSize.Level1)
232 {
233     GTEST_LOG_(INFO) << "FsFileTest-begin FsFileTest_GetName_010";
234 
235     fsFile->fileEntity->uri_ = "file://storage/file_test.txt";
236     auto result = fsFile->GetName();
237     EXPECT_EQ(result.IsSuccess(), true);
238 
239     GTEST_LOG_(INFO) << "FsFileTest-end FsFileTest_GetName_010";
240 }
241 
242 /**
243  * @tc.name: FsFileTest_GetParent_011
244  * @tc.desc: Test function of GetParent() interface for SUCCESS.
245  * @tc.size: MEDIUM
246  * @tc.type: FUNC
247  * @tc.level Level 1
248  */
249 HWTEST_F(FsFileTest, FsFileTest_GetParent_011, testing::ext::TestSize.Level1)
250 {
251     GTEST_LOG_(INFO) << "FsFileTest-begin FsFileTest_GetParent_011";
252 
253     fsFile->fileEntity->uri_ = "file://storage/file_test.txt";
254     auto result = fsFile->GetParent();
255     EXPECT_EQ(result.IsSuccess(), true);
256 
257     GTEST_LOG_(INFO) << "FsFileTest-end FsFileTest_GetParent_011";
258 }
259 
260 /**
261  * @tc.name: FsFileTest_GetPath_012
262  * @tc.desc: Test function of GetPath() interface for SUCCESS.
263  * @tc.size: MEDIUM
264  * @tc.type: FUNC
265  * @tc.level Level 1
266  */
267 HWTEST_F(FsFileTest, FsFileTest_GetPath_012, testing::ext::TestSize.Level1)
268 {
269     GTEST_LOG_(INFO) << "FsFileTest-begin FsFileTest_GetPath_012";
270 
271     fsFile->fileEntity->uri_ = "file://storage/file_test.txt";
272     auto result = fsFile->GetPath();
273     EXPECT_EQ(result.IsSuccess(), true);
274 
275     GTEST_LOG_(INFO) << "FsFileTest-end FsFileTest_GetPath_012";
276 }
277 
278 }