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

Side by Side Diff: omaha_request_params_unittest.cc

Issue 2808082: AU: Remove instances of Omaha ID -- machine ID and user ID. (Closed) Base URL: ssh://git@gitrw.chromium.org:9222/update_engine.git
Patch Set: comment typo fix Created 10 years, 4 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 | Annotate | Revision Log
« no previous file with comments | « omaha_request_params.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 OS Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium OS 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 <stdio.h> 5 #include <stdio.h>
6 #include <string> 6 #include <string>
7 #include <gtest/gtest.h> 7 #include <gtest/gtest.h>
8 #include "update_engine/install_plan.h" 8 #include "update_engine/install_plan.h"
9 #include "update_engine/omaha_request_params.h" 9 #include "update_engine/omaha_request_params.h"
10 #include "update_engine/test_utils.h" 10 #include "update_engine/test_utils.h"
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 const string& omaha_url) { 42 const string& omaha_url) {
43 OmahaRequestDeviceParams params; 43 OmahaRequestDeviceParams params;
44 params.set_root(string("./") + kTestDir); 44 params.set_root(string("./") + kTestDir);
45 bool success = params.Init(app_version, omaha_url); 45 bool success = params.Init(app_version, omaha_url);
46 if (out) 46 if (out)
47 *out = params; 47 *out = params;
48 return success; 48 return success;
49 } 49 }
50 50
51 namespace { 51 namespace {
52 bool IsHexDigit(char c) {
53 return ((c >= '0') && (c <= '9')) ||
54 ((c >= 'a') && (c <= 'f')) ||
55 ((c >= 'A') && (c <= 'F'));
56 }
57
58 // Returns true iff str is formatted as a GUID. Example GUID:
59 // "{2251FFAD-DBAB-4E53-8B3A-18F98BB4EB80}"
60 bool IsValidGuid(const string& str) {
61 TEST_AND_RETURN_FALSE(str.size() == 38);
62 TEST_AND_RETURN_FALSE((*str.begin() == '{') && (*str.rbegin() == '}'));
63 for (string::size_type i = 1; i < (str.size() - 1); ++i) {
64 if ((i == 9) || (i == 14) || (i == 19) || (i == 24)) {
65 TEST_AND_RETURN_FALSE(str[i] == '-');
66 } else {
67 TEST_AND_RETURN_FALSE(IsHexDigit(str[i]));
68 }
69 }
70 return true;
71 }
72
73 string GetMachineType() { 52 string GetMachineType() {
74 FILE* fp = popen("uname -m", "r"); 53 FILE* fp = popen("uname -m", "r");
75 if (!fp) 54 if (!fp)
76 return ""; 55 return "";
77 string ret; 56 string ret;
78 for (;;) { 57 for (;;) {
79 char buffer[10]; 58 char buffer[10];
80 size_t r = fread(buffer, 1, sizeof(buffer), fp); 59 size_t r = fread(buffer, 1, sizeof(buffer), fp);
81 if (r == 0) 60 if (r == 0)
82 break; 61 break;
(...skipping 10 matching lines...) Expand all
93 TEST_F(OmahaRequestDeviceParamsTest, SimpleTest) { 72 TEST_F(OmahaRequestDeviceParamsTest, SimpleTest) {
94 ASSERT_TRUE(WriteFileString( 73 ASSERT_TRUE(WriteFileString(
95 kTestDir + "/etc/lsb-release", 74 kTestDir + "/etc/lsb-release",
96 "CHROMEOS_RELEASE_BOARD=arm-generic\n" 75 "CHROMEOS_RELEASE_BOARD=arm-generic\n"
97 "CHROMEOS_RELEASE_FOO=bar\n" 76 "CHROMEOS_RELEASE_FOO=bar\n"
98 "CHROMEOS_RELEASE_VERSION=0.2.2.3\n" 77 "CHROMEOS_RELEASE_VERSION=0.2.2.3\n"
99 "CHROMEOS_RELEASE_TRACK=footrack\n" 78 "CHROMEOS_RELEASE_TRACK=footrack\n"
100 "CHROMEOS_AUSERVER=http://www.google.com")); 79 "CHROMEOS_AUSERVER=http://www.google.com"));
101 OmahaRequestParams out; 80 OmahaRequestParams out;
102 EXPECT_TRUE(DoTest(&out, "", "")); 81 EXPECT_TRUE(DoTest(&out, "", ""));
103 EXPECT_TRUE(IsValidGuid(out.machine_id)) << "id: " << out.machine_id;
104 // for now we're just using the machine id here
105 EXPECT_TRUE(IsValidGuid(out.user_id)) << "id: " << out.user_id;
106 EXPECT_EQ("Chrome OS", out.os_platform); 82 EXPECT_EQ("Chrome OS", out.os_platform);
107 EXPECT_EQ(string("0.2.2.3_") + GetMachineType(), out.os_sp); 83 EXPECT_EQ(string("0.2.2.3_") + GetMachineType(), out.os_sp);
108 EXPECT_EQ("arm-generic", out.os_board); 84 EXPECT_EQ("arm-generic", out.os_board);
109 EXPECT_EQ("{87efface-864d-49a5-9bb3-4b050a7c227a}", out.app_id); 85 EXPECT_EQ("{87efface-864d-49a5-9bb3-4b050a7c227a}", out.app_id);
110 EXPECT_EQ("0.2.2.3", out.app_version); 86 EXPECT_EQ("0.2.2.3", out.app_version);
111 EXPECT_EQ("en-US", out.app_lang); 87 EXPECT_EQ("en-US", out.app_lang);
112 EXPECT_TRUE(out.delta_okay); 88 EXPECT_TRUE(out.delta_okay);
113 EXPECT_EQ("footrack", out.app_track); 89 EXPECT_EQ("footrack", out.app_track);
114 EXPECT_EQ("http://www.google.com", out.update_url); 90 EXPECT_EQ("http://www.google.com", out.update_url);
115 } 91 }
116 92
117 TEST_F(OmahaRequestDeviceParamsTest, MissingTrackTest) { 93 TEST_F(OmahaRequestDeviceParamsTest, MissingTrackTest) {
118 ASSERT_TRUE(WriteFileString( 94 ASSERT_TRUE(WriteFileString(
119 kTestDir + "/etc/lsb-release", 95 kTestDir + "/etc/lsb-release",
120 "CHROMEOS_RELEASE_FOO=bar\n" 96 "CHROMEOS_RELEASE_FOO=bar\n"
121 "CHROMEOS_RELEASE_VERSION=0.2.2.3\n" 97 "CHROMEOS_RELEASE_VERSION=0.2.2.3\n"
122 "CHROMEOS_RELEASE_TRXCK=footrack")); 98 "CHROMEOS_RELEASE_TRXCK=footrack"));
123 OmahaRequestParams out; 99 OmahaRequestParams out;
124 EXPECT_TRUE(DoTest(&out, "", "")); 100 EXPECT_TRUE(DoTest(&out, "", ""));
125 EXPECT_TRUE(IsValidGuid(out.machine_id));
126 // for now we're just using the machine id here
127 EXPECT_TRUE(IsValidGuid(out.user_id));
128 EXPECT_EQ("Chrome OS", out.os_platform); 101 EXPECT_EQ("Chrome OS", out.os_platform);
129 EXPECT_EQ(string("0.2.2.3_") + GetMachineType(), out.os_sp); 102 EXPECT_EQ(string("0.2.2.3_") + GetMachineType(), out.os_sp);
130 EXPECT_EQ("{87efface-864d-49a5-9bb3-4b050a7c227a}", out.app_id); 103 EXPECT_EQ("{87efface-864d-49a5-9bb3-4b050a7c227a}", out.app_id);
131 EXPECT_EQ("0.2.2.3", out.app_version); 104 EXPECT_EQ("0.2.2.3", out.app_version);
132 EXPECT_EQ("en-US", out.app_lang); 105 EXPECT_EQ("en-US", out.app_lang);
133 EXPECT_EQ("", out.app_track); 106 EXPECT_EQ("", out.app_track);
134 } 107 }
135 108
136 TEST_F(OmahaRequestDeviceParamsTest, ConfusingReleaseTest) { 109 TEST_F(OmahaRequestDeviceParamsTest, ConfusingReleaseTest) {
137 ASSERT_TRUE(WriteFileString( 110 ASSERT_TRUE(WriteFileString(
138 kTestDir + "/etc/lsb-release", 111 kTestDir + "/etc/lsb-release",
139 "CHROMEOS_RELEASE_FOO=CHROMEOS_RELEASE_VERSION=1.2.3.4\n" 112 "CHROMEOS_RELEASE_FOO=CHROMEOS_RELEASE_VERSION=1.2.3.4\n"
140 "CHROMEOS_RELEASE_VERSION=0.2.2.3\n" 113 "CHROMEOS_RELEASE_VERSION=0.2.2.3\n"
141 "CHROMEOS_RELEASE_TRXCK=footrack")); 114 "CHROMEOS_RELEASE_TRXCK=footrack"));
142 OmahaRequestParams out; 115 OmahaRequestParams out;
143 EXPECT_TRUE(DoTest(&out, "", "")); 116 EXPECT_TRUE(DoTest(&out, "", ""));
144 EXPECT_TRUE(IsValidGuid(out.machine_id)) << out.machine_id;
145 // for now we're just using the machine id here
146 EXPECT_TRUE(IsValidGuid(out.user_id));
147 EXPECT_EQ("Chrome OS", out.os_platform); 117 EXPECT_EQ("Chrome OS", out.os_platform);
148 EXPECT_EQ(string("0.2.2.3_") + GetMachineType(), out.os_sp); 118 EXPECT_EQ(string("0.2.2.3_") + GetMachineType(), out.os_sp);
149 EXPECT_EQ("{87efface-864d-49a5-9bb3-4b050a7c227a}", out.app_id); 119 EXPECT_EQ("{87efface-864d-49a5-9bb3-4b050a7c227a}", out.app_id);
150 EXPECT_EQ("0.2.2.3", out.app_version); 120 EXPECT_EQ("0.2.2.3", out.app_version);
151 EXPECT_EQ("en-US", out.app_lang); 121 EXPECT_EQ("en-US", out.app_lang);
152 EXPECT_EQ("", out.app_track); 122 EXPECT_EQ("", out.app_track);
153 } 123 }
154 124
155 TEST_F(OmahaRequestDeviceParamsTest, MachineIdPersistsTest) {
156 ASSERT_TRUE(WriteFileString(
157 kTestDir + "/etc/lsb-release",
158 "CHROMEOS_RELEASE_FOO=CHROMEOS_RELEASE_VERSION=1.2.3.4\n"
159 "CHROMEOS_RELEASE_VERSION=0.2.2.3\n"
160 "CHROMEOS_RELEASE_TRXCK=footrack"));
161 OmahaRequestParams out1;
162 EXPECT_TRUE(DoTest(&out1, "", ""));
163 string machine_id;
164 EXPECT_TRUE(utils::ReadFileToString(
165 kTestDir +
166 utils::kStatefulPartition + "/etc/omaha_id",
167 &machine_id));
168 EXPECT_EQ(machine_id, out1.machine_id);
169 OmahaRequestParams out2;
170 EXPECT_TRUE(DoTest(&out2, "", ""));
171 EXPECT_EQ(machine_id, out2.machine_id);
172 }
173
174 TEST_F(OmahaRequestDeviceParamsTest, MissingVersionTest) { 125 TEST_F(OmahaRequestDeviceParamsTest, MissingVersionTest) {
175 ASSERT_TRUE(WriteFileString( 126 ASSERT_TRUE(WriteFileString(
176 kTestDir + "/etc/lsb-release", 127 kTestDir + "/etc/lsb-release",
177 "CHROMEOS_RELEASE_BOARD=arm-generic\n" 128 "CHROMEOS_RELEASE_BOARD=arm-generic\n"
178 "CHROMEOS_RELEASE_FOO=bar\n" 129 "CHROMEOS_RELEASE_FOO=bar\n"
179 "CHROMEOS_RELEASE_TRACK=footrack")); 130 "CHROMEOS_RELEASE_TRACK=footrack"));
180 OmahaRequestParams out; 131 OmahaRequestParams out;
181 EXPECT_TRUE(DoTest(&out, "", "")); 132 EXPECT_TRUE(DoTest(&out, "", ""));
182 EXPECT_TRUE(IsValidGuid(out.machine_id)) << "id: " << out.machine_id;
183 // for now we're just using the machine id here
184 EXPECT_TRUE(IsValidGuid(out.user_id)) << "id: " << out.user_id;
185 EXPECT_EQ("Chrome OS", out.os_platform); 133 EXPECT_EQ("Chrome OS", out.os_platform);
186 EXPECT_EQ(string("_") + GetMachineType(), out.os_sp); 134 EXPECT_EQ(string("_") + GetMachineType(), out.os_sp);
187 EXPECT_EQ("arm-generic", out.os_board); 135 EXPECT_EQ("arm-generic", out.os_board);
188 EXPECT_EQ("{87efface-864d-49a5-9bb3-4b050a7c227a}", out.app_id); 136 EXPECT_EQ("{87efface-864d-49a5-9bb3-4b050a7c227a}", out.app_id);
189 EXPECT_EQ("", out.app_version); 137 EXPECT_EQ("", out.app_version);
190 EXPECT_EQ("en-US", out.app_lang); 138 EXPECT_EQ("en-US", out.app_lang);
191 EXPECT_TRUE(out.delta_okay); 139 EXPECT_TRUE(out.delta_okay);
192 EXPECT_EQ("footrack", out.app_track); 140 EXPECT_EQ("footrack", out.app_track);
193 } 141 }
194 142
195 TEST_F(OmahaRequestDeviceParamsTest, ForceVersionTest) { 143 TEST_F(OmahaRequestDeviceParamsTest, ForceVersionTest) {
196 ASSERT_TRUE(WriteFileString( 144 ASSERT_TRUE(WriteFileString(
197 kTestDir + "/etc/lsb-release", 145 kTestDir + "/etc/lsb-release",
198 "CHROMEOS_RELEASE_BOARD=arm-generic\n" 146 "CHROMEOS_RELEASE_BOARD=arm-generic\n"
199 "CHROMEOS_RELEASE_FOO=bar\n" 147 "CHROMEOS_RELEASE_FOO=bar\n"
200 "CHROMEOS_RELEASE_TRACK=footrack")); 148 "CHROMEOS_RELEASE_TRACK=footrack"));
201 OmahaRequestParams out; 149 OmahaRequestParams out;
202 EXPECT_TRUE(DoTest(&out, "ForcedVersion", "")); 150 EXPECT_TRUE(DoTest(&out, "ForcedVersion", ""));
203 EXPECT_TRUE(IsValidGuid(out.machine_id)) << "id: " << out.machine_id;
204 // for now we're just using the machine id here
205 EXPECT_TRUE(IsValidGuid(out.user_id)) << "id: " << out.user_id;
206 EXPECT_EQ("Chrome OS", out.os_platform); 151 EXPECT_EQ("Chrome OS", out.os_platform);
207 EXPECT_EQ(string("ForcedVersion_") + GetMachineType(), out.os_sp); 152 EXPECT_EQ(string("ForcedVersion_") + GetMachineType(), out.os_sp);
208 EXPECT_EQ("arm-generic", out.os_board); 153 EXPECT_EQ("arm-generic", out.os_board);
209 EXPECT_EQ("{87efface-864d-49a5-9bb3-4b050a7c227a}", out.app_id); 154 EXPECT_EQ("{87efface-864d-49a5-9bb3-4b050a7c227a}", out.app_id);
210 EXPECT_EQ("ForcedVersion", out.app_version); 155 EXPECT_EQ("ForcedVersion", out.app_version);
211 EXPECT_EQ("en-US", out.app_lang); 156 EXPECT_EQ("en-US", out.app_lang);
212 EXPECT_TRUE(out.delta_okay); 157 EXPECT_TRUE(out.delta_okay);
213 EXPECT_EQ("footrack", out.app_track); 158 EXPECT_EQ("footrack", out.app_track);
214 } 159 }
215 160
216 TEST_F(OmahaRequestDeviceParamsTest, ForcedURLTest) { 161 TEST_F(OmahaRequestDeviceParamsTest, ForcedURLTest) {
217 ASSERT_TRUE(WriteFileString( 162 ASSERT_TRUE(WriteFileString(
218 kTestDir + "/etc/lsb-release", 163 kTestDir + "/etc/lsb-release",
219 "CHROMEOS_RELEASE_BOARD=arm-generic\n" 164 "CHROMEOS_RELEASE_BOARD=arm-generic\n"
220 "CHROMEOS_RELEASE_FOO=bar\n" 165 "CHROMEOS_RELEASE_FOO=bar\n"
221 "CHROMEOS_RELEASE_VERSION=0.2.2.3\n" 166 "CHROMEOS_RELEASE_VERSION=0.2.2.3\n"
222 "CHROMEOS_RELEASE_TRACK=footrack")); 167 "CHROMEOS_RELEASE_TRACK=footrack"));
223 OmahaRequestParams out; 168 OmahaRequestParams out;
224 EXPECT_TRUE(DoTest(&out, "", "http://forced.google.com")); 169 EXPECT_TRUE(DoTest(&out, "", "http://forced.google.com"));
225 EXPECT_TRUE(IsValidGuid(out.machine_id)) << "id: " << out.machine_id;
226 // for now we're just using the machine id here
227 EXPECT_TRUE(IsValidGuid(out.user_id)) << "id: " << out.user_id;
228 EXPECT_EQ("Chrome OS", out.os_platform); 170 EXPECT_EQ("Chrome OS", out.os_platform);
229 EXPECT_EQ(string("0.2.2.3_") + GetMachineType(), out.os_sp); 171 EXPECT_EQ(string("0.2.2.3_") + GetMachineType(), out.os_sp);
230 EXPECT_EQ("arm-generic", out.os_board); 172 EXPECT_EQ("arm-generic", out.os_board);
231 EXPECT_EQ("{87efface-864d-49a5-9bb3-4b050a7c227a}", out.app_id); 173 EXPECT_EQ("{87efface-864d-49a5-9bb3-4b050a7c227a}", out.app_id);
232 EXPECT_EQ("0.2.2.3", out.app_version); 174 EXPECT_EQ("0.2.2.3", out.app_version);
233 EXPECT_EQ("en-US", out.app_lang); 175 EXPECT_EQ("en-US", out.app_lang);
234 EXPECT_TRUE(out.delta_okay); 176 EXPECT_TRUE(out.delta_okay);
235 EXPECT_EQ("footrack", out.app_track); 177 EXPECT_EQ("footrack", out.app_track);
236 EXPECT_EQ("http://forced.google.com", out.update_url); 178 EXPECT_EQ("http://forced.google.com", out.update_url);
237 } 179 }
238 180
239 TEST_F(OmahaRequestDeviceParamsTest, MissingURLTest) { 181 TEST_F(OmahaRequestDeviceParamsTest, MissingURLTest) {
240 ASSERT_TRUE(WriteFileString( 182 ASSERT_TRUE(WriteFileString(
241 kTestDir + "/etc/lsb-release", 183 kTestDir + "/etc/lsb-release",
242 "CHROMEOS_RELEASE_BOARD=arm-generic\n" 184 "CHROMEOS_RELEASE_BOARD=arm-generic\n"
243 "CHROMEOS_RELEASE_FOO=bar\n" 185 "CHROMEOS_RELEASE_FOO=bar\n"
244 "CHROMEOS_RELEASE_VERSION=0.2.2.3\n" 186 "CHROMEOS_RELEASE_VERSION=0.2.2.3\n"
245 "CHROMEOS_RELEASE_TRACK=footrack")); 187 "CHROMEOS_RELEASE_TRACK=footrack"));
246 OmahaRequestParams out; 188 OmahaRequestParams out;
247 EXPECT_TRUE(DoTest(&out, "", "")); 189 EXPECT_TRUE(DoTest(&out, "", ""));
248 EXPECT_TRUE(IsValidGuid(out.machine_id)) << "id: " << out.machine_id;
249 // for now we're just using the machine id here
250 EXPECT_TRUE(IsValidGuid(out.user_id)) << "id: " << out.user_id;
251 EXPECT_EQ("Chrome OS", out.os_platform); 190 EXPECT_EQ("Chrome OS", out.os_platform);
252 EXPECT_EQ(string("0.2.2.3_") + GetMachineType(), out.os_sp); 191 EXPECT_EQ(string("0.2.2.3_") + GetMachineType(), out.os_sp);
253 EXPECT_EQ("arm-generic", out.os_board); 192 EXPECT_EQ("arm-generic", out.os_board);
254 EXPECT_EQ("{87efface-864d-49a5-9bb3-4b050a7c227a}", out.app_id); 193 EXPECT_EQ("{87efface-864d-49a5-9bb3-4b050a7c227a}", out.app_id);
255 EXPECT_EQ("0.2.2.3", out.app_version); 194 EXPECT_EQ("0.2.2.3", out.app_version);
256 EXPECT_EQ("en-US", out.app_lang); 195 EXPECT_EQ("en-US", out.app_lang);
257 EXPECT_TRUE(out.delta_okay); 196 EXPECT_TRUE(out.delta_okay);
258 EXPECT_EQ("footrack", out.app_track); 197 EXPECT_EQ("footrack", out.app_track);
259 EXPECT_EQ(OmahaRequestParams::kUpdateUrl, out.update_url); 198 EXPECT_EQ(OmahaRequestParams::kUpdateUrl, out.update_url);
260 } 199 }
261 200
262 TEST_F(OmahaRequestDeviceParamsTest, NoDeltasTest) { 201 TEST_F(OmahaRequestDeviceParamsTest, NoDeltasTest) {
263 ASSERT_TRUE(WriteFileString( 202 ASSERT_TRUE(WriteFileString(
264 kTestDir + "/etc/lsb-release", 203 kTestDir + "/etc/lsb-release",
265 "CHROMEOS_RELEASE_FOO=CHROMEOS_RELEASE_VERSION=1.2.3.4\n" 204 "CHROMEOS_RELEASE_FOO=CHROMEOS_RELEASE_VERSION=1.2.3.4\n"
266 "CHROMEOS_RELEASE_VERSION=0.2.2.3\n" 205 "CHROMEOS_RELEASE_VERSION=0.2.2.3\n"
267 "CHROMEOS_RELEASE_TRXCK=footrack")); 206 "CHROMEOS_RELEASE_TRXCK=footrack"));
268 ASSERT_TRUE(WriteFileString(kTestDir + "/.nodelta", "")); 207 ASSERT_TRUE(WriteFileString(kTestDir + "/.nodelta", ""));
269 OmahaRequestParams out; 208 OmahaRequestParams out;
270 EXPECT_TRUE(DoTest(&out, "", "")); 209 EXPECT_TRUE(DoTest(&out, "", ""));
271 EXPECT_FALSE(out.delta_okay); 210 EXPECT_FALSE(out.delta_okay);
272 } 211 }
273 212
274 } // namespace chromeos_update_engine 213 } // namespace chromeos_update_engine
OLDNEW
« no previous file with comments | « omaha_request_params.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698