Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / extensions / api / log_private / syslog_parser_unittest.cc
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include <string>
6 #include <vector>
7
8 #include "base/memory/linked_ptr.h"
9 #include "chrome/browser/extensions/api/log_private/filter_handler.h"
10 #include "chrome/browser/extensions/api/log_private/log_parser.h"
11 #include "chrome/browser/extensions/api/log_private/syslog_parser.h"
12 #include "testing/gtest/include/gtest/gtest.h"
13
14 namespace extensions {
15 namespace {
16
17 const char kKernelLogEntry[] =
18     "2014-08-18T14:04:58.606132-07:00 kernel: [269374.012690] "
19     "cfg80211: World regulatory domain updated:";
20
21 const char kShillLogEntry[] =
22     "2014-08-15T11:20:24.575058-07:00 shill[1018]: "
23     "[INFO:service.cc(290)] Disconnecting from service 32: Unload";
24
25 const char kWpaSupplicantLogEntry[] =
26     "2014-08-15T12:36:06.137021-07:00 wpa_supplicant[818]: "
27     "nl80211: Received scan results (0 BSSes)";
28
29 }  // namespace
30
31 class ExtensionSyslogParserTest : public testing::Test {
32 };
33
34 TEST_F(ExtensionSyslogParserTest, ParseLog) {
35   std::vector<linked_ptr<api::log_private::LogEntry> > output;
36   api::log_private::Filter filter;
37   FilterHandler filter_handler(filter);
38   SyslogParser p;
39
40   // Test kernel log
41   p.Parse(kKernelLogEntry, &output, &filter_handler);
42   ASSERT_EQ(1u, output.size());
43   EXPECT_EQ("unknown", output[0]->level);
44   EXPECT_EQ("kernel", output[0]->process);
45   EXPECT_EQ("unknown", output[0]->process_id);
46   EXPECT_EQ(kKernelLogEntry, output[0]->full_entry);
47   EXPECT_DOUBLE_EQ(1408395898606.132, output[0]->timestamp);
48
49   // Test shill log
50   p.Parse(kShillLogEntry, &output, &filter_handler);
51   ASSERT_EQ(2u, output.size());
52   EXPECT_EQ("info", output[1]->level);
53   EXPECT_EQ("shill", output[1]->process);
54   EXPECT_EQ("1018", output[1]->process_id);
55   EXPECT_EQ(kShillLogEntry, output[1]->full_entry);
56   EXPECT_DOUBLE_EQ(1408126824575.058, output[1]->timestamp);
57
58   // Test WpaSupplicant log
59   p.Parse(kWpaSupplicantLogEntry, &output, &filter_handler);
60   ASSERT_EQ(3u, output.size());
61   EXPECT_EQ("unknown", output[2]->level);
62   EXPECT_EQ("wpa_supplicant", output[2]->process);
63   EXPECT_EQ("818", output[2]->process_id);
64   EXPECT_EQ(kWpaSupplicantLogEntry, output[2]->full_entry);
65   EXPECT_DOUBLE_EQ(1408131366137.021, output[2]->timestamp);
66 }
67
68 }  // namespace extensions