• 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 "write_core.h"
17 
18 #include <gtest/gtest.h>
19 
20 namespace OHOS::FileManagement::ModuleFileIO::Test {
21 using namespace testing;
22 using namespace testing::ext;
23 using namespace std;
24 
25 class WriteCoreTest : public testing::Test {
26 public:
27     static void SetUpTestCase(void);
28     static void TearDownTestCase(void);
29     void SetUp();
30     void TearDown();
31 };
32 
SetUpTestCase(void)33 void WriteCoreTest::SetUpTestCase(void)
34 {
35     GTEST_LOG_(INFO) << "SetUpTestCase";
36 }
37 
TearDownTestCase(void)38 void WriteCoreTest::TearDownTestCase(void)
39 {
40     GTEST_LOG_(INFO) << "TearDownTestCase";
41 }
42 
SetUp(void)43 void WriteCoreTest::SetUp(void)
44 {
45     GTEST_LOG_(INFO) << "SetUp";
46 }
47 
TearDown(void)48 void WriteCoreTest::TearDown(void)
49 {
50     GTEST_LOG_(INFO) << "TearDown";
51 }
52 
53 /**
54  * @tc.name: WriteCoreTest_DoWrite1_001
55  * @tc.desc: Test function of WriteCore::DoWrite1 interface for FALSE.
56  * @tc.size: MEDIUM
57  * @tc.type: FUNC
58  * @tc.level Level 1
59  */
60 HWTEST_F(WriteCoreTest, WriteCoreTest_DoWrite1_001, testing::ext::TestSize.Level1)
61 {
62     GTEST_LOG_(INFO) << "WriteCoreTest-begin WriteCoreTest_DoWrite1_001";
63     int32_t fd = -1;
64     string buffer;
65     auto res = WriteCore::DoWrite(fd, buffer);
66 
67     EXPECT_EQ(res.IsSuccess(), false);
68     GTEST_LOG_(INFO) << "WriteCoreTest-end WriteCoreTest_DoWrite1_001";
69 }
70 
71 /**
72  * @tc.name: WriteCoreTest_DoWrite2_001
73  * @tc.desc: Test function of WriteCore::DoWrite2 interface for FALSE.
74  * @tc.size: MEDIUM
75  * @tc.type: FUNC
76  * @tc.level Level 1
77  */
78 HWTEST_F(WriteCoreTest, WriteCoreTest_DoWrite2_001, testing::ext::TestSize.Level1)
79 {
80     GTEST_LOG_(INFO) << "WriteCoreTest-begin WriteCoreTest_DoWrite2_001";
81     int32_t fd = -1;
82     string buffer;
83 
84     auto res = WriteCore::DoWrite(fd, buffer);
85     EXPECT_EQ(res.IsSuccess(), false);
86     GTEST_LOG_(INFO) << "WriteCoreTest-end WriteCoreTest_DoWrite2_001";
87 }
88 
89 #if defined(_WIN64) || defined(__X86_64__) || defined(__ppc64__) || defined(__LP64__)
90 /**
91  * @tc.name: WriteCoreTest_DoWrite1_002
92  * @tc.desc: Test function of WriteCore::DoWrite1 interface for FALSE.
93  * @tc.size: MEDIUM
94  * @tc.type: FUNC
95  * @tc.level Level 1
96  */
97 HWTEST_F(WriteCoreTest, WriteCoreTest_DoWrite1_002, testing::ext::TestSize.Level1)
98 {
99     GTEST_LOG_(INFO) << "WriteCoreTest-begin WriteCoreTest_DoWrite1_002";
100     int32_t fd = -1;
101     ArrayBuffer buffer(nullptr, 0);
102 
103     auto res = WriteCore::DoWrite(fd, buffer);
104     EXPECT_EQ(res.IsSuccess(), false);
105     GTEST_LOG_(INFO) << "WriteCoreTest-end WriteCoreTest_DoWrite1_002";
106 }
107 #else
108 #endif
109 
110 /**
111  * @tc.name: WriteCoreTest_DoWrite1_003
112  * @tc.desc: Test function of WriteCore::DoWrite1 interface for FALSE.
113  * @tc.size: MEDIUM
114  * @tc.type: FUNC
115  * @tc.level Level 1
116  */
117 HWTEST_F(WriteCoreTest, WriteCoreTest_DoWrite1_003, testing::ext::TestSize.Level1)
118 {
119     GTEST_LOG_(INFO) << "WriteCoreTest-begin WriteCoreTest_DoWrite1_003";
120     int32_t fd = 1;
121     ArrayBuffer buffer(nullptr, 1);
122     std::optional<WriteOptions> options = std::make_optional<WriteOptions>(WriteOptions());
123     options->offset = std::make_optional<int64_t>(-1);
124 
125     auto res = WriteCore::DoWrite(fd, buffer, options);
126     EXPECT_EQ(res.IsSuccess(), false);
127     GTEST_LOG_(INFO) << "WriteCoreTest-end WriteCoreTest_DoWrite1_003";
128 }
129 
130 /**
131  * @tc.name: WriteCoreTest_DoWrite1_004
132  * @tc.desc: Test function of WriteCore::DoWrite1 interface for FALSE.
133  * @tc.size: MEDIUM
134  * @tc.type: FUNC
135  * @tc.level Level 1
136  */
137 HWTEST_F(WriteCoreTest, WriteCoreTest_DoWrite1_004, testing::ext::TestSize.Level1)
138 {
139     GTEST_LOG_(INFO) << "WriteCoreTest-begin WriteCoreTest_DoWrite1_004";
140     int32_t fd = 1;
141     ArrayBuffer buffer(nullptr, 1);
142 
143     auto res = WriteCore::DoWrite(fd, buffer);
144     EXPECT_EQ(res.IsSuccess(), false);
145     GTEST_LOG_(INFO) << "WriteCoreTest-end WriteCoreTest_DoWrite1_004";
146 }
147 
148 } // namespace OHOS::FileManagement::ModuleFileIO::Test