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

Side by Side Diff: chrome/browser/metrics/metrics_service_unittest.cc

Issue 3800001: Factoring GUID generation from metrics to base (Closed)
Patch Set: Adding unit tests. Created 10 years, 2 months 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 unified diff | Download patch
« no previous file with comments | « chrome/browser/metrics/metrics_service.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/metrics/metrics_service.h" 5 #include "chrome/browser/metrics/metrics_service.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/base64.h" 10 #include "base/base64.h"
11 #include "base/md5.h" 11 #include "base/md5.h"
12 #include "base/values.h" 12 #include "base/values.h"
13 13
14 #include "testing/gtest/include/gtest/gtest.h" 14 #include "testing/gtest/include/gtest/gtest.h"
15 15
16 #if defined(OS_POSIX) && defined(LINUX2) 16 class MetricsServiceTest : public ::testing::Test {
17 TEST(MetricsServiceTest, ClientIdGeneratesAllZeroes) { 17 };
18 uint64 bytes[] = { 0, 0 };
19 std::string clientid = MetricsService::RandomBytesToGUIDString(bytes);
20 EXPECT_EQ("00000000-0000-0000-0000-000000000000", clientid);
21 }
22 TEST(MetricsServiceTest, ClientIdGeneratesCorrectly) {
23 uint64 bytes[] = { 0x0123456789ABCDEFULL, 0xFEDCBA9876543210ULL };
24 std::string clientid = MetricsService::RandomBytesToGUIDString(bytes);
25 EXPECT_EQ("01234567-89AB-CDEF-FEDC-BA9876543210", clientid);
26 }
27 18
19 static const size_t kMaxLocalListSize = 3;
20
21 // Ensure the ClientId is formatted as expected.
28 TEST(MetricsServiceTest, ClientIdCorrectlyFormatted) { 22 TEST(MetricsServiceTest, ClientIdCorrectlyFormatted) {
29 std::string clientid = MetricsService::GenerateClientID(); 23 std::string clientid = MetricsService::GenerateClientID();
30 EXPECT_EQ(36U, clientid.length()); 24 EXPECT_EQ(36U, clientid.length());
31 std::string hexchars = "0123456789ABCDEF"; 25 std::string hexchars = "0123456789ABCDEF";
32 for (uint32 i = 0; i < clientid.length(); i++) { 26 for (uint32 i = 0; i < clientid.length(); i++) {
33 char current = clientid.at(i); 27 char current = clientid.at(i);
34 if (i == 8 || i == 13 || i == 18 || i == 23) { 28 if (i == 8 || i == 13 || i == 18 || i == 23) {
35 EXPECT_EQ('-', current); 29 EXPECT_EQ('-', current);
36 } else { 30 } else {
37 EXPECT_TRUE(std::string::npos != hexchars.find(current)); 31 EXPECT_TRUE(std::string::npos != hexchars.find(current));
38 } 32 }
39 } 33 }
40 } 34 }
41 #endif
42
43 class MetricsServiceTest : public ::testing::Test {
44 };
45
46 static const size_t kMaxLocalListSize = 3;
47 35
48 // Store and retrieve empty list. 36 // Store and retrieve empty list.
49 TEST(MetricsServiceTest, EmptyLogList) { 37 TEST(MetricsServiceTest, EmptyLogList) {
50 ListValue list; 38 ListValue list;
51 std::vector<std::string> local_list; 39 std::vector<std::string> local_list;
52 40
53 MetricsService::StoreUnsentLogsHelper(local_list, kMaxLocalListSize, &list); 41 MetricsService::StoreUnsentLogsHelper(local_list, kMaxLocalListSize, &list);
54 EXPECT_EQ(0U, list.GetSize()); 42 EXPECT_EQ(0U, list.GetSize());
55 43
56 local_list.clear(); // RecallUnsentLogsHelper() expects empty |local_list|. 44 local_list.clear(); // RecallUnsentLogsHelper() expects empty |local_list|.
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after
206 std::string checksum; 194 std::string checksum;
207 EXPECT_TRUE((*(list.end() - 1))->GetAsString(&checksum)); 195 EXPECT_TRUE((*(list.end() - 1))->GetAsString(&checksum));
208 checksum[0] = (checksum[0] == 'a') ? 'b' : 'a'; 196 checksum[0] = (checksum[0] == 'a') ? 'b' : 'a';
209 EXPECT_TRUE(list.Set(2, Value::CreateStringValue(checksum))); 197 EXPECT_TRUE(list.Set(2, Value::CreateStringValue(checksum)));
210 EXPECT_EQ(3U, list.GetSize()); 198 EXPECT_EQ(3U, list.GetSize());
211 199
212 local_list.clear(); 200 local_list.clear();
213 EXPECT_EQ(MetricsService::CHECKSUM_CORRUPTION, 201 EXPECT_EQ(MetricsService::CHECKSUM_CORRUPTION,
214 MetricsService::RecallUnsentLogsHelper(list, &local_list)); 202 MetricsService::RecallUnsentLogsHelper(list, &local_list));
215 } 203 }
OLDNEW
« no previous file with comments | « chrome/browser/metrics/metrics_service.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698