1/*
2 * Copyright (c) 2022 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#define private public
17#define protected public
18#undef private
19#undef protected
20
21#include <gtest/gtest.h>
22#include "socperf_client.h"
23#include "socperf.h"
24#include "iservice_registry.h"
25#include "system_ability_definition.h"
26
27using namespace testing::ext;
28
29namespace OHOS {
30namespace SOCPERF {
31class SocPerfSubTest : public testing::Test {
32public:
33    static void SetUpTestCase(void);
34    static void TearDownTestCase(void);
35    void SetUp();
36    void TearDown();
37};
38
39void SocPerfSubTest::SetUpTestCase(void)
40{
41}
42
43void SocPerfSubTest::TearDownTestCase(void)
44{
45}
46
47void SocPerfSubTest::SetUp(void)
48{
49}
50
51void SocPerfSubTest::TearDown(void)
52{
53}
54
55/*
56 * @tc.name: SocPerfSubTest_PerfRequest_001
57 * @tc.desc: PerfRequest
58 * @tc.type FUNC
59 * @tc.require: issueI78T3V
60 */
61HWTEST_F(SocPerfSubTest, SocPerfSubTest_PerfRequest_001, Function | MediumTest | Level0)
62{
63    std::string msg = "";
64    OHOS::SOCPERF::SocPerfClient::GetInstance().PerfRequest(10000, msg);
65    EXPECT_EQ(msg, "");
66    msg.assign("123");
67    OHOS::SOCPERF::SocPerfClient::GetInstance().PerfRequest(10000, msg);
68    EXPECT_EQ(msg, "123");
69}
70
71/*
72 * @tc.name: SocPerfSubTest_PerfRequest_002
73 * @tc.desc: PerfRequestEx ON
74 * @tc.type FUNC
75 * @tc.require: issueI78T3V
76 */
77HWTEST_F(SocPerfSubTest, SocPerfSubTest_PerfRequest_002, Function | MediumTest | Level0)
78{
79    std::string msg = "";
80    OHOS::SOCPERF::SocPerfClient::GetInstance().PerfRequestEx(10000, true, msg);
81    EXPECT_EQ(msg, "");
82    msg.assign("123");
83    OHOS::SOCPERF::SocPerfClient::GetInstance().PerfRequestEx(10000, true, msg);
84    EXPECT_EQ(msg, "123");
85}
86
87/*
88 * @tc.name: SocPerfSubTest_PerfRequest_003
89 * @tc.desc: PerfRequestEx OFF
90 * @tc.type FUNC
91 * @tc.require: issueI78T3V
92 */
93HWTEST_F(SocPerfSubTest, SocPerfSubTest_PerfRequest_003, Function | MediumTest | Level0)
94{
95    std::string msg = "";
96    OHOS::SOCPERF::SocPerfClient::GetInstance().PerfRequestEx(10000, false, msg);
97    EXPECT_EQ(msg, "");
98    msg.assign("123");
99    OHOS::SOCPERF::SocPerfClient::GetInstance().PerfRequestEx(10000, false, msg);
100    EXPECT_EQ(msg, "123");
101}
102
103/*
104 * @tc.name: SocPerfSubTest_PowerLimitBoost_001
105 * @tc.desc: PowerLimitBoost ON
106 * @tc.type FUNC
107 * @tc.require: issueI78T3V
108 */
109HWTEST_F(SocPerfSubTest, SocPerfSubTest_PowerLimitBoost_001, Function | MediumTest | Level0)
110{
111    std::string msg = "";
112    OHOS::SOCPERF::SocPerfClient::GetInstance().PowerLimitBoost(true, msg);
113    EXPECT_EQ(msg, "");
114    msg.assign("123");
115    OHOS::SOCPERF::SocPerfClient::GetInstance().PowerLimitBoost(true, msg);
116    EXPECT_EQ(msg, "123");
117}
118
119/*
120 * @tc.name: SocPerfSubTest_PowerLimitBoost_001
121 * @tc.desc: PowerLimitBoost OFF
122 * @tc.type FUNC
123 * @tc.require: issueI78T3V
124 */
125HWTEST_F(SocPerfSubTest, SocPerfSubTest_PowerLimitBoost_002, Function | MediumTest | Level0)
126{
127    std::string msg = "";
128    OHOS::SOCPERF::SocPerfClient::GetInstance().PowerLimitBoost(false, msg);
129    EXPECT_EQ(msg, "");
130    msg.assign("123");
131    OHOS::SOCPERF::SocPerfClient::GetInstance().PowerLimitBoost(false, msg);
132    EXPECT_EQ(msg, "123");
133}
134
135/*
136 * @tc.name: SocPerfSubTest_ThermalLimitBoost_001
137 * @tc.desc: ThermalLimitBoost ON
138 * @tc.type FUNC
139 * @tc.require: issueI78T3V
140 */
141HWTEST_F(SocPerfSubTest, SocPerfSubTest_ThermalLimitBoost_001, Function | MediumTest | Level0)
142{
143    std::string msg = "";
144    OHOS::SOCPERF::SocPerfClient::GetInstance().ThermalLimitBoost(true, msg);
145    EXPECT_EQ(msg, "");
146    msg.assign("123");
147    OHOS::SOCPERF::SocPerfClient::GetInstance().ThermalLimitBoost(true, msg);
148    EXPECT_EQ(msg, "123");
149}
150
151/*
152 * @tc.name: SocPerfSubTest_ThermalLimitBoost_002
153 * @tc.desc: ThermalLimitBoost OFF
154 * @tc.type FUNC
155 * @tc.require: issueI78T3V
156 */
157HWTEST_F(SocPerfSubTest, SocPerfSubTest_ThermalLimitBoost_002, Function | MediumTest | Level0)
158{
159    std::string msg = "";
160    OHOS::SOCPERF::SocPerfClient::GetInstance().ThermalLimitBoost(false, msg);
161    EXPECT_EQ(msg, "");
162    msg.assign("123");
163    OHOS::SOCPERF::SocPerfClient::GetInstance().ThermalLimitBoost(false, msg);
164    EXPECT_EQ(msg, "123");
165}
166} // namespace SOCPERF
167} // namespace OHOS