Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(400)

Unified Diff: components/feedback/anonymizer_tool_unittest.cc

Issue 1530403003: Add anonymizer tool (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/feedback/anonymizer_tool_unittest.cc
diff --git a/components/feedback/anonymizer_tool_unittest.cc b/components/feedback/anonymizer_tool_unittest.cc
new file mode 100644
index 0000000000000000000000000000000000000000..91f32880760fe9d4a9e86c8bdfa6aefbfd1b0c3a
--- /dev/null
+++ b/components/feedback/anonymizer_tool_unittest.cc
@@ -0,0 +1,111 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "components/feedback/anonymizer_tool.h"
+
+#include <gtest/gtest.h>
+
+using std::map;
+using std::string;
vasilii 2015/12/17 12:40:37 These don't look beneficial to me.
battre 2015/12/17 13:24:24 Done.
+
+namespace feedback {
+
+class AnonymizerToolTest : public testing::Test {
+ protected:
+ string AnonymizeMACAddresses(const string& input) {
+ return anonymizer_.AnonymizeMACAddresses(input);
+ }
+
+ string AnonymizeCustomPatterns(const string& input) {
+ return anonymizer_.AnonymizeCustomPatterns(input);
+ }
+
+ static string AnonymizeCustomPattern(const string& input,
+ const string& pattern,
+ map<string, string>* space) {
+ return AnonymizerTool::AnonymizeCustomPattern(input, pattern, space);
+ }
+
+ AnonymizerTool anonymizer_;
+};
+
+TEST_F(AnonymizerToolTest, Anonymize) {
+ EXPECT_EQ("", anonymizer_.Anonymize(""));
+ EXPECT_EQ("foo\nbar\n", anonymizer_.Anonymize("foo\nbar\n"));
+
+ // Make sure MAC address anonymization is invoked.
+ EXPECT_EQ("02:46:8a:00:00:01", anonymizer_.Anonymize("02:46:8a:ce:13:57"));
+
+ // Make sure custom pattern anonymization is invoked.
+ EXPECT_EQ("Cell ID: '1'", AnonymizeCustomPatterns("Cell ID: 'A1B2'"));
+}
+
+TEST_F(AnonymizerToolTest, AnonymizeMACAddresses) {
+ EXPECT_EQ("", AnonymizeMACAddresses(""));
+ EXPECT_EQ("foo\nbar\n", AnonymizeMACAddresses("foo\nbar\n"));
+ EXPECT_EQ("11:22:33:44:55", AnonymizeMACAddresses("11:22:33:44:55"));
+ EXPECT_EQ("aa:bb:cc:00:00:01", AnonymizeMACAddresses("aa:bb:cc:dd:ee:ff"));
+ EXPECT_EQ(
+ "BSSID: aa:bb:cc:00:00:01 in the middle\n"
+ "bb:cc:dd:00:00:02 start of line\n"
+ "end of line aa:bb:cc:00:00:01\n"
+ "no match across lines aa:bb:cc:\n"
+ "dd:ee:ff two on the same line:\n"
+ "x bb:cc:dd:00:00:02 cc:dd:ee:00:00:03 x\n",
+ AnonymizeMACAddresses("BSSID: aa:bb:cc:dd:ee:ff in the middle\n"
+ "bb:cc:dd:ee:ff:00 start of line\n"
+ "end of line aa:bb:cc:dd:ee:ff\n"
+ "no match across lines aa:bb:cc:\n"
+ "dd:ee:ff two on the same line:\n"
+ "x bb:cc:dd:ee:ff:00 cc:dd:ee:ff:00:11 x\n"));
+ EXPECT_EQ("Remember bb:cc:dd:00:00:02?",
+ AnonymizeMACAddresses("Remember bB:Cc:DD:ee:ff:00?"));
+}
+
+TEST_F(AnonymizerToolTest, AnonymizeCustomPatterns) {
+ EXPECT_EQ("", AnonymizeCustomPatterns(""));
+
+ EXPECT_EQ("Cell ID: '1'", AnonymizeCustomPatterns("Cell ID: 'A1B2'"));
+ EXPECT_EQ("Cell ID: '2'", AnonymizeCustomPatterns("Cell ID: 'C1D2'"));
+ EXPECT_EQ("foo Cell ID: '1' bar",
+ AnonymizeCustomPatterns("foo Cell ID: 'A1B2' bar"));
+
+ EXPECT_EQ("foo Location area code: '1' bar",
+ AnonymizeCustomPatterns("foo Location area code: 'A1B2' bar"));
+
+ EXPECT_EQ("foo\na SSID='1' b\n'",
+ AnonymizeCustomPatterns("foo\na SSID='Joe's' b\n'"));
+ EXPECT_EQ("ssid '2'", AnonymizeCustomPatterns("ssid 'My AP'"));
+ EXPECT_EQ("bssid 'aa:bb'", AnonymizeCustomPatterns("bssid 'aa:bb'"));
+
+ EXPECT_EQ("Scan SSID - hexdump(len=6): 1\nfoo",
+ AnonymizeCustomPatterns(
+ "Scan SSID - hexdump(len=6): 47 6f 6f 67 6c 65\nfoo"));
+
+ EXPECT_EQ(
+ "a\nb [SSID=1] [SSID=2] [SSID=foo\nbar] b",
+ AnonymizeCustomPatterns("a\nb [SSID=foo] [SSID=bar] [SSID=foo\nbar] b"));
+}
+
+TEST_F(AnonymizerToolTest, AnonymizeCustomPattern) {
vasilii 2015/12/17 12:40:37 The name is almost identical to the previous one.
battre 2015/12/17 13:24:24 I think the name reflects what is being tested.
+ static const char kPattern[] = "(\\b(?i)id:? ')(\\d+)(')";
vasilii 2015/12/17 12:40:37 Get rid of static.
battre 2015/12/17 13:24:24 Done.
+ map<string, string> space;
+ EXPECT_EQ("", AnonymizeCustomPattern("", kPattern, &space));
+ EXPECT_EQ("foo\nbar\n",
+ AnonymizeCustomPattern("foo\nbar\n", kPattern, &space));
+ EXPECT_EQ("id '1'", AnonymizeCustomPattern("id '2345'", kPattern, &space));
+ EXPECT_EQ("id '2'", AnonymizeCustomPattern("id '1234'", kPattern, &space));
+ EXPECT_EQ("id: '2'", AnonymizeCustomPattern("id: '1234'", kPattern, &space));
+ EXPECT_EQ("ID: '1'", AnonymizeCustomPattern("ID: '2345'", kPattern, &space));
+ EXPECT_EQ("x1 id '1' 1x id '2'\nid '1'\n",
+ AnonymizeCustomPattern("x1 id '2345' 1x id '1234'\nid '2345'\n",
+ kPattern, &space));
+ space.clear();
+ EXPECT_EQ("id '1'", AnonymizeCustomPattern("id '1234'", kPattern, &space));
+
+ space.clear();
+ EXPECT_EQ("x1z", AnonymizeCustomPattern("xyz", "()(y+)()", &space));
+}
+
+} // namespace feedback

Powered by Google App Engine
This is Rietveld 408576698