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