1 /*
2  * Copyright (c) 2023 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 <gtest/gtest.h>
17 #define private public
18 #define protected public
19 #include "metadata/metadata_builder.h"
20 #include "metadata/metadata_dumper.h"
21 #include "metadata/metadata_reader.h"
22 #include "metadata/metadata_serializer.h"
23 #undef private
24 #undef protected
25 
26 using namespace testing;
27 using namespace testing::ext;
28 using namespace OHOS::Idl;
29 
30 namespace OHOS {
31 namespace idl {
32 class MetadataDumperUnitTest : public testing::Test {
33 public:
MetadataDumperUnitTest()34     MetadataDumperUnitTest() {}
35 
~MetadataDumperUnitTest()36     virtual ~MetadataDumperUnitTest() {}
37 
38     static void SetUpTestCase();
39 
40     static void TearDownTestCase();
41 
42     void SetUp();
43 
44     void TearDown();
45 };
46 
SetUpTestCase()47 void MetadataDumperUnitTest::SetUpTestCase() {}
48 
TearDownTestCase()49 void MetadataDumperUnitTest::TearDownTestCase() {}
50 
SetUp()51 void MetadataDumperUnitTest::SetUp() {}
52 
TearDown()53 void MetadataDumperUnitTest::TearDown() {}
54 
55 /*
56  * @tc.name: MetadataDumperUnitTest_0100
57  * @tc.desc: test Dump in MetadataDumperUnitTest.
58  * @tc.type: FUNC
59  * @tc.require: issue
60  */
61 HWTEST_F(MetadataDumperUnitTest, MetadataDumperUnitTest_0100, Function | MediumTest | Level1)
62 {
63     std::shared_ptr<MetadataDumper> metadataDumper = std::make_shared<MetadataDumper>(nullptr);
64     ASSERT_NE(nullptr, metadataDumper);
65 
66     String prefix = "this is prefix";
67     metadataDumper->Dump(prefix);
68 }
69 
70 /*
71  * @tc.name: MetadataDumperUnitTest_0800
72  * @tc.desc: test DumpMetaParameter in MetadataDumperUnitTest.
73  * @tc.type: FUNC
74  * @tc.require: issue
75  */
76 HWTEST_F(MetadataDumperUnitTest, MetadataDumperUnitTest_0800, Function | MediumTest | Level1)
77 {
78     std::shared_ptr<MetadataDumper> metadataDumper = std::make_shared<MetadataDumper>(nullptr);
79     ASSERT_NE(nullptr, metadataDumper);
80 
81     MetaType mt = {TypeKind::Char, 0, 1, new (std::nothrow) int(0)};
82     metadataDumper->DumpMetaType(&mt);
83 }
84 
85 /*
86  * @tc.name: MetadataDumperUnitTest_0900
87  * @tc.desc: test DumpMetaParameter in MetadataDumperUnitTest.
88  * @tc.type: FUNC
89  * @tc.require: issue
90  */
91 HWTEST_F(MetadataDumperUnitTest, MetadataDumperUnitTest_0900, Function | MediumTest | Level1)
92 {
93     std::shared_ptr<MetadataDumper> metadataDumper = std::make_shared<MetadataDumper>(nullptr);
94     ASSERT_NE(nullptr, metadataDumper);
95 
96     MetaType mt = {TypeKind::Boolean, 0, 1, new (std::nothrow) int(0)};
97     metadataDumper->DumpMetaType(&mt);
98 }
99 
100 /*
101  * @tc.name: MetadataDumperUnitTest_1000
102  * @tc.desc: test DumpMetaParameter in MetadataDumperUnitTest.
103  * @tc.type: FUNC
104  * @tc.require: issue
105  */
106 HWTEST_F(MetadataDumperUnitTest, MetadataDumperUnitTest_1000, Function | MediumTest | Level1)
107 {
108     std::shared_ptr<MetadataDumper> metadataDumper = std::make_shared<MetadataDumper>(nullptr);
109     ASSERT_NE(nullptr, metadataDumper);
110 
111     MetaType mt = {TypeKind::Byte, 0, 1, new (std::nothrow) int(0)};
112     metadataDumper->DumpMetaType(&mt);
113 }
114 
115 /*
116  * @tc.name: MetadataDumperUnitTest_1100
117  * @tc.desc: test DumpMetaParameter in MetadataDumperUnitTest.
118  * @tc.type: FUNC
119  * @tc.require: issue
120  */
121 HWTEST_F(MetadataDumperUnitTest, MetadataDumperUnitTest_1100, Function | MediumTest | Level1)
122 {
123     std::shared_ptr<MetadataDumper> metadataDumper = std::make_shared<MetadataDumper>(nullptr);
124     ASSERT_NE(nullptr, metadataDumper);
125 
126     MetaType mt = {TypeKind::Short, 0, 1, new (std::nothrow) int(0)};
127     metadataDumper->DumpMetaType(&mt);
128 }
129 
130 /*
131  * @tc.name: MetadataDumperUnitTest_1200
132  * @tc.desc: test DumpMetaParameter in MetadataDumperUnitTest.
133  * @tc.type: FUNC
134  * @tc.require: issue
135  */
136 HWTEST_F(MetadataDumperUnitTest, MetadataDumperUnitTest_1200, Function | MediumTest | Level1)
137 {
138     std::shared_ptr<MetadataDumper> metadataDumper = std::make_shared<MetadataDumper>(nullptr);
139     ASSERT_NE(nullptr, metadataDumper);
140 
141     MetaType mt = {TypeKind::Integer, 0, 1, new (std::nothrow) int(0)};
142     metadataDumper->DumpMetaType(&mt);
143 }
144 
145 /*
146  * @tc.name: MetadataDumperUnitTest_1300
147  * @tc.desc: test DumpMetaParameter in MetadataDumperUnitTest.
148  * @tc.type: FUNC
149  * @tc.require: issue
150  */
151 HWTEST_F(MetadataDumperUnitTest, MetadataDumperUnitTest_1300, Function | MediumTest | Level1)
152 {
153     std::shared_ptr<MetadataDumper> metadataDumper = std::make_shared<MetadataDumper>(nullptr);
154     ASSERT_NE(nullptr, metadataDumper);
155 
156     MetaType mt = {TypeKind::Long, 0, 1, new (std::nothrow) int(0)};
157     metadataDumper->DumpMetaType(&mt);
158 }
159 
160 /*
161  * @tc.name: MetadataDumperUnitTest_1400
162  * @tc.desc: test DumpMetaParameter in MetadataDumperUnitTest.
163  * @tc.type: FUNC
164  * @tc.require: issue
165  */
166 HWTEST_F(MetadataDumperUnitTest, MetadataDumperUnitTest_1400, Function | MediumTest | Level1)
167 {
168     std::shared_ptr<MetadataDumper> metadataDumper = std::make_shared<MetadataDumper>(nullptr);
169     ASSERT_NE(nullptr, metadataDumper);
170 
171     MetaType mt = {TypeKind::Float, 0, 1, new (std::nothrow) int(0)};
172     metadataDumper->DumpMetaType(&mt);
173 }
174 
175 /*
176  * @tc.name: MetadataDumperUnitTest_1500
177  * @tc.desc: test DumpMetaParameter in MetadataDumperUnitTest.
178  * @tc.type: FUNC
179  * @tc.require: issue
180  */
181 HWTEST_F(MetadataDumperUnitTest, MetadataDumperUnitTest_1500, Function | MediumTest | Level1)
182 {
183     std::shared_ptr<MetadataDumper> metadataDumper = std::make_shared<MetadataDumper>(nullptr);
184     ASSERT_NE(nullptr, metadataDumper);
185 
186     MetaType mt = {TypeKind::Double, 0, 1, new (std::nothrow) int(0)};
187     metadataDumper->DumpMetaType(&mt);
188 }
189 
190 /*
191  * @tc.name: MetadataDumperUnitTest_1600
192  * @tc.desc: test DumpMetaParameter in MetadataDumperUnitTest.
193  * @tc.type: FUNC
194  * @tc.require: issue
195  */
196 HWTEST_F(MetadataDumperUnitTest, MetadataDumperUnitTest_1600, Function | MediumTest | Level1)
197 {
198     std::shared_ptr<MetadataDumper> metadataDumper = std::make_shared<MetadataDumper>(nullptr);
199     ASSERT_NE(nullptr, metadataDumper);
200 
201     MetaType mt = {TypeKind::String, 0, 1, new (std::nothrow) int(0)};
202     metadataDumper->DumpMetaType(&mt);
203 }
204 } // namespace idl
205 } // namespace OHOS
206