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 #include "freeze_json_generator_unittest.h"
16
17 #include <map>
18 #include <list>
19 #include <string>
20 #define private public
21 #include "freeze_json_generator.h"
22 #undef private
23 using namespace testing::ext;
24 using namespace OHOS::HiviewDFX;
25 namespace OHOS {
26 namespace HiviewDFX {
SetUp()27 void FreezeJsonGeneratorTest::SetUp()
28 {
29 printf("SetUp.\n");
30 }
31
TearDown()32 void FreezeJsonGeneratorTest::TearDown()
33 {
34 printf("TearDown.\n");
35 }
36
SetUpTestCase()37 void FreezeJsonGeneratorTest::SetUpTestCase()
38 {
39 }
40
TearDownTestCase()41 void FreezeJsonGeneratorTest::TearDownTestCase()
42 {
43 }
44
45 /**
46 * @tc.name: FreezeJsonGeneratorTest_001
47 * @tc.desc: add testcase coverage
48 * @tc.type: FUNC
49 */
50 HWTEST_F(FreezeJsonGeneratorTest, FreezeJsonGeneratorTest_001, TestSize.Level3)
51 {
52 FreezeJsonException exception = FreezeJsonException::Builder()
53 .InitName("001")
54 .InitMessage("FreezeJsonGeneratorTest_001")
55 .Build();
56 std::string result = exception.JsonStr();
57 EXPECT_TRUE(!result.empty());
58 }
59
60 /**
61 * @tc.name: FreezeJsonGeneratorTest_002
62 * @tc.desc: add testcase coverage
63 * @tc.type: FUNC
64 */
65 HWTEST_F(FreezeJsonGeneratorTest, FreezeJsonGeneratorTest_002, TestSize.Level3)
66 {
67 unsigned long long rss = 0; // test value
68 unsigned long long vss = 0; // test value
69 unsigned long long sysFreeMem = 0; // test value
70 unsigned long long sysAvailMem = 0; // test value
71 unsigned long long sysTotalMem = 0; // test value
72 FreezeJsonMemory freezeJsonMemory = FreezeJsonMemory::Builder()
73 .InitRss(rss)
74 .InitVss(vss)
75 .InitSysFreeMem(sysFreeMem)
76 .InitSysAvailMem(sysAvailMem)
77 .InitSysTotalMem(sysTotalMem)
78 .Build();
79 std::string result = freezeJsonMemory.JsonStr();
80 EXPECT_TRUE(!result.empty());
81 }
82
83 /**
84 * @tc.name: FreezeJsonGeneratorTest_003
85 * @tc.desc: add testcase coverage
86 * @tc.type: FUNC
87 */
88 HWTEST_F(FreezeJsonGeneratorTest, FreezeJsonGeneratorTest_003, TestSize.Level3)
89 {
90 unsigned long long timestamp = 0;
91 long pid = 0;
92 long uid = 0;
93 std::string appRunningUniqueId = "";
94 std::string uuid = "";
95 std::string domain = "";
96 std::string stringId = "";
97 bool foreground = false;
98 std::string version = "unknown";
99 std::string packageName = "";
100 std::string processName = "";
101 std::string message = "";
102 std::string exception = "{}";
103 std::string hilog = "[]";
104 std::string testValue = "[]";
105 std::string eventHandler = "[]";
106 std::string eventHandlerSize1 = "";
107 std::string eventHandlerSize2 = "";
108 std::string stack = "[]";
109 std::string memory = "{}";
110 std::string externalLog = "FreezeJsonGeneratorTest_003";
111 FreezeJsonParams freezeJsonParams = FreezeJsonParams::Builder()
112 .InitTime(timestamp)
113 .InitUuid(uuid)
114 .InitFreezeType("AppFreeze")
115 .InitForeground(foreground)
116 .InitBundleVersion(version)
117 .InitBundleName(packageName)
118 .InitProcessName(processName)
119 .InitExternalLog(externalLog)
120 .InitPid(pid)
121 .InitUid(uid)
122 .InitAppRunningUniqueId(appRunningUniqueId)
123 .InitException(exception)
124 .InitHilog(hilog)
125 .InitEventHandler(eventHandler)
126 .InitEventHandlerSize3s(eventHandlerSize1)
127 .InitEventHandlerSize6s(eventHandlerSize2)
128 .InitPeerBinder(testValue)
129 .InitThreads(stack)
130 .InitMemory(memory)
131 .Build();
132 std::string result = freezeJsonParams.JsonStr();
133 EXPECT_TRUE(!result.empty());
134 }
135 } // namespace HiviewDFX
136 } // namespace OHOS
137