• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021 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 "event_logger_plugin_test.h"
16 
17 #include <ctime>
18 #include <fstream>
19 #include <iostream>
20 #include <memory>
21 
22 #include "common_utils.h"
23 #include "file_util.h"
24 #include "time_util.h"
25 
26 #include "event_logger.h"
27 #include "hiview_platform.h"
28 using namespace testing::ext;
29 using namespace OHOS::HiviewDFX;
30 
SetUp()31 void EventloggerPluginTest::SetUp()
32 {
33     printf("SetUp.\n");
34 }
35 
TearDown()36 void EventloggerPluginTest::TearDown()
37 {
38     printf("TearDown.\n");
39 }
40 
SetUpTestCase()41 void EventloggerPluginTest::SetUpTestCase()
42 {
43 OHOS::HiviewDFX::HiviewPlatform &platform = HiviewPlatform::GetInstance();
44     std::string defaultDir = "/data/test/test_data/hiview_platform_config";
45     if (!platform.InitEnvironment(defaultDir)) {
46         std::cout << "fail to init environment" << std::endl;
47     } else {
48         std::cout << "init environment successful" << std::endl;
49     }
50     printf("SetUpTestCase.\n");
51 }
52 
TearDownTestCase()53 void EventloggerPluginTest::TearDownTestCase()
54 {
55     printf("TearDownTestCase.\n");
56 }
57 
58 /**
59  * @tc.name: EventloggerPluginTest001
60  * @tc.desc: parse a correct config file and check result
61  * @tc.type: FUNC
62  * @tc.require: AR000FT62O
63  */
64 HWTEST_F(EventloggerPluginTest, EventloggerPluginTest001, TestSize.Level3)
65 {
66     EventLogger eventLogger;
67     std::shared_ptr<EventLoop> loop = std::make_shared<EventLoop>("eventLoop");
68     loop->StartLoop();
69     eventLogger.BindWorkLoop(loop);
70     std::shared_ptr<Event> event = nullptr;
71     ASSERT_EQ(eventLogger.IsInterestedPipelineEvent(event), false);
72 }
73 
74 /**
75  * @tc.name: EventloggerPluginTest002
76  * @tc.desc: parse a correct config file and check result
77  */
78 HWTEST_F(EventloggerPluginTest, EventloggerPluginTest002, TestSize.Level3)
79 {
80     EventLogger eventLogger;
81     std::shared_ptr<EventLoop> loop = std::make_shared<EventLoop>("eventLoop");
82     loop->StartLoop();
83     eventLogger.BindWorkLoop(loop);
84     constexpr int eventMaxId = 1000001;
85     std::shared_ptr<Event> event = std::make_shared<Event>("Eventlogger002");
86     event->eventId_ = eventMaxId;
87     ASSERT_EQ(eventLogger.IsInterestedPipelineEvent(event), false);
88 }
89 
90 /**
91  * @tc.name: EventloggerPluginTest003
92  * @tc.desc: parse a correct config file and check result
93  */
94 HWTEST_F(EventloggerPluginTest, EventloggerPluginTest003, TestSize.Level3)
95 {
96     EventLogger eventLogger;
97     std::shared_ptr<EventLoop> loop = std::make_shared<EventLoop>("eventLoop");
98     loop->StartLoop();
99     eventLogger.BindWorkLoop(loop);
100     std::shared_ptr<Event> event = std::make_shared<Event>("Eventlogger003");
101     event->eventId_ = 0;
102     event->domain_ = "FRAMEWORK";
103     event->eventName_ = "SERVICE_BLOCK2";
104     ASSERT_EQ(eventLogger.IsInterestedPipelineEvent(event), false);
105 }
106 
107 /**
108  * @tc.name: EventloggerPluginTest004
109  * @tc.desc: parse a correct config file and check result
110  */
111 HWTEST_F(EventloggerPluginTest, EventloggerPluginTest004, TestSize.Level3)
112 {
113     EventLogger eventLogger;
114     std::shared_ptr<EventLoop> loop = std::make_shared<EventLoop>("eventLoop");
115     loop->StartLoop();
116     eventLogger.BindWorkLoop(loop);
117     auto jsonStr = "{\"domain_\":\"RELIABILITY\"}";
118     std::shared_ptr<SysEvent> event = std::make_shared<SysEvent>("Eventlogger004", nullptr, jsonStr);
119     event->eventId_ = 0;
120     event->domain_ = "FRAMEWORK";
121     event->eventName_ = "SERVICE_BLOCK";
122     event->SetEventValue("PID", 0);
123     ASSERT_EQ(eventLogger.IsInterestedPipelineEvent(event), false);
124 }
125 
126 /**
127  * @tc.name: EventloggerPluginTest005
128  * @tc.desc: parse a correct config file and check result
129  */
130 HWTEST_F(EventloggerPluginTest, EventloggerPluginTest005, TestSize.Level3)
131 {
132     EventLogger eventLogger;
133     std::shared_ptr<EventLoop> loop = std::make_shared<EventLoop>("eventLoop");
134     loop->StartLoop();
135     eventLogger.BindWorkLoop(loop);
136     auto jsonStr = "{\"domain_\":\"RELIABILITY\"}";
137     std::shared_ptr<SysEvent> event = std::make_shared<SysEvent>("Eventlogger005", nullptr, jsonStr);
138     event->eventId_ = 0;
139     event->domain_ = "FRAMEWORK";
140     event->eventName_ = "SERVICE_BLOCK";
141     event->SetEventValue("PID", CommonUtils::GetPidByName("foundation"));
142     ASSERT_EQ(eventLogger.IsInterestedPipelineEvent(event), false);
143 }
144 
145 /**
146  * @tc.name: EventloggerPluginTest006
147  * @tc.desc: parse a correct config file and check result
148  */
149 HWTEST_F(EventloggerPluginTest, EventloggerPluginTest006, TestSize.Level3)
150 {
151     EventLogger eventLogger;
152     std::shared_ptr<Event> event = nullptr;
153     ASSERT_EQ(eventLogger.OnEvent(event), false);
154 }
155