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

Side by Side Diff: rlz/win/lib/machine_deal_test.cc

Issue 10642009: Add a regenerate button to regenerate the password in Windows. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Sync and Merge. Created 8 years, 6 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 | « rlz/win/lib/machine_deal.cc ('k') | rlz/win/lib/machine_id_win.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright (c) 2012 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 // A test application for the MachineDealCode class.
6 //
7 // These tests should not be executed on the build server:
8 // - They assert for the failed cases.
9 // - They modify machine state (registry).
10 //
11 // These tests require write access to HKLM and HKCU, unless
12 // rlz_lib::CreateMachineState() has been successfully called.
13
14 #include "base/logging.h"
15 #include "testing/gmock/include/gmock/gmock.h"
16 #include "testing/gtest/include/gtest/gtest.h"
17
18 #include "rlz/test/rlz_test_helpers.h"
19 #include "rlz/win/lib/machine_deal.h"
20
21 class MachineDealCodeHelper : public rlz_lib::MachineDealCode {
22 public:
23 static bool Clear() { return rlz_lib::MachineDealCode::Clear(); }
24
25 private:
26 MachineDealCodeHelper() {}
27 ~MachineDealCodeHelper() {}
28 };
29
30 class MachineDealCodeTest : public RlzLibTestBase {
31 };
32
33 TEST_F(MachineDealCodeTest, CreateMachineState) {
34 EXPECT_TRUE(rlz_lib::CreateMachineState());
35 }
36
37 TEST_F(MachineDealCodeTest, Set) {
38 MachineDealCodeHelper::Clear();
39 char dcc_50[50];
40 dcc_50[0] = 0;
41
42 EXPECT_TRUE(rlz_lib::MachineDealCode::Set("dcc_value"));
43
44 EXPECT_TRUE(rlz_lib::MachineDealCode::Get(dcc_50, 50));
45 EXPECT_STREQ("dcc_value", dcc_50);
46
47 EXPECT_TRUE(rlz_lib::MachineDealCode::Set("dcc_value_2"));
48
49 EXPECT_TRUE(rlz_lib::MachineDealCode::Get(dcc_50, 50));
50 EXPECT_STREQ("dcc_value_2", dcc_50);
51 }
52
53 TEST_F(MachineDealCodeTest, Get) {
54 MachineDealCodeHelper::Clear();
55 char dcc_50[50], dcc_2[2];
56 dcc_50[0] = 0;
57 dcc_2[0] = 0;
58
59 EXPECT_FALSE(rlz_lib::MachineDealCode::Get(dcc_50, 50));
60
61 EXPECT_TRUE(rlz_lib::MachineDealCode::Set("dcc_value"));
62
63 EXPECT_TRUE(rlz_lib::MachineDealCode::Get(dcc_50, 50));
64 EXPECT_STREQ("dcc_value", dcc_50);
65
66 EXPECT_FALSE(rlz_lib::MachineDealCode::Get(dcc_2, 2));
67 }
68
69 TEST_F(MachineDealCodeTest, SetFromPingResponse) {
70 rlz_lib::MachineDealCode::Set("MyDCCode");
71 char dcc_50[50];
72
73 // Bad responses
74
75 char* kBadDccResponse =
76 "dcc: NotMyDCCode \r\n"
77 "set_dcc: NewDCCode\r\n"
78 "crc32: 1B4D6BB3";
79 EXPECT_FALSE(rlz_lib::MachineDealCode::SetFromPingResponse(
80 kBadDccResponse));
81 EXPECT_TRUE(rlz_lib::MachineDealCode::Get(dcc_50, 50));
82 EXPECT_STREQ("MyDCCode", dcc_50);
83
84 char* kBadCrcResponse =
85 "dcc: MyDCCode \r\n"
86 "set_dcc: NewDCCode\r\n"
87 "crc32: 90707106";
88 EXPECT_FALSE(rlz_lib::MachineDealCode::SetFromPingResponse(
89 kBadCrcResponse));
90 EXPECT_TRUE(rlz_lib::MachineDealCode::Get(dcc_50, 50));
91 EXPECT_STREQ("MyDCCode", dcc_50);
92
93 // Good responses
94
95 char* kMissingSetResponse =
96 "dcc: MyDCCode \r\n"
97 "crc32: 35F2E717";
98 EXPECT_TRUE(rlz_lib::MachineDealCode::SetFromPingResponse(
99 kMissingSetResponse));
100 EXPECT_TRUE(rlz_lib::MachineDealCode::Get(dcc_50, 50));
101 EXPECT_STREQ("MyDCCode", dcc_50);
102
103 char* kGoodResponse =
104 "dcc: MyDCCode \r\n"
105 "set_dcc: NewDCCode\r\n"
106 "crc32: C8540E02";
107 EXPECT_TRUE(rlz_lib::MachineDealCode::SetFromPingResponse(
108 kGoodResponse));
109 EXPECT_TRUE(rlz_lib::MachineDealCode::Get(dcc_50, 50));
110 EXPECT_STREQ("NewDCCode", dcc_50);
111
112 char* kGoodResponse2 =
113 "set_dcc: NewDCCode2 \r\n"
114 "dcc: NewDCCode \r\n"
115 "crc32: 60B6409A";
116 EXPECT_TRUE(rlz_lib::MachineDealCode::SetFromPingResponse(
117 kGoodResponse2));
118 EXPECT_TRUE(rlz_lib::MachineDealCode::Get(dcc_50, 50));
119 EXPECT_STREQ("NewDCCode2", dcc_50);
120
121 MachineDealCodeHelper::Clear();
122 char* kGoodResponse3 =
123 "set_dcc: NewDCCode \r\n"
124 "crc32: 374C1C47";
125 EXPECT_TRUE(rlz_lib::MachineDealCode::SetFromPingResponse(
126 kGoodResponse3));
127 EXPECT_TRUE(rlz_lib::MachineDealCode::Get(dcc_50, 50));
128 EXPECT_STREQ("NewDCCode", dcc_50);
129
130 MachineDealCodeHelper::Clear();
131 char* kGoodResponse4 =
132 "dcc: \r\n"
133 "set_dcc: NewDCCode \r\n"
134 "crc32: 0AB1FB39";
135 EXPECT_TRUE(rlz_lib::MachineDealCode::SetFromPingResponse(
136 kGoodResponse4));
137 EXPECT_TRUE(rlz_lib::MachineDealCode::Get(dcc_50, 50));
138 EXPECT_STREQ("NewDCCode", dcc_50);
139 }
140
141 TEST_F(MachineDealCodeTest, GetAsCgi) {
142 MachineDealCodeHelper::Clear();
143 char cgi_50[50], cgi_2[2];
144 cgi_50[0] = 0;
145 cgi_2[0] = 0;
146
147 EXPECT_FALSE(rlz_lib::MachineDealCode::GetAsCgi(cgi_50, 50));
148 EXPECT_STREQ("", cgi_50);
149
150 EXPECT_TRUE(rlz_lib::MachineDealCode::Set("dcc_value"));
151
152 EXPECT_TRUE(rlz_lib::MachineDealCode::GetAsCgi(cgi_50, 50));
153 EXPECT_STREQ("dcc=dcc_value", cgi_50);
154
155 EXPECT_FALSE(rlz_lib::MachineDealCode::GetAsCgi(cgi_2, 2));
156 }
OLDNEW
« no previous file with comments | « rlz/win/lib/machine_deal.cc ('k') | rlz/win/lib/machine_id_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698